diff --git a/app/assets/javascripts/admin/adapters/web-hook-event.js.es6 b/app/assets/javascripts/admin/adapters/web-hook-event.js.es6 new file mode 100644 index 000000000..122070ce3 --- /dev/null +++ b/app/assets/javascripts/admin/adapters/web-hook-event.js.es6 @@ -0,0 +1,7 @@ +import RESTAdapter from 'discourse/adapters/rest'; + +export default RESTAdapter.extend({ + basePath() { + return '/admin/api/'; + } +}); diff --git a/app/assets/javascripts/admin/adapters/web-hook.js.es6 b/app/assets/javascripts/admin/adapters/web-hook.js.es6 new file mode 100644 index 000000000..122070ce3 --- /dev/null +++ b/app/assets/javascripts/admin/adapters/web-hook.js.es6 @@ -0,0 +1,7 @@ +import RESTAdapter from 'discourse/adapters/rest'; + +export default RESTAdapter.extend({ + basePath() { + return '/admin/api/'; + } +}); diff --git a/app/assets/javascripts/admin/components/admin-web-hook-event.js.es6 b/app/assets/javascripts/admin/components/admin-web-hook-event.js.es6 index 3c27f644b..264e827da 100644 --- a/app/assets/javascripts/admin/components/admin-web-hook-event.js.es6 +++ b/app/assets/javascripts/admin/components/admin-web-hook-event.js.es6 @@ -26,14 +26,14 @@ export default Ember.Component.extend({ @computed('model.duration') completion(duration) { const seconds = Math.floor(duration / 10.0) / 100.0; - return I18n.t('admin.web_hooks.events.completion', { seconds }); + return I18n.t('admin.web_hooks.events.completed_in', { count: seconds }); }, actions: { redeliver() { return bootbox.confirm(I18n.t('admin.web_hooks.events.redeliver_confirm'), I18n.t('no_value'), I18n.t('yes_value'), result => { if (result) { - ajax(`/admin/web_hooks/${this.get('model.web_hook_id')}/events/${this.get('model.id')}/redeliver`, { type: 'POST' }).then(json => { + ajax(`/admin/api/web_hooks/${this.get('model.web_hook_id')}/events/${this.get('model.id')}/redeliver`, { type: 'POST' }).then(json => { this.set('model', json.web_hook_event); }).catch(popupAjaxError); } diff --git a/app/assets/javascripts/admin/controllers/admin-api.js.es6 b/app/assets/javascripts/admin/controllers/admin-api-keys.js.es6 similarity index 100% rename from app/assets/javascripts/admin/controllers/admin-api.js.es6 rename to app/assets/javascripts/admin/controllers/admin-api-keys.js.es6 diff --git a/app/assets/javascripts/admin/controllers/admin-web-hooks-show-events.js.es6 b/app/assets/javascripts/admin/controllers/admin-web-hooks-show-events.js.es6 index 9b4cc91f5..6ef441170 100644 --- a/app/assets/javascripts/admin/controllers/admin-web-hooks-show-events.js.es6 +++ b/app/assets/javascripts/admin/controllers/admin-web-hooks-show-events.js.es6 @@ -1,14 +1,65 @@ import { ajax } from 'discourse/lib/ajax'; import { popupAjaxError } from 'discourse/lib/ajax-error'; +import computed from 'ember-addons/ember-computed-decorators'; export default Ember.Controller.extend({ + pingDisabled: false, + incomingEventIds: [], + incomingCount: Ember.computed.alias("incomingEventIds.length"), + + @computed('incomingCount') + hasIncoming(incomingCount) { + return incomingCount > 0; + }, + + subscribe() { + this.messageBus.subscribe(`/web_hook_events/${this.get('model.extras.web_hook_id')}`, data => { + if (data.event_type === 'ping') { + this.set('pingDisabled', false); + } + this._addIncoming(data.web_hook_event_id); + }); + }, + + unsubscribe() { + this.messageBus.unsubscribe('/web_hook_events/*'); + }, + + _addIncoming(eventId) { + const incomingEventIds = this.get("incomingEventIds"); + + if (incomingEventIds.indexOf(eventId) === -1) { + incomingEventIds.pushObject(eventId); + } + }, + actions: { loadMore() { this.get('model').loadMore(); }, ping() { - ajax(`/admin/web_hooks/${this.get('model.extras.web_hook_id')}/ping`, {type: 'POST'}).catch(popupAjaxError); + this.set('pingDisabled', true); + + ajax(`/admin/api/web_hooks/${this.get('model.extras.web_hook_id')}/ping`, { + type: 'POST' + }).catch(error => { + this.set('pingDisabled', false); + popupAjaxError(error); + }); + }, + + showInserted() { + const webHookId = this.get('model.extras.web_hook_id'); + + ajax(`/admin/api/web_hooks/${webHookId}/events/bulk`, { + type: 'GET', + data: { ids: this.get('incomingEventIds') } + }).then(data => { + const objects = data.map(event => this.store.createRecord('web-hook-event', event)); + this.get("model").unshiftObjects(objects); + this.set("incomingEventIds", []); + }); } } }); diff --git a/app/assets/javascripts/admin/helpers/human-size.js.es6 b/app/assets/javascripts/admin/helpers/human-size.js.es6 index a43897c62..a50cfe581 100644 --- a/app/assets/javascripts/admin/helpers/human-size.js.es6 +++ b/app/assets/javascripts/admin/helpers/human-size.js.es6 @@ -1,3 +1,3 @@ -import { htmlHelper } from 'discourse/lib/helpers'; +import { htmlHelper } from 'discourse-common/lib/helpers'; export default htmlHelper(size => I18n.toHumanSize(size)); diff --git a/app/assets/javascripts/admin/helpers/preserve-newlines.js.es6 b/app/assets/javascripts/admin/helpers/preserve-newlines.js.es6 index 73bac4337..b58e9a552 100644 --- a/app/assets/javascripts/admin/helpers/preserve-newlines.js.es6 +++ b/app/assets/javascripts/admin/helpers/preserve-newlines.js.es6 @@ -1,4 +1,4 @@ -import { htmlHelper } from 'discourse/lib/helpers'; +import { htmlHelper } from 'discourse-common/lib/helpers'; import { escapeExpression } from 'discourse/lib/utilities'; export default htmlHelper(str => escapeExpression(str).replace(/\n/g, "<br>")); diff --git a/app/assets/javascripts/admin/helpers/value-at-tl.js.es6 b/app/assets/javascripts/admin/helpers/value-at-tl.js.es6 index aeac49e83..48d2271ca 100644 --- a/app/assets/javascripts/admin/helpers/value-at-tl.js.es6 +++ b/app/assets/javascripts/admin/helpers/value-at-tl.js.es6 @@ -1,4 +1,4 @@ -import { registerUnbound } from 'discourse/lib/helpers'; +import { registerUnbound } from 'discourse-common/lib/helpers'; registerUnbound('value-at-tl', function(data, params) { var tl = parseInt(params.level, 10); diff --git a/app/assets/javascripts/admin/models/api-key.js.es6 b/app/assets/javascripts/admin/models/api-key.js.es6 index aa05ce834..2a7cf8677 100644 --- a/app/assets/javascripts/admin/models/api-key.js.es6 +++ b/app/assets/javascripts/admin/models/api-key.js.es6 @@ -52,7 +52,7 @@ ApiKey.reopenClass({ @returns {Promise} a promise that resolves to the array of `ApiKey` instances **/ find: function() { - return ajax("/admin/api").then(function(keys) { + return ajax("/admin/api/keys").then(function(keys) { return keys.map(function (key) { return ApiKey.create(key); }); diff --git a/app/assets/javascripts/admin/routes/admin-api-index.js.es6 b/app/assets/javascripts/admin/routes/admin-api-index.js.es6 new file mode 100644 index 000000000..f41f6bb79 --- /dev/null +++ b/app/assets/javascripts/admin/routes/admin-api-index.js.es6 @@ -0,0 +1,5 @@ +export default Ember.Route.extend({ + beforeModel() { + this.transitionTo('adminApiKeys'); + } +}); diff --git a/app/assets/javascripts/admin/routes/admin-api.js.es6 b/app/assets/javascripts/admin/routes/admin-api-keys.js.es6 similarity index 100% rename from app/assets/javascripts/admin/routes/admin-api.js.es6 rename to app/assets/javascripts/admin/routes/admin-api-keys.js.es6 diff --git a/app/assets/javascripts/admin/routes/admin-route-map.js.es6 b/app/assets/javascripts/admin/routes/admin-route-map.js.es6 index df27e2c07..69b51e5ca 100644 --- a/app/assets/javascripts/admin/routes/admin-route-map.js.es6 +++ b/app/assets/javascripts/admin/routes/admin-route-map.js.es6 @@ -35,10 +35,14 @@ export default { this.route('edit', { path: '/:id' }); }); }); - this.route('api'); - this.resource('adminWebHooks', { path: '/web_hooks' }, function() { - this.route('show', { path: '/:web_hook_id' }); - this.route('showEvents', { path: '/:web_hook_id/events' }); + + this.resource('adminApi', { path: '/api' }, function() { + this.resource('adminApiKeys', { path: '/keys' }); + + this.resource('adminWebHooks', { path: '/web_hooks' }, function() { + this.route('show', { path: '/:web_hook_id' }); + this.route('showEvents', { path: '/:web_hook_id/events' }); + }); }); this.resource('admin.backups', { path: '/backups' }, function() { diff --git a/app/assets/javascripts/admin/routes/admin-web-hooks-show-events.js.es6 b/app/assets/javascripts/admin/routes/admin-web-hooks-show-events.js.es6 index ea4e33ac6..c9700db46 100644 --- a/app/assets/javascripts/admin/routes/admin-web-hooks-show-events.js.es6 +++ b/app/assets/javascripts/admin/routes/admin-web-hooks-show-events.js.es6 @@ -5,9 +5,14 @@ export default Discourse.Route.extend({ setupController(controller, model) { controller.set('model', model); + controller.subscribe(); + }, + + deactivate() { + this.controllerFor('adminWebHooks.showEvents').unsubscribe(); }, renderTemplate() { - this.render('admin/templates/web-hooks-show-events', { into: 'admin' }); + this.render('admin/templates/web-hooks-show-events', { into: 'adminApi' }); } }); diff --git a/app/assets/javascripts/admin/routes/admin-web-hooks-show.js.es6 b/app/assets/javascripts/admin/routes/admin-web-hooks-show.js.es6 index 533d7c09f..51b7d55d4 100644 --- a/app/assets/javascripts/admin/routes/admin-web-hooks-show.js.es6 +++ b/app/assets/javascripts/admin/routes/admin-web-hooks-show.js.es6 @@ -21,6 +21,6 @@ export default Discourse.Route.extend({ }, renderTemplate() { - this.render('admin/templates/web-hooks-show', { into: 'admin' }); + this.render('admin/templates/web-hooks-show', { into: 'adminApi' }); } }); diff --git a/app/assets/javascripts/admin/templates/admin.hbs b/app/assets/javascripts/admin/templates/admin.hbs index 05076b740..e29125aec 100644 --- a/app/assets/javascripts/admin/templates/admin.hbs +++ b/app/assets/javascripts/admin/templates/admin.hbs @@ -19,8 +19,7 @@ {{nav-item route='adminLogs' label='admin.logs.title'}} {{#if currentUser.admin}} {{nav-item route='adminCustomize' label='admin.customize.title'}} - {{nav-item route='admin.api' label='admin.api.title'}} - {{nav-item route='adminWebHooks' label='admin.web_hooks.title'}} + {{nav-item route='adminApi' label='admin.api.title'}} {{nav-item route='admin.backups' label='admin.backups.title'}} {{/if}} {{nav-item route='adminPlugins' label='admin.plugins.title'}} diff --git a/app/assets/javascripts/admin/templates/api-keys.hbs b/app/assets/javascripts/admin/templates/api-keys.hbs new file mode 100644 index 000000000..4123e5763 --- /dev/null +++ b/app/assets/javascripts/admin/templates/api-keys.hbs @@ -0,0 +1,34 @@ +{{#if model}} + <table class='api-keys'> + <tr> + <th>{{i18n 'admin.api.key'}}</th> + <th>{{i18n 'admin.api.user'}}</th> + <th> </th> + </tr> + {{#each model as |k|}} + <tr> + <td class='key'>{{k.key}}</td> + <td> + {{#if k.user}} + {{#link-to 'adminUser' k.user}} + {{avatar k.user imageSize="small"}} + {{/link-to}} + {{else}} + {{i18n 'admin.api.all_users'}} + {{/if}} + </td> + <td> + {{d-button action="regenerateKey" actionParam=k icon="undo" label='admin.api.regenerate'}} + {{d-button action="revokeKey" actionParam=k icon="times" label='admin.api.revoke'}} + </td> + </tr> + {{/each}} + </table> +{{else}} + <p>{{i18n 'admin.api.none'}}</p> +{{/if}} + +{{#unless hasMasterKey}} + <button class='btn' {{action "generateMasterKey"}}><i class="fa fa-key"></i>{{i18n 'admin.api.generate_master'}}</button> +{{/unless }} + diff --git a/app/assets/javascripts/admin/templates/api.hbs b/app/assets/javascripts/admin/templates/api.hbs index 0f2e65b89..f3407fe0c 100644 --- a/app/assets/javascripts/admin/templates/api.hbs +++ b/app/assets/javascripts/admin/templates/api.hbs @@ -1,33 +1,10 @@ -{{#if model}} - <table class='api-keys'> - <tr> - <th>{{i18n 'admin.api.key'}}</th> - <th>{{i18n 'admin.api.user'}}</th> - <th> </th> - </tr> - {{#each model as |k|}} - <tr> - <td class='key'>{{k.key}}</td> - <td> - {{#if k.user}} - {{#link-to 'adminUser' k.user}} - {{avatar k.user imageSize="small"}} - {{/link-to}} - {{else}} - {{i18n 'admin.api.all_users'}} - {{/if}} - </td> - <td> - <button class='btn' {{action "regenerateKey" k}}><i class="fa fa-undo"></i>{{i18n 'admin.api.regenerate'}}</button> - <button class='btn' {{action "revokeKey" k}}><i class="fa fa-times"></i>{{i18n 'admin.api.revoke'}}</button> - </td> - </tr> - {{/each}} - </table> -{{else}} - <p>{{i18n 'admin.api.none'}}</p> -{{/if}} +<div class="api"> + {{#admin-nav}} + {{nav-item route='adminApiKeys' label='admin.api.title'}} + {{nav-item route='adminWebHooks' label='admin.web_hooks.title'}} + {{/admin-nav}} -{{#unless hasMasterKey}} - <button class='btn' {{action "generateMasterKey"}}><i class="fa fa-key"></i>{{i18n 'admin.api.generate_master'}}</button> -{{/unless }} + <div class="admin-container"> + {{outlet}} + </div> +</div> diff --git a/app/assets/javascripts/admin/templates/components/admin-web-hook-event.hbs b/app/assets/javascripts/admin/templates/components/admin-web-hook-event.hbs index be4252c42..026b6daae 100644 --- a/app/assets/javascripts/admin/templates/components/admin-web-hook-event.hbs +++ b/app/assets/javascripts/admin/templates/components/admin-web-hook-event.hbs @@ -1,4 +1,4 @@ -<div class="col first"> +<div class="col first status"> <span class="{{statusColorClasses}}">{{model.status}}</span> </div> <div class="col event-id">{{model.id}}</div> diff --git a/app/assets/javascripts/admin/templates/group.hbs b/app/assets/javascripts/admin/templates/group.hbs index 1e7a90828..6dfd5f6a5 100644 --- a/app/assets/javascripts/admin/templates/group.hbs +++ b/app/assets/javascripts/admin/templates/group.hbs @@ -119,6 +119,11 @@ {{text-field name="flair_color" class="flair_color" value=model.flair_color placeholderKey="admin.groups.flair_color_placeholder"}} </div> {{/if}} + + <br/> + <div> + <strong>{{i18n 'admin.groups.flair_note'}}</strong> + </div> </div> {{#if flairPreviewIcon}} diff --git a/app/assets/javascripts/admin/templates/web-hooks-show-events.hbs b/app/assets/javascripts/admin/templates/web-hooks-show-events.hbs index 7cfb1bd79..f3b8825e5 100644 --- a/app/assets/javascripts/admin/templates/web-hooks-show-events.hbs +++ b/app/assets/javascripts/admin/templates/web-hooks-show-events.hbs @@ -2,7 +2,7 @@ {{#link-to 'adminWebHooks' tagName='button' classNames='btn'}} {{fa-icon 'list'}} {{i18n 'admin.web_hooks.events.go_list'}} {{/link-to}} - {{d-button icon="send" label="admin.web_hooks.events.ping" action="ping"}} + {{d-button icon="send" label="admin.web_hooks.events.ping" action="ping" disabled=pingDisabled}} {{#link-to 'adminWebHooks.show' model.extras.web_hook_id tagName='button' classNames='btn'}} {{fa-icon 'edit'}} {{i18n 'admin.web_hooks.events.go_details'}} {{/link-to}} @@ -12,6 +12,20 @@ {{#if model}} {{#load-more selector=".web-hook-events li" action="loadMore"}} <div class='web-hook-events content-list'> + <div class='heading-container'> + <div class='col heading first status'>{{i18n 'admin.web_hooks.events.status'}}</div> + <div class='col heading event-id'>{{i18n 'admin.web_hooks.events.event_id'}}</div> + <div class='col heading timestamp'>{{i18n 'admin.web_hooks.events.timestamp'}}</div> + <div class='col heading completion'>{{i18n 'admin.web_hooks.events.completion'}}</div> + <div class='col heading actions'>{{i18n 'admin.web_hooks.events.actions'}}</div> + <div class='clearfix'></div> + </div> + {{#if hasIncoming}} + <div class='alert alert-info clickable' {{action "showInserted"}}> + {{count-i18n key="admin.web_hooks.events.incoming" count=incomingCount}} + {{i18n 'click_to_show'}} + </div> + {{/if}} <ul> {{#each model as |webHookEvent|}} {{admin-web-hook-event model=webHookEvent}} diff --git a/app/assets/javascripts/discourse/components/combo-box.js.es6 b/app/assets/javascripts/discourse-common/components/combo-box.js.es6 similarity index 94% rename from app/assets/javascripts/discourse/components/combo-box.js.es6 rename to app/assets/javascripts/discourse-common/components/combo-box.js.es6 index 5caf1adea..ce222e211 100644 --- a/app/assets/javascripts/discourse/components/combo-box.js.es6 +++ b/app/assets/javascripts/discourse-common/components/combo-box.js.es6 @@ -64,10 +64,11 @@ export default Ember.Component.extend({ } const $elem = this.$(); - const minimumResultsForSearch = this.capabilities.isIOS ? -1 : 5; + const caps = this.capabilities; + const minimumResultsForSearch = (caps && caps.isIOS) ? -1 : 5; $elem.select2({ formatResult: this.comboTemplate, minimumResultsForSearch, - width: 'resolve', + width: this.get('width') || 'resolve', allowClear: true }); diff --git a/app/assets/javascripts/discourse-common/helpers/bound-i18n.js.es6 b/app/assets/javascripts/discourse-common/helpers/bound-i18n.js.es6 new file mode 100644 index 000000000..d507efd5e --- /dev/null +++ b/app/assets/javascripts/discourse-common/helpers/bound-i18n.js.es6 @@ -0,0 +1,3 @@ +import { htmlHelper } from 'discourse-common/lib/helpers'; + +export default htmlHelper((key, params) => I18n.t(key, params.hash)); diff --git a/app/assets/javascripts/discourse/helpers/fa-icon.js.es6 b/app/assets/javascripts/discourse-common/helpers/fa-icon.js.es6 similarity index 54% rename from app/assets/javascripts/discourse/helpers/fa-icon.js.es6 rename to app/assets/javascripts/discourse-common/helpers/fa-icon.js.es6 index 043c6a50e..3c1f8b9b5 100644 --- a/app/assets/javascripts/discourse/helpers/fa-icon.js.es6 +++ b/app/assets/javascripts/discourse-common/helpers/fa-icon.js.es6 @@ -1,8 +1,7 @@ -import { h } from 'virtual-dom'; -import { registerUnbound } from 'discourse/lib/helpers'; +import { registerUnbound } from 'discourse-common/lib/helpers'; -function iconClasses(icon, params) { - var classes = "fa fa-" + icon; +export function iconClasses(icon, params) { + let classes = "fa fa-" + icon; if (params.modifier) { classes += " fa-" + params.modifier; } if (params['class']) { classes += ' ' + params['class']; } return classes; @@ -21,23 +20,6 @@ export function iconHTML(icon, params) { return html; } -export function iconNode(icon, params) { - params = params || {}; - - const properties = { - className: iconClasses(icon, params), - attributes: { "aria-hidden": true } - }; - - if (params.title) { properties.attributes.title = params.title; } - - if (params.label) { - return h('i', properties, h('span.sr-only', I18n.t(params.label))); - } else { - return h('i', properties); - } -} - registerUnbound('fa-icon', function(icon, params) { return new Handlebars.SafeString(iconHTML(icon, params)); }); diff --git a/app/assets/javascripts/discourse-common/helpers/i18n.js.es6 b/app/assets/javascripts/discourse-common/helpers/i18n.js.es6 new file mode 100644 index 000000000..455cc65a3 --- /dev/null +++ b/app/assets/javascripts/discourse-common/helpers/i18n.js.es6 @@ -0,0 +1,3 @@ +import { registerUnbound } from 'discourse-common/lib/helpers'; + +registerUnbound('i18n', (key, params) => I18n.t(key, params)); diff --git a/app/assets/javascripts/discourse/lib/helpers.js.es6 b/app/assets/javascripts/discourse-common/lib/helpers.js.es6 similarity index 96% rename from app/assets/javascripts/discourse/lib/helpers.js.es6 rename to app/assets/javascripts/discourse-common/lib/helpers.js.es6 index 9eccf5651..45c065124 100644 --- a/app/assets/javascripts/discourse/lib/helpers.js.es6 +++ b/app/assets/javascripts/discourse-common/lib/helpers.js.es6 @@ -1,4 +1,4 @@ -import { get } from 'discourse/lib/raw-handlebars'; +import { get } from 'discourse-common/lib/raw-handlebars'; // `Ember.Helper` is only available in versions after 1.12 export function htmlHelper(fn) { diff --git a/app/assets/javascripts/discourse/lib/raw-handlebars.js.es6 b/app/assets/javascripts/discourse-common/lib/raw-handlebars.js.es6 similarity index 100% rename from app/assets/javascripts/discourse/lib/raw-handlebars.js.es6 rename to app/assets/javascripts/discourse-common/lib/raw-handlebars.js.es6 diff --git a/app/assets/javascripts/discourse-common/resolver.js.es6 b/app/assets/javascripts/discourse-common/resolver.js.es6 new file mode 100644 index 000000000..fdf1a1abe --- /dev/null +++ b/app/assets/javascripts/discourse-common/resolver.js.es6 @@ -0,0 +1,218 @@ +/* global requirejs, require */ + +var classify = Ember.String.classify; +var get = Ember.get; + +var LOADING_WHITELIST = ['badges', 'userActivity', 'userPrivateMessages', 'admin', 'adminFlags', + 'user', 'preferences', 'adminEmail', 'adminUsersList']; +var _dummyRoute; +var _loadingView; + +function loadingResolver(cb) { + return function(parsedName) { + var fullNameWithoutType = parsedName.fullNameWithoutType; + + if (fullNameWithoutType.indexOf('Loading') >= 0) { + fullNameWithoutType = fullNameWithoutType.replace('Loading', ''); + if (LOADING_WHITELIST.indexOf(fullNameWithoutType) !== -1) { + return cb(fullNameWithoutType); + } + } + }; +} + +function parseName(fullName) { + const nameParts = fullName.split(":"), + type = nameParts[0], fullNameWithoutType = nameParts[1], + name = fullNameWithoutType, + namespace = get(this, 'namespace'), + root = namespace; + + return { + fullName: fullName, + type: type, + fullNameWithoutType: fullNameWithoutType, + name: name, + root: root, + resolveMethodName: "resolve" + classify(type) + }; +} + +export function buildResolver(baseName) { + return Ember.DefaultResolver.extend({ + parseName, + + resolveRouter(parsedName) { + const routerPath = `${baseName}/router`; + if (requirejs.entries[routerPath]) { + const module = require(routerPath, null, null, true); + return module.default; + } + return this._super(parsedName); + }, + + normalize(fullName) { + const split = fullName.split(':'); + if (split.length > 1) { + const appBase = `${baseName}/${split[0]}s/`; + const adminBase = 'admin/' + split[0] + 's/'; + + // Allow render 'admin/templates/xyz' too + split[1] = split[1].replace('.templates', '').replace('/templates', ''); + + // Try slashes + let dashed = Ember.String.dasherize(split[1].replace(/\./g, '/')); + if (requirejs.entries[appBase + dashed] || requirejs.entries[adminBase + dashed]) { + return split[0] + ":" + dashed; + } + + // Try with dashes instead of slashes + dashed = Ember.String.dasherize(split[1].replace(/\./g, '-')); + if (requirejs.entries[appBase + dashed] || requirejs.entries[adminBase + dashed]) { + return split[0] + ":" + dashed; + } + } + return this._super(fullName); + }, + + customResolve(parsedName) { + // If we end with the name we want, use it. This allows us to define components within plugins. + const suffix = parsedName.type + 's/' + parsedName.fullNameWithoutType, + dashed = Ember.String.dasherize(suffix), + moduleName = Object.keys(requirejs.entries).find(function(e) { + return (e.indexOf(suffix, e.length - suffix.length) !== -1) || + (e.indexOf(dashed, e.length - dashed.length) !== -1); + }); + + var module; + if (moduleName) { + module = require(moduleName, null, null, true /* force sync */); + if (module && module['default']) { module = module['default']; } + } + return module; + }, + + resolveWidget(parsedName) { + return this.customResolve(parsedName) || this._super(parsedName); + }, + + resolveAdapter(parsedName) { + return this.customResolve(parsedName) || this._super(parsedName); + }, + + resolveModel(parsedName) { + return this.customResolve(parsedName) || this._super(parsedName); + }, + + resolveView(parsedName) { + return this.findLoadingView(parsedName) || this.customResolve(parsedName) || this._super(parsedName); + }, + + resolveHelper(parsedName) { + return this.customResolve(parsedName) || this._super(parsedName); + }, + + resolveController(parsedName) { + return this.customResolve(parsedName) || this._super(parsedName); + }, + + resolveComponent(parsedName) { + return this.customResolve(parsedName) || this._super(parsedName); + }, + + resolveRoute(parsedName) { + return this.findLoadingRoute(parsedName) || this.customResolve(parsedName) || this._super(parsedName); + }, + + resolveTemplate(parsedName) { + return this.findPluginMobileTemplate(parsedName) || + this.findPluginTemplate(parsedName) || + this.findMobileTemplate(parsedName) || + this.findTemplate(parsedName) || + Ember.TEMPLATES.not_found; + }, + + findLoadingRoute: loadingResolver(function() { + _dummyRoute = _dummyRoute || Ember.Route.extend(); + return _dummyRoute; + }), + + findLoadingView: loadingResolver(function() { + if (!_loadingView) { + _loadingView = require('discourse/views/loading', null, null, true /* force sync */); + if (_loadingView && _loadingView['default']) { _loadingView = _loadingView['default']; } + } + return _loadingView; + }), + + findPluginTemplate(parsedName) { + var pluginParsedName = this.parseName(parsedName.fullName.replace("template:", "template:javascripts/")); + return this.findTemplate(pluginParsedName); + }, + + findPluginMobileTemplate(parsedName) { + if (this.mobileView) { + var pluginParsedName = this.parseName(parsedName.fullName.replace("template:", "template:javascripts/mobile/")); + return this.findTemplate(pluginParsedName); + } + }, + + findMobileTemplate(parsedName) { + if (this.mobileView) { + var mobileParsedName = this.parseName(parsedName.fullName.replace("template:", "template:mobile/")); + return this.findTemplate(mobileParsedName); + } + }, + + findTemplate(parsedName) { + const withoutType = parsedName.fullNameWithoutType, + slashedType = withoutType.replace(/\./g, '/'), + decamelized = withoutType.decamelize(), + dashed = decamelized.replace(/\./g, '-').replace(/\_/g, '-'), + templates = Ember.TEMPLATES; + + return this._super(parsedName) || + templates[slashedType] || + templates[withoutType] || + templates[dashed] || + templates[decamelized.replace(/\./, '/')] || + templates[decamelized.replace(/\_/, '/')] || + templates[`${baseName}/templates/${withoutType}`] || + this.findAdminTemplate(parsedName) || + this.findUnderscoredTemplate(parsedName); + }, + + findUnderscoredTemplate(parsedName) { + var decamelized = parsedName.fullNameWithoutType.decamelize(); + var underscored = decamelized.replace(/\-/g, "_"); + return Ember.TEMPLATES[underscored]; + }, + + // Try to find a template within a special admin namespace, e.g. adminEmail => admin/templates/email + // (similar to how discourse lays out templates) + findAdminTemplate(parsedName) { + var decamelized = parsedName.fullNameWithoutType.decamelize(); + + if (decamelized.indexOf('components') === 0) { + const compTemplate = Ember.TEMPLATES['admin/templates/' + decamelized]; + if (compTemplate) { return compTemplate; } + } + + if (decamelized === "javascripts/admin") { + return Ember.TEMPLATES['admin/templates/admin']; + } + + if (decamelized.indexOf('admin') === 0 || decamelized.indexOf('javascripts/admin') === 0) { + decamelized = decamelized.replace(/^admin\_/, 'admin/templates/'); + decamelized = decamelized.replace(/^admin\./, 'admin/templates/'); + decamelized = decamelized.replace(/\./g, '_'); + + const dashed = decamelized.replace(/_/g, '-'); + return Ember.TEMPLATES[decamelized] || + Ember.TEMPLATES[dashed] || + Ember.TEMPLATES[dashed.replace('admin-', 'admin/')]; + } + } + + }); +} diff --git a/app/assets/javascripts/discourse-objects.js b/app/assets/javascripts/discourse-objects.js new file mode 100644 index 000000000..d55626ef0 --- /dev/null +++ b/app/assets/javascripts/discourse-objects.js @@ -0,0 +1,2 @@ +window.Discourse = {}; +Discourse.SiteSettings = {}; diff --git a/app/assets/javascripts/discourse.js.es6 b/app/assets/javascripts/discourse.js.es6 index 23c233c7c..523b0ee22 100644 --- a/app/assets/javascripts/discourse.js.es6 +++ b/app/assets/javascripts/discourse.js.es6 @@ -1,4 +1,4 @@ -import DiscourseResolver from 'discourse/ember/resolver'; +import { buildResolver } from 'discourse-common/resolver'; import { default as computed, observes } from 'ember-addons/ember-computed-decorators'; const _pluginCallbacks = []; @@ -31,7 +31,7 @@ const Discourse = Ember.Application.extend({ return url; }, - Resolver: DiscourseResolver, + Resolver: buildResolver('discourse'), @observes('_docTitle', 'hasFocus', 'notifyCount') _titleChanged() { diff --git a/app/assets/javascripts/discourse/components/categories-admin-dropdown.js.es6 b/app/assets/javascripts/discourse/components/categories-admin-dropdown.js.es6 index b2fea03ff..8dbb4d342 100644 --- a/app/assets/javascripts/discourse/components/categories-admin-dropdown.js.es6 +++ b/app/assets/javascripts/discourse/components/categories-admin-dropdown.js.es6 @@ -1,4 +1,4 @@ -import { iconHTML } from 'discourse/helpers/fa-icon'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; import DropdownButton from 'discourse/components/dropdown-button'; import computed from "ember-addons/ember-computed-decorators"; diff --git a/app/assets/javascripts/discourse/components/category-chooser.js.es6 b/app/assets/javascripts/discourse/components/category-chooser.js.es6 index ddc8aad2b..42fe4412e 100644 --- a/app/assets/javascripts/discourse/components/category-chooser.js.es6 +++ b/app/assets/javascripts/discourse/components/category-chooser.js.es6 @@ -1,4 +1,4 @@ -import ComboboxView from 'discourse/components/combo-box'; +import ComboboxView from 'discourse-common/components/combo-box'; import { categoryBadgeHTML } from 'discourse/helpers/category-link'; import computed from 'ember-addons/ember-computed-decorators'; import { observes, on } from 'ember-addons/ember-computed-decorators'; diff --git a/app/assets/javascripts/discourse/components/category-logo-link.js.es6 b/app/assets/javascripts/discourse/components/category-logo-link.js.es6 deleted file mode 100644 index d9f9ca235..000000000 --- a/app/assets/javascripts/discourse/components/category-logo-link.js.es6 +++ /dev/null @@ -1,12 +0,0 @@ -export default Em.Component.extend({ - tagName: 'a', - attributeBindings: ['href'], - href: function() { - return Discourse.getURL('/c/') + Discourse.Category.slugFor(this.get('category')); - }.property(), - - render(buffer) { - const categoryLogo = this.get('category.logo_url'); - buffer.push(`<img class="category-logo" src='${categoryLogo}'/>`); - } -}); \ No newline at end of file diff --git a/app/assets/javascripts/discourse/components/category-title-link.js.es6 b/app/assets/javascripts/discourse/components/category-title-link.js.es6 index bc30157ca..5339579de 100644 --- a/app/assets/javascripts/discourse/components/category-title-link.js.es6 +++ b/app/assets/javascripts/discourse/components/category-title-link.js.es6 @@ -1,17 +1,10 @@ -import { iconHTML } from 'discourse/helpers/fa-icon'; +import computed from 'ember-addons/ember-computed-decorators'; export default Em.Component.extend({ tagName: 'h3', - render(buffer) { - const category = this.get('category'); - const categoryUrl = Discourse.getURL('/c/') + Discourse.Category.slugFor(category); - const categoryName = Handlebars.Utils.escapeExpression(category.get('name')); - - if (category.get('read_restricted')) { buffer.push(iconHTML('lock')); } - - buffer.push(`<a href='${categoryUrl}'>`); - buffer.push(`<span class='category-name'>${categoryName}</span>`); - buffer.push(`</a>`); + @computed("category.name") + categoryName(name) { + return Handlebars.Utils.escapeExpression(name); } }); diff --git a/app/assets/javascripts/discourse/components/create-topics-notice.js.es6 b/app/assets/javascripts/discourse/components/create-topics-notice.js.es6 index fd4e09bf4..5a7aaf1a7 100644 --- a/app/assets/javascripts/discourse/components/create-topics-notice.js.es6 +++ b/app/assets/javascripts/discourse/components/create-topics-notice.js.es6 @@ -36,7 +36,10 @@ export default Ember.Component.extend({ @computed() shouldSee() { - return Discourse.User.currentProp('admin') && this.siteSettings.show_create_topics_notice; + const user = this.currentUser; + return user && user.get('admin') && + this.siteSettings.show_create_topics_notice && + !this.site.get('wizard_required'); }, @computed('enabled', 'shouldSee', 'publicTopicCount', 'publicPostCount') diff --git a/app/assets/javascripts/discourse/components/d-button.js.es6 b/app/assets/javascripts/discourse/components/d-button.js.es6 index 7737a995b..66e393ba7 100644 --- a/app/assets/javascripts/discourse/components/d-button.js.es6 +++ b/app/assets/javascripts/discourse/components/d-button.js.es6 @@ -1,4 +1,4 @@ -import { iconHTML } from 'discourse/helpers/fa-icon'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; import { default as computed, observes } from 'ember-addons/ember-computed-decorators'; export default Ember.Component.extend({ diff --git a/app/assets/javascripts/discourse/components/d-link.js.es6 b/app/assets/javascripts/discourse/components/d-link.js.es6 index 54b1486a0..1c94bdc82 100644 --- a/app/assets/javascripts/discourse/components/d-link.js.es6 +++ b/app/assets/javascripts/discourse/components/d-link.js.es6 @@ -1,5 +1,5 @@ import computed from 'ember-addons/ember-computed-decorators'; -import { iconHTML } from 'discourse/helpers/fa-icon'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; import interceptClick from 'discourse/lib/intercept-click'; export default Ember.Component.extend({ diff --git a/app/assets/javascripts/discourse/components/directory-toggle.js.es6 b/app/assets/javascripts/discourse/components/directory-toggle.js.es6 index f0e0192e1..168db163c 100644 --- a/app/assets/javascripts/discourse/components/directory-toggle.js.es6 +++ b/app/assets/javascripts/discourse/components/directory-toggle.js.es6 @@ -1,5 +1,5 @@ import StringBuffer from 'discourse/mixins/string-buffer'; -import { iconHTML } from 'discourse/helpers/fa-icon'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; export default Ember.Component.extend(StringBuffer, { tagName: 'th', diff --git a/app/assets/javascripts/discourse/components/global-notice.js.es6 b/app/assets/javascripts/discourse/components/global-notice.js.es6 index 13994f28f..50132cf5c 100644 --- a/app/assets/javascripts/discourse/components/global-notice.js.es6 +++ b/app/assets/javascripts/discourse/components/global-notice.js.es6 @@ -1,6 +1,6 @@ import { on } from 'ember-addons/ember-computed-decorators'; import StringBuffer from 'discourse/mixins/string-buffer'; -import { iconHTML } from 'discourse/helpers/fa-icon'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; import LogsNotice from 'discourse/services/logs-notice'; export default Ember.Component.extend(StringBuffer, { @@ -17,6 +17,10 @@ export default Ember.Component.extend(StringBuffer, { notices.push([I18n.t("emails_are_disabled"), 'alert-emails-disabled']); } + if (this.site.get('wizard_required')) { + notices.push([I18n.t('wizard_required'), 'alert-wizard']); + } + if (this.currentUser && this.currentUser.get('staff') && this.siteSettings.bootstrap_mode_enabled) { if (this.siteSettings.bootstrap_mode_min_users > 0) { notices.push([I18n.t("bootstrap_mode_enabled", {min_users: this.siteSettings.bootstrap_mode_min_users}), 'alert-bootstrap-mode']); diff --git a/app/assets/javascripts/discourse/components/input-tip.js.es6 b/app/assets/javascripts/discourse/components/input-tip.js.es6 index 2ba1c074c..cb1bad446 100644 --- a/app/assets/javascripts/discourse/components/input-tip.js.es6 +++ b/app/assets/javascripts/discourse/components/input-tip.js.es6 @@ -1,5 +1,5 @@ import StringBuffer from 'discourse/mixins/string-buffer'; -import { iconHTML } from 'discourse/helpers/fa-icon'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; export default Ember.Component.extend(StringBuffer, { classNameBindings: [':tip', 'good', 'bad'], diff --git a/app/assets/javascripts/discourse/components/notifications-button.js.es6 b/app/assets/javascripts/discourse/components/notifications-button.js.es6 index 8a3ffda21..2695cfc91 100644 --- a/app/assets/javascripts/discourse/components/notifications-button.js.es6 +++ b/app/assets/javascripts/discourse/components/notifications-button.js.es6 @@ -1,6 +1,6 @@ import DropdownButton from 'discourse/components/dropdown-button'; import { allLevels, buttonDetails } from 'discourse/lib/notification-levels'; -import { iconHTML } from 'discourse/helpers/fa-icon'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; import computed from 'ember-addons/ember-computed-decorators'; export default DropdownButton.extend({ diff --git a/app/assets/javascripts/discourse/components/popup-input-tip.js.es6 b/app/assets/javascripts/discourse/components/popup-input-tip.js.es6 index c63997674..2c164ddf5 100644 --- a/app/assets/javascripts/discourse/components/popup-input-tip.js.es6 +++ b/app/assets/javascripts/discourse/components/popup-input-tip.js.es6 @@ -1,5 +1,5 @@ import StringBuffer from 'discourse/mixins/string-buffer'; -import { iconHTML } from 'discourse/helpers/fa-icon'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; import { default as computed, observes } from 'ember-addons/ember-computed-decorators'; export default Ember.Component.extend(StringBuffer, { diff --git a/app/assets/javascripts/discourse/components/tags-admin-dropdown.js.es6 b/app/assets/javascripts/discourse/components/tags-admin-dropdown.js.es6 index c90efb35f..6d1c7ae7b 100644 --- a/app/assets/javascripts/discourse/components/tags-admin-dropdown.js.es6 +++ b/app/assets/javascripts/discourse/components/tags-admin-dropdown.js.es6 @@ -1,4 +1,4 @@ -import { iconHTML } from 'discourse/helpers/fa-icon'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; import DropdownButton from 'discourse/components/dropdown-button'; import computed from "ember-addons/ember-computed-decorators"; diff --git a/app/assets/javascripts/discourse/components/topic-footer-mobile-dropdown.js.es6 b/app/assets/javascripts/discourse/components/topic-footer-mobile-dropdown.js.es6 index bd7ce01b1..413085aef 100644 --- a/app/assets/javascripts/discourse/components/topic-footer-mobile-dropdown.js.es6 +++ b/app/assets/javascripts/discourse/components/topic-footer-mobile-dropdown.js.es6 @@ -1,5 +1,5 @@ -import { iconHTML } from 'discourse/helpers/fa-icon'; -import Combobox from 'discourse/components/combo-box'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; +import Combobox from 'discourse-common/components/combo-box'; import { on, observes } from 'ember-addons/ember-computed-decorators'; export default Combobox.extend({ diff --git a/app/assets/javascripts/discourse/components/topic-status.js.es6 b/app/assets/javascripts/discourse/components/topic-status.js.es6 index e8fc527cc..2fa076736 100644 --- a/app/assets/javascripts/discourse/components/topic-status.js.es6 +++ b/app/assets/javascripts/discourse/components/topic-status.js.es6 @@ -1,4 +1,4 @@ -import { iconHTML } from 'discourse/helpers/fa-icon'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; import StringBuffer from 'discourse/mixins/string-buffer'; import { escapeExpression } from 'discourse/lib/utilities'; diff --git a/app/assets/javascripts/discourse/controllers/login.js.es6 b/app/assets/javascripts/discourse/controllers/login.js.es6 index 611a90045..8909993cc 100644 --- a/app/assets/javascripts/discourse/controllers/login.js.es6 +++ b/app/assets/javascripts/discourse/controllers/login.js.es6 @@ -130,7 +130,7 @@ export default Ember.Controller.extend(ModalFunctionality, { if(customLogin){ customLogin(); } else { - const authUrl = loginMethod.get('customUrl') || Discourse.getURL("/auth/" + name); + let authUrl = loginMethod.get('customUrl') || Discourse.getURL("/auth/" + name); if (loginMethod.get("fullScreenLogin")) { document.cookie = "fsl=true"; window.location = authUrl; @@ -141,6 +141,11 @@ export default Ember.Controller.extend(ModalFunctionality, { const height = loginMethod.get("frameHeight") || 400; const width = loginMethod.get("frameWidth") || 800; + + if (loginMethod.get("displayPopup")) { + authUrl = authUrl + "?display=popup"; + } + const w = window.open(authUrl, "_blank", "menubar=no,status=no,height=" + height + ",width=" + width + ",left=" + left + ",top=" + top); const self = this; diff --git a/app/assets/javascripts/discourse/ember/resolver.js.es6 b/app/assets/javascripts/discourse/ember/resolver.js.es6 deleted file mode 100644 index 7e59a326b..000000000 --- a/app/assets/javascripts/discourse/ember/resolver.js.es6 +++ /dev/null @@ -1,206 +0,0 @@ -/* global requirejs, require */ - -var classify = Ember.String.classify; -var get = Ember.get; - -var LOADING_WHITELIST = ['badges', 'userActivity', 'userPrivateMessages', 'admin', 'adminFlags', - 'user', 'preferences', 'adminEmail', 'adminUsersList']; -var _dummyRoute; -var _loadingView; - -function loadingResolver(cb) { - return function(parsedName) { - var fullNameWithoutType = parsedName.fullNameWithoutType; - - if (fullNameWithoutType.indexOf('Loading') >= 0) { - fullNameWithoutType = fullNameWithoutType.replace('Loading', ''); - if (LOADING_WHITELIST.indexOf(fullNameWithoutType) !== -1) { - return cb(fullNameWithoutType); - } - } - }; -} - -function parseName(fullName) { - const nameParts = fullName.split(":"), - type = nameParts[0], fullNameWithoutType = nameParts[1], - name = fullNameWithoutType, - namespace = get(this, 'namespace'), - root = namespace; - - return { - fullName: fullName, - type: type, - fullNameWithoutType: fullNameWithoutType, - name: name, - root: root, - resolveMethodName: "resolve" + classify(type) - }; -} - -export default Ember.DefaultResolver.extend({ - parseName: parseName, - - normalize(fullName) { - var split = fullName.split(':'); - if (split.length > 1) { - var discourseBase = 'discourse/' + split[0] + 's/'; - var adminBase = 'admin/' + split[0] + 's/'; - - // Allow render 'admin/templates/xyz' too - split[1] = split[1].replace('.templates', '').replace('/templates', ''); - - // Try slashes - var dashed = Ember.String.dasherize(split[1].replace(/\./g, '/')); - if (requirejs.entries[discourseBase + dashed] || requirejs.entries[adminBase + dashed]) { - return split[0] + ":" + dashed; - } - - // Try with dashes instead of slashes - dashed = Ember.String.dasherize(split[1].replace(/\./g, '-')); - if (requirejs.entries[discourseBase + dashed] || requirejs.entries[adminBase + dashed]) { - return split[0] + ":" + dashed; - } - } - return this._super(fullName); - }, - - customResolve(parsedName) { - // If we end with the name we want, use it. This allows us to define components within plugins. - const suffix = parsedName.type + 's/' + parsedName.fullNameWithoutType, - dashed = Ember.String.dasherize(suffix), - moduleName = Object.keys(requirejs.entries).find(function(e) { - return (e.indexOf(suffix, e.length - suffix.length) !== -1) || - (e.indexOf(dashed, e.length - dashed.length) !== -1); - }); - - var module; - if (moduleName) { - module = require(moduleName, null, null, true /* force sync */); - if (module && module['default']) { module = module['default']; } - } - return module; - }, - - resolveWidget(parsedName) { - return this.customResolve(parsedName) || this._super(parsedName); - }, - - resolveAdapter(parsedName) { - return this.customResolve(parsedName) || this._super(parsedName); - }, - - resolveModel(parsedName) { - return this.customResolve(parsedName) || this._super(parsedName); - }, - - resolveView(parsedName) { - return this.findLoadingView(parsedName) || this.customResolve(parsedName) || this._super(parsedName); - }, - - resolveHelper(parsedName) { - return this.customResolve(parsedName) || this._super(parsedName); - }, - - resolveController(parsedName) { - return this.customResolve(parsedName) || this._super(parsedName); - }, - - resolveComponent(parsedName) { - return this.customResolve(parsedName) || this._super(parsedName); - }, - - resolveRoute(parsedName) { - return this.findLoadingRoute(parsedName) || this.customResolve(parsedName) || this._super(parsedName); - }, - - resolveTemplate(parsedName) { - return this.findPluginMobileTemplate(parsedName) || - this.findPluginTemplate(parsedName) || - this.findMobileTemplate(parsedName) || - this.findTemplate(parsedName) || - Ember.TEMPLATES.not_found; - }, - - findLoadingRoute: loadingResolver(function() { - _dummyRoute = _dummyRoute || Ember.Route.extend(); - return _dummyRoute; - }), - - findLoadingView: loadingResolver(function() { - if (!_loadingView) { - _loadingView = require('discourse/views/loading', null, null, true /* force sync */); - if (_loadingView && _loadingView['default']) { _loadingView = _loadingView['default']; } - } - return _loadingView; - }), - - findPluginTemplate(parsedName) { - var pluginParsedName = this.parseName(parsedName.fullName.replace("template:", "template:javascripts/")); - return this.findTemplate(pluginParsedName); - }, - - findPluginMobileTemplate(parsedName) { - if (this.mobileView) { - var pluginParsedName = this.parseName(parsedName.fullName.replace("template:", "template:javascripts/mobile/")); - return this.findTemplate(pluginParsedName); - } - }, - - findMobileTemplate(parsedName) { - if (this.mobileView) { - var mobileParsedName = this.parseName(parsedName.fullName.replace("template:", "template:mobile/")); - return this.findTemplate(mobileParsedName); - } - }, - - findTemplate(parsedName) { - const withoutType = parsedName.fullNameWithoutType, - slashedType = withoutType.replace(/\./g, '/'), - decamelized = withoutType.decamelize(), - dashed = decamelized.replace(/\./g, '-').replace(/\_/g, '-'), - templates = Ember.TEMPLATES; - - return this._super(parsedName) || - templates[slashedType] || - templates[withoutType] || - templates[dashed] || - templates[decamelized.replace(/\./, '/')] || - templates[decamelized.replace(/\_/, '/')] || - this.findAdminTemplate(parsedName) || - this.findUnderscoredTemplate(parsedName); - }, - - findUnderscoredTemplate(parsedName) { - var decamelized = parsedName.fullNameWithoutType.decamelize(); - var underscored = decamelized.replace(/\-/g, "_"); - return Ember.TEMPLATES[underscored]; - }, - - // Try to find a template within a special admin namespace, e.g. adminEmail => admin/templates/email - // (similar to how discourse lays out templates) - findAdminTemplate(parsedName) { - var decamelized = parsedName.fullNameWithoutType.decamelize(); - - if (decamelized.indexOf('components') === 0) { - const compTemplate = Ember.TEMPLATES['admin/templates/' + decamelized]; - if (compTemplate) { return compTemplate; } - } - - if (decamelized === "javascripts/admin") { - return Ember.TEMPLATES['admin/templates/admin']; - } - - if (decamelized.indexOf('admin') === 0 || decamelized.indexOf('javascripts/admin') === 0) { - decamelized = decamelized.replace(/^admin\_/, 'admin/templates/'); - decamelized = decamelized.replace(/^admin\./, 'admin/templates/'); - decamelized = decamelized.replace(/\./g, '_'); - - const dashed = decamelized.replace(/_/g, '-'); - return Ember.TEMPLATES[decamelized] || - Ember.TEMPLATES[dashed] || - Ember.TEMPLATES[dashed.replace('admin-', 'admin/')]; - } - } - -}); diff --git a/app/assets/javascripts/discourse/helpers/application.js.es6 b/app/assets/javascripts/discourse/helpers/application.js.es6 index 2bedeb4b0..05306c0e6 100644 --- a/app/assets/javascripts/discourse/helpers/application.js.es6 +++ b/app/assets/javascripts/discourse/helpers/application.js.es6 @@ -1,4 +1,4 @@ -import { registerUnbound } from 'discourse/lib/helpers'; +import { registerUnbound } from 'discourse-common/lib/helpers'; import { longDate, autoUpdatingRelativeAge, number } from 'discourse/lib/formatter'; const safe = Handlebars.SafeString; diff --git a/app/assets/javascripts/discourse/helpers/border-color.js.es6 b/app/assets/javascripts/discourse/helpers/border-color.js.es6 index 7d6d22867..4c327a819 100644 --- a/app/assets/javascripts/discourse/helpers/border-color.js.es6 +++ b/app/assets/javascripts/discourse/helpers/border-color.js.es6 @@ -1,3 +1,3 @@ -import { htmlHelper } from 'discourse/lib/helpers'; +import { htmlHelper } from 'discourse-common/lib/helpers'; export default htmlHelper(color => `border-color: #${color}`); diff --git a/app/assets/javascripts/discourse/helpers/bound-avatar-template.js.es6 b/app/assets/javascripts/discourse/helpers/bound-avatar-template.js.es6 index 31f5611c7..5682cd2fb 100644 --- a/app/assets/javascripts/discourse/helpers/bound-avatar-template.js.es6 +++ b/app/assets/javascripts/discourse/helpers/bound-avatar-template.js.es6 @@ -1,4 +1,4 @@ -import { htmlHelper } from 'discourse/lib/helpers'; +import { htmlHelper } from 'discourse-common/lib/helpers'; import { avatarImg } from 'discourse/lib/utilities'; export default htmlHelper((avatarTemplate, size) => avatarImg({ size, avatarTemplate })); diff --git a/app/assets/javascripts/discourse/helpers/bound-avatar.js.es6 b/app/assets/javascripts/discourse/helpers/bound-avatar.js.es6 index 79639c8a1..2833f8cef 100644 --- a/app/assets/javascripts/discourse/helpers/bound-avatar.js.es6 +++ b/app/assets/javascripts/discourse/helpers/bound-avatar.js.es6 @@ -1,4 +1,4 @@ -import { htmlHelper } from 'discourse/lib/helpers'; +import { htmlHelper } from 'discourse-common/lib/helpers'; import { avatarImg } from 'discourse/lib/utilities'; export default htmlHelper((user, size) => { diff --git a/app/assets/javascripts/discourse/helpers/bound-category-link.js.es6 b/app/assets/javascripts/discourse/helpers/bound-category-link.js.es6 index 5d215405b..a08d97d88 100644 --- a/app/assets/javascripts/discourse/helpers/bound-category-link.js.es6 +++ b/app/assets/javascripts/discourse/helpers/bound-category-link.js.es6 @@ -1,4 +1,4 @@ -import { htmlHelper } from 'discourse/lib/helpers'; +import { htmlHelper } from 'discourse-common/lib/helpers'; import { categoryLinkHTML } from 'discourse/helpers/category-link'; export default htmlHelper(categoryLinkHTML); diff --git a/app/assets/javascripts/discourse/helpers/bound-date.js.es6 b/app/assets/javascripts/discourse/helpers/bound-date.js.es6 index b4f75cffc..beab3e173 100644 --- a/app/assets/javascripts/discourse/helpers/bound-date.js.es6 +++ b/app/assets/javascripts/discourse/helpers/bound-date.js.es6 @@ -1,4 +1,4 @@ import { autoUpdatingRelativeAge } from 'discourse/lib/formatter'; -import { htmlHelper } from 'discourse/lib/helpers'; +import { htmlHelper } from 'discourse-common/lib/helpers'; export default htmlHelper(dt => autoUpdatingRelativeAge(new Date(dt), {format: 'medium', title: true })); diff --git a/app/assets/javascripts/discourse/helpers/capitalize-string.js.es6 b/app/assets/javascripts/discourse/helpers/capitalize-string.js.es6 index 3914e405b..976a9ecd3 100644 --- a/app/assets/javascripts/discourse/helpers/capitalize-string.js.es6 +++ b/app/assets/javascripts/discourse/helpers/capitalize-string.js.es6 @@ -1,3 +1,3 @@ -import { htmlHelper } from 'discourse/lib/helpers'; +import { htmlHelper } from 'discourse-common/lib/helpers'; export default htmlHelper(str => str[0].toUpperCase() + str.slice(1)); diff --git a/app/assets/javascripts/discourse/helpers/category-badge.js.es6 b/app/assets/javascripts/discourse/helpers/category-badge.js.es6 index c716537a6..74d28b745 100644 --- a/app/assets/javascripts/discourse/helpers/category-badge.js.es6 +++ b/app/assets/javascripts/discourse/helpers/category-badge.js.es6 @@ -1,5 +1,5 @@ import { categoryLinkHTML } from 'discourse/helpers/category-link'; -import { registerUnbound } from 'discourse/lib/helpers'; +import { registerUnbound } from 'discourse-common/lib/helpers'; registerUnbound('category-badge', function(cat, options) { options.link = false; diff --git a/app/assets/javascripts/discourse/helpers/category-link.js.es6 b/app/assets/javascripts/discourse/helpers/category-link.js.es6 index bc1841574..618eca321 100644 --- a/app/assets/javascripts/discourse/helpers/category-link.js.es6 +++ b/app/assets/javascripts/discourse/helpers/category-link.js.es6 @@ -1,5 +1,5 @@ -import { registerUnbound } from 'discourse/lib/helpers'; -import { iconHTML } from 'discourse/helpers/fa-icon'; +import { registerUnbound } from 'discourse-common/lib/helpers'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; var get = Em.get, escapeExpression = Handlebars.Utils.escapeExpression; diff --git a/app/assets/javascripts/discourse/helpers/cold-age-class.js.es6 b/app/assets/javascripts/discourse/helpers/cold-age-class.js.es6 index 54c23bfb6..5042a1112 100644 --- a/app/assets/javascripts/discourse/helpers/cold-age-class.js.es6 +++ b/app/assets/javascripts/discourse/helpers/cold-age-class.js.es6 @@ -1,4 +1,4 @@ -import { registerUnbound } from 'discourse/lib/helpers'; +import { registerUnbound } from 'discourse-common/lib/helpers'; function daysSinceEpoch(dt) { // 1000 * 60 * 60 * 24 = days since epoch diff --git a/app/assets/javascripts/discourse/helpers/cook-text.js.es6 b/app/assets/javascripts/discourse/helpers/cook-text.js.es6 index ba214983a..7864f01af 100644 --- a/app/assets/javascripts/discourse/helpers/cook-text.js.es6 +++ b/app/assets/javascripts/discourse/helpers/cook-text.js.es6 @@ -1,4 +1,4 @@ import { cook } from 'discourse/lib/text'; -import { registerUnbound } from 'discourse/lib/helpers'; +import { registerUnbound } from 'discourse-common/lib/helpers'; registerUnbound('cook-text', cook); diff --git a/app/assets/javascripts/discourse/helpers/custom-html.js.es6 b/app/assets/javascripts/discourse/helpers/custom-html.js.es6 index 8dc3be9c3..d862cb02f 100644 --- a/app/assets/javascripts/discourse/helpers/custom-html.js.es6 +++ b/app/assets/javascripts/discourse/helpers/custom-html.js.es6 @@ -1,4 +1,4 @@ -import { registerHelper } from 'discourse/lib/helpers'; +import { registerHelper } from 'discourse-common/lib/helpers'; import PreloadStore from 'preload-store'; const _customizations = {}; diff --git a/app/assets/javascripts/discourse/helpers/dash-if-empty.js.es6 b/app/assets/javascripts/discourse/helpers/dash-if-empty.js.es6 index fd694261d..4b1553735 100644 --- a/app/assets/javascripts/discourse/helpers/dash-if-empty.js.es6 +++ b/app/assets/javascripts/discourse/helpers/dash-if-empty.js.es6 @@ -1,3 +1,3 @@ -import { htmlHelper } from 'discourse/lib/helpers'; +import { htmlHelper } from 'discourse-common/lib/helpers'; export default htmlHelper(str => Ember.isEmpty(str) ? '—' : str); diff --git a/app/assets/javascripts/discourse/helpers/discouse-tag.js.es6 b/app/assets/javascripts/discourse/helpers/discouse-tag.js.es6 index 1221da241..8c6cbf156 100644 --- a/app/assets/javascripts/discourse/helpers/discouse-tag.js.es6 +++ b/app/assets/javascripts/discourse/helpers/discouse-tag.js.es6 @@ -1,4 +1,4 @@ -import { registerUnbound } from 'discourse/lib/helpers'; +import { registerUnbound } from 'discourse-common/lib/helpers'; import renderTag from 'discourse/lib/render-tag'; export default registerUnbound('discourse-tag', function(name, params) { diff --git a/app/assets/javascripts/discourse/helpers/fa-icon-node.js.es6 b/app/assets/javascripts/discourse/helpers/fa-icon-node.js.es6 new file mode 100644 index 000000000..84f154202 --- /dev/null +++ b/app/assets/javascripts/discourse/helpers/fa-icon-node.js.es6 @@ -0,0 +1,20 @@ +import { h } from 'virtual-dom'; +import { iconClasses } from 'discourse-common/helpers/fa-icon'; + +export function iconNode(icon, params) { + params = params || {}; + + const properties = { + className: iconClasses(icon, params), + attributes: { "aria-hidden": true } + }; + + if (params.title) { properties.attributes.title = params.title; } + + if (params.label) { + return h('i', properties, h('span.sr-only', I18n.t(params.label))); + } else { + return h('i', properties); + } +} + diff --git a/app/assets/javascripts/discourse/helpers/format-age.js.es6 b/app/assets/javascripts/discourse/helpers/format-age.js.es6 index 69247fb5f..75119d0c5 100644 --- a/app/assets/javascripts/discourse/helpers/format-age.js.es6 +++ b/app/assets/javascripts/discourse/helpers/format-age.js.es6 @@ -1,5 +1,5 @@ import { autoUpdatingRelativeAge } from 'discourse/lib/formatter'; -import { registerUnbound } from 'discourse/lib/helpers'; +import { registerUnbound } from 'discourse-common/lib/helpers'; registerUnbound('format-age', function(dt) { dt = new Date(dt); diff --git a/app/assets/javascripts/discourse/helpers/format-date.js.es6 b/app/assets/javascripts/discourse/helpers/format-date.js.es6 index feb207c2a..84602bebc 100644 --- a/app/assets/javascripts/discourse/helpers/format-date.js.es6 +++ b/app/assets/javascripts/discourse/helpers/format-date.js.es6 @@ -1,4 +1,4 @@ -import { registerUnbound } from 'discourse/lib/helpers'; +import { registerUnbound } from 'discourse-common/lib/helpers'; import { autoUpdatingRelativeAge } from 'discourse/lib/formatter'; /** diff --git a/app/assets/javascripts/discourse/helpers/icon-or-image.js.es6 b/app/assets/javascripts/discourse/helpers/icon-or-image.js.es6 index 5f4c6cbce..f673bb8cd 100644 --- a/app/assets/javascripts/discourse/helpers/icon-or-image.js.es6 +++ b/app/assets/javascripts/discourse/helpers/icon-or-image.js.es6 @@ -1,4 +1,4 @@ -import { htmlHelper } from 'discourse/lib/helpers'; +import { htmlHelper } from 'discourse-common/lib/helpers'; export default htmlHelper(function(str) { if (Ember.isEmpty(str)) { return ""; } diff --git a/app/assets/javascripts/discourse/helpers/loading-spinner.es6 b/app/assets/javascripts/discourse/helpers/loading-spinner.es6 index 05dfd735b..fda8fe6be 100644 --- a/app/assets/javascripts/discourse/helpers/loading-spinner.es6 +++ b/app/assets/javascripts/discourse/helpers/loading-spinner.es6 @@ -1,4 +1,4 @@ -import { htmlHelper } from 'discourse/lib/helpers'; +import { htmlHelper } from 'discourse-common/lib/helpers'; function renderSpinner(cssClass) { var html = "<div class='spinner"; diff --git a/app/assets/javascripts/discourse/helpers/max-usernames.js.es6 b/app/assets/javascripts/discourse/helpers/max-usernames.js.es6 index fd4b6819c..68d002db8 100644 --- a/app/assets/javascripts/discourse/helpers/max-usernames.js.es6 +++ b/app/assets/javascripts/discourse/helpers/max-usernames.js.es6 @@ -1,4 +1,4 @@ -import { registerUnbound } from 'discourse/lib/helpers'; +import { registerUnbound } from 'discourse-common/lib/helpers'; registerUnbound('max-usernames', function(usernames, params) { var maxLength = parseInt(params.max) || 3; diff --git a/app/assets/javascripts/discourse/helpers/period-title.js.es6 b/app/assets/javascripts/discourse/helpers/period-title.js.es6 index ee18503b0..37af602c2 100644 --- a/app/assets/javascripts/discourse/helpers/period-title.js.es6 +++ b/app/assets/javascripts/discourse/helpers/period-title.js.es6 @@ -1,4 +1,4 @@ -import { htmlHelper } from 'discourse/lib/helpers'; +import { htmlHelper } from 'discourse-common/lib/helpers'; const TITLE_SUBS = { all: 'all_time', diff --git a/app/assets/javascripts/discourse/helpers/plugin-outlet.js.es6 b/app/assets/javascripts/discourse/helpers/plugin-outlet.js.es6 index 3b47ac8cf..69df92063 100644 --- a/app/assets/javascripts/discourse/helpers/plugin-outlet.js.es6 +++ b/app/assets/javascripts/discourse/helpers/plugin-outlet.js.es6 @@ -46,7 +46,7 @@ The list of disabled plugins is returned via the `Site` singleton. **/ -import { registerHelper } from 'discourse/lib/helpers'; +import { registerHelper } from 'discourse-common/lib/helpers'; let _connectorCache, _rawCache; diff --git a/app/assets/javascripts/discourse/helpers/raw.js.es6 b/app/assets/javascripts/discourse/helpers/raw.js.es6 index b7c89470f..506822b79 100644 --- a/app/assets/javascripts/discourse/helpers/raw.js.es6 +++ b/app/assets/javascripts/discourse/helpers/raw.js.es6 @@ -1,4 +1,4 @@ -import { registerUnbound } from 'discourse/lib/helpers'; +import { registerUnbound } from 'discourse-common/lib/helpers'; // see: https://github.com/emberjs/ember.js/issues/12634 var missingViews = {}; diff --git a/app/assets/javascripts/discourse/helpers/i18n.js.es6 b/app/assets/javascripts/discourse/helpers/replace-emoji.js.es6 similarity index 54% rename from app/assets/javascripts/discourse/helpers/i18n.js.es6 rename to app/assets/javascripts/discourse/helpers/replace-emoji.js.es6 index 2643d28dd..456c733a0 100644 --- a/app/assets/javascripts/discourse/helpers/i18n.js.es6 +++ b/app/assets/javascripts/discourse/helpers/replace-emoji.js.es6 @@ -1,5 +1,4 @@ -import { registerUnbound } from 'discourse/lib/helpers'; +import { registerUnbound } from 'discourse-common/lib/helpers'; import { emojiUnescape } from 'discourse/lib/text'; -registerUnbound('i18n', (key, params) => I18n.t(key, params)); registerUnbound('replace-emoji', text => new Handlebars.SafeString(emojiUnescape(text))); diff --git a/app/assets/javascripts/discourse/helpers/shorten-url.js.es6 b/app/assets/javascripts/discourse/helpers/shorten-url.js.es6 index 4862b04d7..61afd3f5f 100644 --- a/app/assets/javascripts/discourse/helpers/shorten-url.js.es6 +++ b/app/assets/javascripts/discourse/helpers/shorten-url.js.es6 @@ -1,4 +1,4 @@ -import { registerUnbound } from 'discourse/lib/helpers'; +import { registerUnbound } from 'discourse-common/lib/helpers'; registerUnbound('shorten-url', function(url) { var matches = url.match(/\//g); diff --git a/app/assets/javascripts/discourse/helpers/topic-link.js.es6 b/app/assets/javascripts/discourse/helpers/topic-link.js.es6 index ca03e990d..2c1d61606 100644 --- a/app/assets/javascripts/discourse/helpers/topic-link.js.es6 +++ b/app/assets/javascripts/discourse/helpers/topic-link.js.es6 @@ -1,4 +1,4 @@ -import { registerUnbound } from 'discourse/lib/helpers'; +import { registerUnbound } from 'discourse-common/lib/helpers'; registerUnbound('topic-link', function(topic) { var title = topic.get('fancyTitle'); diff --git a/app/assets/javascripts/discourse/helpers/user-avatar.js.es6 b/app/assets/javascripts/discourse/helpers/user-avatar.js.es6 index 228b90e58..476ff9850 100644 --- a/app/assets/javascripts/discourse/helpers/user-avatar.js.es6 +++ b/app/assets/javascripts/discourse/helpers/user-avatar.js.es6 @@ -1,4 +1,4 @@ -import { registerUnbound } from 'discourse/lib/helpers'; +import { registerUnbound } from 'discourse-common/lib/helpers'; import { avatarImg } from 'discourse/lib/utilities'; function renderAvatar(user, options) { diff --git a/app/assets/javascripts/discourse/helpers/user-status.js.es6 b/app/assets/javascripts/discourse/helpers/user-status.js.es6 index bc8af5f15..cffd9e7ac 100644 --- a/app/assets/javascripts/discourse/helpers/user-status.js.es6 +++ b/app/assets/javascripts/discourse/helpers/user-status.js.es6 @@ -1,5 +1,5 @@ -import { iconHTML } from 'discourse/helpers/fa-icon'; -import { htmlHelper } from 'discourse/lib/helpers'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; +import { htmlHelper } from 'discourse-common/lib/helpers'; import { escapeExpression } from 'discourse/lib/utilities'; export default htmlHelper((user, args) => { diff --git a/app/assets/javascripts/discourse/initializers/asset-version.js.es6 b/app/assets/javascripts/discourse/initializers/asset-version.js.es6 index 6f3b3686d..602755937 100644 --- a/app/assets/javascripts/discourse/initializers/asset-version.js.es6 +++ b/app/assets/javascripts/discourse/initializers/asset-version.js.es6 @@ -12,13 +12,13 @@ export default { Discourse.set("assetVersion", version); if (!timeoutIsSet && Discourse.get("requiresRefresh")) { - // since we can do this transparently for people browsing the forum - // hold back the message a couple of hours + // Since we can do this transparently for people browsing the forum + // hold back the message 24 hours. setTimeout(function () { bootbox.confirm(I18n.lookup("assets_changed_confirm"), function (result) { if (result) { document.location.reload(); } }); - }, 1000 * 60 * 120); + }, 1000 * 60 * 24 * 60); timeoutIsSet = true; } diff --git a/app/assets/javascripts/discourse/lib/autocomplete.js.es6 b/app/assets/javascripts/discourse/lib/autocomplete.js.es6 index 10bc508b1..9509b4622 100644 --- a/app/assets/javascripts/discourse/lib/autocomplete.js.es6 +++ b/app/assets/javascripts/discourse/lib/autocomplete.js.es6 @@ -237,15 +237,19 @@ export default function(options) { me.parent().append(div); - if(!isInput){ + if (!isInput) { vOffset = div.height(); - } - if (Discourse.Site.currentProp('mobileView') && !isInput) { - div.css('width', 'auto'); + if ((window.innerHeight - me.outerHeight() - $("header.d-header").innerHeight()) < vOffset) { + vOffset = -23; + } - if ((me.height() / 2) >= pos.top) { vOffset = -23; } - if ((me.width() / 2) <= pos.left) { hOffset = -div.width(); } + if (Discourse.Site.currentProp('mobileView')) { + div.css('width', 'auto'); + + if ((me.height() / 2) >= pos.top) { vOffset = -23; } + if ((me.width() / 2) <= pos.left) { hOffset = -div.width(); } + } } var mePos = me.position(); diff --git a/app/assets/javascripts/discourse/lib/create-view.js.es6 b/app/assets/javascripts/discourse/lib/create-view.js.es6 new file mode 100644 index 000000000..854fa42fb --- /dev/null +++ b/app/assets/javascripts/discourse/lib/create-view.js.es6 @@ -0,0 +1,15 @@ +import { on } from 'ember-addons/ember-computed-decorators'; + +export function createViewWithBodyClass(body_class) { + return Ember.View.extend({ + @on("didInsertElement") + addBodyClass() { + $('body').addClass(body_class); + }, + + @on("willDestroyElement") + removeBodyClass() { + $('body').removeClass(body_class); + } + }); +} diff --git a/app/assets/javascripts/discourse/lib/mobile.js.es6 b/app/assets/javascripts/discourse/lib/mobile.js.es6 index ef2d07bbf..940e18c44 100644 --- a/app/assets/javascripts/discourse/lib/mobile.js.es6 +++ b/app/assets/javascripts/discourse/lib/mobile.js.es6 @@ -29,6 +29,18 @@ const Mobile = { // localStorage may be disabled, just skip this // you get security errors if it is disabled } + + // Sam: I tried this to disable zooming on iOS 10 but it is not consistent + // you can still sometimes trigger zoom and be stuck in a horrible state + // + // let iOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform); + // if (iOS) { + // document.documentElement.addEventListener('touchstart', function (event) { + // if (event.touches.length > 1) { + // event.preventDefault(); + // } + // }, false); + // } }, toggleMobileView() { diff --git a/app/assets/javascripts/discourse/lib/plugin-api.js.es6 b/app/assets/javascripts/discourse/lib/plugin-api.js.es6 index 9aedcec64..98dacb581 100644 --- a/app/assets/javascripts/discourse/lib/plugin-api.js.es6 +++ b/app/assets/javascripts/discourse/lib/plugin-api.js.es6 @@ -1,4 +1,4 @@ -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; import { addDecorator } from 'discourse/widgets/post-cooked'; import ComposerEditor from 'discourse/components/composer-editor'; import { addButton } from 'discourse/widgets/post-menu'; diff --git a/app/assets/javascripts/discourse/lib/transform-post.js.es6 b/app/assets/javascripts/discourse/lib/transform-post.js.es6 index 4b971c4c3..d9742501d 100644 --- a/app/assets/javascripts/discourse/lib/transform-post.js.es6 +++ b/app/assets/javascripts/discourse/lib/transform-post.js.es6 @@ -28,10 +28,10 @@ export function transformBasicPost(post) { isDeleted: post.deleted_at || post.user_deleted, deletedByAvatarTemplate: null, deletedByUsername: null, - primaryGroupName: post.primary_group_name, - primaryGroupFlairUrl: post.primary_group_flair_url, - primaryGroupFlairBgColor: post.primary_group_flair_bg_color, - primaryGroupFlairColor: post.primary_group_flair_color, + primary_group_name: post.primary_group_name, + primary_group_flair_url: post.primary_group_flair_url, + primary_group_flair_bg_color: post.primary_group_flair_bg_color, + primary_group_flair_color: post.primary_group_flair_color, wiki: post.wiki, firstPost: post.post_number === 1, post_number: post.post_number, diff --git a/app/assets/javascripts/discourse/lib/url.js.es6 b/app/assets/javascripts/discourse/lib/url.js.es6 index a645022f1..3391986f7 100644 --- a/app/assets/javascripts/discourse/lib/url.js.es6 +++ b/app/assets/javascripts/discourse/lib/url.js.es6 @@ -121,7 +121,7 @@ const DiscourseURL = Ember.Object.extend({ } // Scroll to the same page, different anchor - const m = /#(.+)$/.exec(path); + const m = /^#(.+)$/.exec(path); if (m) { jumpToElement(m[1]); return this.replaceState(path); diff --git a/app/assets/javascripts/discourse/lib/utilities.js.es6 b/app/assets/javascripts/discourse/lib/utilities.js.es6 index a756e896d..b1b124518 100644 --- a/app/assets/javascripts/discourse/lib/utilities.js.es6 +++ b/app/assets/javascripts/discourse/lib/utilities.js.es6 @@ -111,7 +111,7 @@ export function selectedText() { const $div = $(div); // Find all emojis and replace with its title attribute. - $div.find('img.emoji').replaceWith(() => this.title); + $div.find('img.emoji').replaceWith(function() { return this.title; }); $('.clicks', $div).remove(); const text = div.textContent || div.innerText || ""; diff --git a/app/assets/javascripts/discourse/router.js.es6 b/app/assets/javascripts/discourse/mapping-router.js.es6 similarity index 100% rename from app/assets/javascripts/discourse/router.js.es6 rename to app/assets/javascripts/discourse/mapping-router.js.es6 diff --git a/app/assets/javascripts/discourse/models/login-method.js.es6 b/app/assets/javascripts/discourse/models/login-method.js.es6 index e1cd941a2..c125e7bd8 100644 --- a/app/assets/javascripts/discourse/models/login-method.js.es6 +++ b/app/assets/javascripts/discourse/models/login-method.js.es6 @@ -34,7 +34,9 @@ export function findAll(siteSettings, capabilities, isMobileDevice) { params.frameWidth = 850; params.frameHeight = 500; } else if (name === "facebook") { - params.frameHeight = 450; + params.frameWidth= 580; + params.frameHeight = 400; + params.displayPopup = true; } params.siteSettings = siteSettings; diff --git a/app/assets/javascripts/discourse/pre-initializers/map-routes.js.es6 b/app/assets/javascripts/discourse/pre-initializers/map-routes.js.es6 index e34920144..94629c17b 100644 --- a/app/assets/javascripts/discourse/pre-initializers/map-routes.js.es6 +++ b/app/assets/javascripts/discourse/pre-initializers/map-routes.js.es6 @@ -1,4 +1,4 @@ -import { mapRoutes } from 'discourse/router'; +import { mapRoutes } from 'discourse/mapping-router'; export default { name: "map-routes", diff --git a/app/assets/javascripts/discourse/templates/components/basic-topic-list.hbs b/app/assets/javascripts/discourse/templates/components/basic-topic-list.hbs index 895708915..c174d4a9b 100644 --- a/app/assets/javascripts/discourse/templates/components/basic-topic-list.hbs +++ b/app/assets/javascripts/discourse/templates/components/basic-topic-list.hbs @@ -7,7 +7,8 @@ expandExcerpts=expandExcerpts bulkSelectEnabled=bulkSelectEnabled canBulkSelect=canBulkSelect - selected=selected}} + selected=selected + skipHeader=skipHeader}} {{else}} {{#unless loadingMore}} <div class='alert alert-info'> diff --git a/app/assets/javascripts/discourse/templates/components/categories_only.hbs b/app/assets/javascripts/discourse/templates/components/categories_only.hbs index cc3f7db4c..f8fafb5d1 100644 --- a/app/assets/javascripts/discourse/templates/components/categories_only.hbs +++ b/app/assets/javascripts/discourse/templates/components/categories_only.hbs @@ -15,9 +15,6 @@ <td class="category" style={{border-color c.color}}> <div> {{category-title-link category=c}} - {{#if c.logo_url}} - {{category-logo-link category=c}} - {{/if}} <div class="category-description"> {{{c.description_excerpt}}} </div> diff --git a/app/assets/javascripts/discourse/templates/components/category-title-link.hbs b/app/assets/javascripts/discourse/templates/components/category-title-link.hbs new file mode 100644 index 000000000..3034bdd9d --- /dev/null +++ b/app/assets/javascripts/discourse/templates/components/category-title-link.hbs @@ -0,0 +1,11 @@ +<a href={{category.url}}> + {{#if category.read_restricted}} + {{fa-icon 'lock'}} + {{/if}} + + <span class="category-name">{{categoryName}}</span> + + {{#if category.logo_url}} + <div>{{cdn-img src=category.logo_url class="category-logo"}}</div> + {{/if}} +</a> diff --git a/app/assets/javascripts/discourse/templates/user-card.hbs b/app/assets/javascripts/discourse/templates/user-card.hbs index 7fcaa7f2e..f7dafdf3c 100644 --- a/app/assets/javascripts/discourse/templates/user-card.hbs +++ b/app/assets/javascripts/discourse/templates/user-card.hbs @@ -1,7 +1,12 @@ {{#if visible}} <div class="card-content"> - <a href={{user.path}} {{action "showUser"}} class="card-huge-avatar">{{bound-avatar avatar "huge"}}</a> + <div class="user-card-avatar"> + <a href={{user.path}} {{action "showUser"}} class="card-huge-avatar">{{bound-avatar avatar "huge"}}</a> + {{#if user.primary_group_name}} + {{mount-widget widget="avatar-flair" args=user}} + {{/if}} + </div> <div class="names"> <span> diff --git a/app/assets/javascripts/discourse/templates/user-topics-list.hbs b/app/assets/javascripts/discourse/templates/user-topics-list.hbs index 53577f99c..7f8cc03f8 100644 --- a/app/assets/javascripts/discourse/templates/user-topics-list.hbs +++ b/app/assets/javascripts/discourse/templates/user-topics-list.hbs @@ -6,7 +6,8 @@ canBulkSelect=canBulkSelect bulkSelectEnabled=bulkSelectEnabled selected=selected - postsAction="showTopicEntrance"}} + postsAction="showTopicEntrance" + skipHeader=true}} {{conditional-loading-spinner condition=model.loadingMore}} {{/load-more}} diff --git a/app/assets/javascripts/discourse/templates/user.hbs b/app/assets/javascripts/discourse/templates/user.hbs index 292584ecb..23560b1a2 100644 --- a/app/assets/javascripts/discourse/templates/user.hbs +++ b/app/assets/javascripts/discourse/templates/user.hbs @@ -63,6 +63,7 @@ {{#if model.title}} <h3>{{model.title}}</h3> {{/if}} + {{plugin-outlet "user-post-names"}} <h3> {{#if model.location}}{{fa-icon "map-marker"}} {{model.location}}{{/if}} {{#if model.website_name}} diff --git a/app/assets/javascripts/discourse/views/about.js.es6 b/app/assets/javascripts/discourse/views/about.js.es6 new file mode 100644 index 000000000..a516e1391 --- /dev/null +++ b/app/assets/javascripts/discourse/views/about.js.es6 @@ -0,0 +1,3 @@ +import { createViewWithBodyClass } from 'discourse/lib/create-view'; + +export default createViewWithBodyClass('about-page'); diff --git a/app/assets/javascripts/discourse/views/badges-index.js.es6 b/app/assets/javascripts/discourse/views/badges-index.js.es6 index f0b0ceb85..a85270044 100644 --- a/app/assets/javascripts/discourse/views/badges-index.js.es6 +++ b/app/assets/javascripts/discourse/views/badges-index.js.es6 @@ -1,3 +1,4 @@ import ScrollTop from 'discourse/mixins/scroll-top'; +import { createViewWithBodyClass } from 'discourse/lib/create-view'; -export default Ember.View.extend(ScrollTop); +export default createViewWithBodyClass('badges-page').extend(ScrollTop); diff --git a/app/assets/javascripts/discourse/views/bookmark-button.js.es6 b/app/assets/javascripts/discourse/views/bookmark-button.js.es6 index 6135feae8..200874b6b 100644 --- a/app/assets/javascripts/discourse/views/bookmark-button.js.es6 +++ b/app/assets/javascripts/discourse/views/bookmark-button.js.es6 @@ -1,5 +1,5 @@ import ButtonView from 'discourse/views/button'; -import { iconHTML } from 'discourse/helpers/fa-icon'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; export default ButtonView.extend({ classNames: ['bookmark'], diff --git a/app/assets/javascripts/discourse/views/flag-topic-button.js.es6 b/app/assets/javascripts/discourse/views/flag-topic-button.js.es6 index ec3296ac0..da32165cb 100644 --- a/app/assets/javascripts/discourse/views/flag-topic-button.js.es6 +++ b/app/assets/javascripts/discourse/views/flag-topic-button.js.es6 @@ -1,5 +1,5 @@ import ButtonView from 'discourse/views/button'; -import { iconHTML } from 'discourse/helpers/fa-icon'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; export default ButtonView.extend({ classNames: ['flag-topic'], diff --git a/app/assets/javascripts/discourse/views/full-page-search.js.es6 b/app/assets/javascripts/discourse/views/full-page-search.js.es6 index 7a8aa550e..ed9789dc6 100644 --- a/app/assets/javascripts/discourse/views/full-page-search.js.es6 +++ b/app/assets/javascripts/discourse/views/full-page-search.js.es6 @@ -1 +1,5 @@ -export default Ember.View.extend(); +import { createViewWithBodyClass } from 'discourse/lib/create-view'; + +export default createViewWithBodyClass('search-page').extend({ + classNames: ['search-container'] +}); diff --git a/app/assets/javascripts/discourse/views/invite-reply-button.js.es6 b/app/assets/javascripts/discourse/views/invite-reply-button.js.es6 index 7651c60cb..ba450494f 100644 --- a/app/assets/javascripts/discourse/views/invite-reply-button.js.es6 +++ b/app/assets/javascripts/discourse/views/invite-reply-button.js.es6 @@ -1,5 +1,5 @@ import ButtonView from 'discourse/views/button'; -import { iconHTML } from 'discourse/helpers/fa-icon'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; export default ButtonView.extend({ classNames: ['invite-topic'], diff --git a/app/assets/javascripts/discourse/views/preferences.js.es6 b/app/assets/javascripts/discourse/views/preferences.js.es6 index 597f88fd7..e0033515f 100644 --- a/app/assets/javascripts/discourse/views/preferences.js.es6 +++ b/app/assets/javascripts/discourse/views/preferences.js.es6 @@ -1,4 +1,6 @@ -export default Ember.View.extend({ +import { createViewWithBodyClass } from 'discourse/lib/create-view'; + +export default createViewWithBodyClass('user-preferences-page').extend({ templateName: 'user/preferences', classNames: ['user-preferences'] }); diff --git a/app/assets/javascripts/discourse/views/share-button.js.es6 b/app/assets/javascripts/discourse/views/share-button.js.es6 index a7920b4af..cac213427 100644 --- a/app/assets/javascripts/discourse/views/share-button.js.es6 +++ b/app/assets/javascripts/discourse/views/share-button.js.es6 @@ -1,5 +1,5 @@ import ButtonView from 'discourse/views/button'; -import { iconHTML } from 'discourse/helpers/fa-icon'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; export default ButtonView.extend({ classNames: ['share'], diff --git a/app/assets/javascripts/discourse/views/tags.js.es6 b/app/assets/javascripts/discourse/views/tags.js.es6 new file mode 100644 index 000000000..de51094b3 --- /dev/null +++ b/app/assets/javascripts/discourse/views/tags.js.es6 @@ -0,0 +1,3 @@ +import { createViewWithBodyClass } from 'discourse/lib/create-view'; + +export default createViewWithBodyClass('tags-page'); diff --git a/app/assets/javascripts/discourse/views/user-activity.js.es6 b/app/assets/javascripts/discourse/views/user-activity.js.es6 new file mode 100644 index 000000000..d7d7a40a2 --- /dev/null +++ b/app/assets/javascripts/discourse/views/user-activity.js.es6 @@ -0,0 +1,3 @@ +import { createViewWithBodyClass } from 'discourse/lib/create-view'; + +export default createViewWithBodyClass('user-activity-page'); diff --git a/app/assets/javascripts/discourse/views/user-badges.js.es6 b/app/assets/javascripts/discourse/views/user-badges.js.es6 index f0b0ceb85..c0d067190 100644 --- a/app/assets/javascripts/discourse/views/user-badges.js.es6 +++ b/app/assets/javascripts/discourse/views/user-badges.js.es6 @@ -1,3 +1,4 @@ import ScrollTop from 'discourse/mixins/scroll-top'; +import { createViewWithBodyClass } from 'discourse/lib/create-view'; -export default Ember.View.extend(ScrollTop); +export default createViewWithBodyClass('user-badges-page').extend(ScrollTop); diff --git a/app/assets/javascripts/discourse/views/user-invited-show.js.es6 b/app/assets/javascripts/discourse/views/user-invited-show.js.es6 new file mode 100644 index 000000000..8ea3dc05f --- /dev/null +++ b/app/assets/javascripts/discourse/views/user-invited-show.js.es6 @@ -0,0 +1,3 @@ +import { createViewWithBodyClass } from 'discourse/lib/create-view'; + +export default createViewWithBodyClass('user-invites-page'); diff --git a/app/assets/javascripts/discourse/views/user-messages.js.es6 b/app/assets/javascripts/discourse/views/user-messages.js.es6 new file mode 100644 index 000000000..97e7a1374 --- /dev/null +++ b/app/assets/javascripts/discourse/views/user-messages.js.es6 @@ -0,0 +1,3 @@ +import { createViewWithBodyClass } from 'discourse/lib/create-view'; + +export default createViewWithBodyClass('user-messages-page'); diff --git a/app/assets/javascripts/discourse/views/user-notifications.js.es6 b/app/assets/javascripts/discourse/views/user-notifications.js.es6 new file mode 100644 index 000000000..a8141b59c --- /dev/null +++ b/app/assets/javascripts/discourse/views/user-notifications.js.es6 @@ -0,0 +1,3 @@ +import { createViewWithBodyClass } from 'discourse/lib/create-view'; + +export default createViewWithBodyClass('user-notifications-page'); diff --git a/app/assets/javascripts/discourse/views/user-summary.js.es6 b/app/assets/javascripts/discourse/views/user-summary.js.es6 new file mode 100644 index 000000000..a51a5595b --- /dev/null +++ b/app/assets/javascripts/discourse/views/user-summary.js.es6 @@ -0,0 +1,3 @@ +import { createViewWithBodyClass } from 'discourse/lib/create-view'; + +export default createViewWithBodyClass('user-summary-page'); diff --git a/app/assets/javascripts/discourse/views/users.js.es6 b/app/assets/javascripts/discourse/views/users.js.es6 new file mode 100644 index 000000000..ee5c1efe0 --- /dev/null +++ b/app/assets/javascripts/discourse/views/users.js.es6 @@ -0,0 +1,3 @@ +import { createViewWithBodyClass } from 'discourse/lib/create-view'; + +export default createViewWithBodyClass('users-page'); diff --git a/app/assets/javascripts/discourse/widgets/actions-summary.js.es6 b/app/assets/javascripts/discourse/widgets/actions-summary.js.es6 index 55fb1043c..e925ea954 100644 --- a/app/assets/javascripts/discourse/widgets/actions-summary.js.es6 +++ b/app/assets/javascripts/discourse/widgets/actions-summary.js.es6 @@ -1,6 +1,6 @@ import { createWidget } from 'discourse/widgets/widget'; import { avatarFor } from 'discourse/widgets/post'; -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; import { h } from 'virtual-dom'; import { dateNode } from 'discourse/helpers/node'; diff --git a/app/assets/javascripts/discourse/widgets/avatar-flair.js.es6 b/app/assets/javascripts/discourse/widgets/avatar-flair.js.es6 new file mode 100644 index 000000000..55beefc8c --- /dev/null +++ b/app/assets/javascripts/discourse/widgets/avatar-flair.js.es6 @@ -0,0 +1,40 @@ +import { createWidget } from 'discourse/widgets/widget'; +import { h } from 'virtual-dom'; + +createWidget('avatar-flair', { + tagName: 'div.avatar-flair', + + isIcon(attrs) { + return (attrs.primary_group_flair_url && attrs.primary_group_flair_url.substr(0,3) === 'fa-'); + }, + + title(attrs) { + return attrs.primary_group_name; + }, + + buildClasses(attrs) { + return 'avatar-flair-' + attrs.primary_group_name + (attrs.primary_group_flair_bg_color ? ' rounded' : ''); + }, + + buildAttributes(attrs) { + var style = ''; + if (!this.isIcon(attrs)) { + style += 'background-image: url(' + Handlebars.Utils.escapeExpression(attrs.primary_group_flair_url) + '); '; + } + if (attrs.primary_group_flair_bg_color) { + style += 'background-color: #' + Handlebars.Utils.escapeExpression(attrs.primary_group_flair_bg_color) + '; '; + } + if (attrs.primary_group_flair_color) { + style += 'color: #' + Handlebars.Utils.escapeExpression(attrs.primary_group_flair_color) + '; '; + } + return {style: style}; + }, + + html(attrs) { + if (this.isIcon(attrs)) { + return [h('i', { className: 'fa ' + attrs.primary_group_flair_url })]; + } else { + return []; + } + } +}); \ No newline at end of file diff --git a/app/assets/javascripts/discourse/widgets/button.js.es6 b/app/assets/javascripts/discourse/widgets/button.js.es6 index 96b370870..f3893f1f6 100644 --- a/app/assets/javascripts/discourse/widgets/button.js.es6 +++ b/app/assets/javascripts/discourse/widgets/button.js.es6 @@ -1,5 +1,5 @@ import { createWidget } from 'discourse/widgets/widget'; -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; export default createWidget('button', { tagName: 'button.widget-button', diff --git a/app/assets/javascripts/discourse/widgets/embedded-post.js.es6 b/app/assets/javascripts/discourse/widgets/embedded-post.js.es6 index 8c1ed5477..6f572388a 100644 --- a/app/assets/javascripts/discourse/widgets/embedded-post.js.es6 +++ b/app/assets/javascripts/discourse/widgets/embedded-post.js.es6 @@ -2,7 +2,7 @@ import PostCooked from 'discourse/widgets/post-cooked'; import DecoratorHelper from 'discourse/widgets/decorator-helper'; import { createWidget } from 'discourse/widgets/widget'; import { h } from 'virtual-dom'; -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; import DiscourseURL from 'discourse/lib/url'; createWidget('post-link-arrow', { diff --git a/app/assets/javascripts/discourse/widgets/header-topic-info.js.es6 b/app/assets/javascripts/discourse/widgets/header-topic-info.js.es6 index 3215bc8f7..8704830bb 100644 --- a/app/assets/javascripts/discourse/widgets/header-topic-info.js.es6 +++ b/app/assets/javascripts/discourse/widgets/header-topic-info.js.es6 @@ -1,6 +1,6 @@ import { createWidget } from 'discourse/widgets/widget'; import { h } from 'virtual-dom'; -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; import DiscourseURL from 'discourse/lib/url'; import RawHtml from 'discourse/widgets/raw-html'; import { tagNode } from 'discourse/lib/render-tag'; diff --git a/app/assets/javascripts/discourse/widgets/header.js.es6 b/app/assets/javascripts/discourse/widgets/header.js.es6 index 298c6687e..c7c42e5c7 100644 --- a/app/assets/javascripts/discourse/widgets/header.js.es6 +++ b/app/assets/javascripts/discourse/widgets/header.js.es6 @@ -1,5 +1,5 @@ import { createWidget } from 'discourse/widgets/widget'; -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; import { avatarImg } from 'discourse/widgets/post'; import DiscourseURL from 'discourse/lib/url'; import { wantsNewWindow } from 'discourse/lib/intercept-click'; diff --git a/app/assets/javascripts/discourse/widgets/home-logo.js.es6 b/app/assets/javascripts/discourse/widgets/home-logo.js.es6 index 4684901ae..a609944b5 100644 --- a/app/assets/javascripts/discourse/widgets/home-logo.js.es6 +++ b/app/assets/javascripts/discourse/widgets/home-logo.js.es6 @@ -1,6 +1,6 @@ import { createWidget } from 'discourse/widgets/widget'; import { h } from 'virtual-dom'; -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; import { wantsNewWindow } from 'discourse/lib/intercept-click'; import DiscourseURL from 'discourse/lib/url'; diff --git a/app/assets/javascripts/discourse/widgets/link.js.es6 b/app/assets/javascripts/discourse/widgets/link.js.es6 index 51ed2a769..7eabce397 100644 --- a/app/assets/javascripts/discourse/widgets/link.js.es6 +++ b/app/assets/javascripts/discourse/widgets/link.js.es6 @@ -1,6 +1,6 @@ import { wantsNewWindow } from 'discourse/lib/intercept-click'; import { createWidget } from 'discourse/widgets/widget'; -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; import { h } from 'virtual-dom'; import DiscourseURL from 'discourse/lib/url'; diff --git a/app/assets/javascripts/discourse/widgets/post-admin-menu.js.es6 b/app/assets/javascripts/discourse/widgets/post-admin-menu.js.es6 index 17332ba65..eb868b034 100644 --- a/app/assets/javascripts/discourse/widgets/post-admin-menu.js.es6 +++ b/app/assets/javascripts/discourse/widgets/post-admin-menu.js.es6 @@ -1,4 +1,4 @@ -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; import { createWidget } from 'discourse/widgets/widget'; import { h } from 'virtual-dom'; diff --git a/app/assets/javascripts/discourse/widgets/post-edits-indicator.js.es6 b/app/assets/javascripts/discourse/widgets/post-edits-indicator.js.es6 index 5ae62a3f1..9eac352d6 100644 --- a/app/assets/javascripts/discourse/widgets/post-edits-indicator.js.es6 +++ b/app/assets/javascripts/discourse/widgets/post-edits-indicator.js.es6 @@ -1,5 +1,5 @@ import { createWidget } from 'discourse/widgets/widget'; -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; import { longDate } from 'discourse/lib/formatter'; import { h } from 'virtual-dom'; diff --git a/app/assets/javascripts/discourse/widgets/post-links.js.es6 b/app/assets/javascripts/discourse/widgets/post-links.js.es6 index 3d5b8f871..918219145 100644 --- a/app/assets/javascripts/discourse/widgets/post-links.js.es6 +++ b/app/assets/javascripts/discourse/widgets/post-links.js.es6 @@ -1,4 +1,4 @@ -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; import { createWidget } from 'discourse/widgets/widget'; import { h } from 'virtual-dom'; import { replaceEmoji } from 'discourse/widgets/emoji'; diff --git a/app/assets/javascripts/discourse/widgets/post-small-action.js.es6 b/app/assets/javascripts/discourse/widgets/post-small-action.js.es6 index 882cbc974..4160712ab 100644 --- a/app/assets/javascripts/discourse/widgets/post-small-action.js.es6 +++ b/app/assets/javascripts/discourse/widgets/post-small-action.js.es6 @@ -1,6 +1,6 @@ import { createWidget } from 'discourse/widgets/widget'; import RawHtml from 'discourse/widgets/raw-html'; -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; import { h } from 'virtual-dom'; import { actionDescriptionHtml } from 'discourse/components/small-action'; import { avatarFor } from 'discourse/widgets/post'; diff --git a/app/assets/javascripts/discourse/widgets/post.js.es6 b/app/assets/javascripts/discourse/widgets/post.js.es6 index 9ba5fe551..f6f50d03f 100644 --- a/app/assets/javascripts/discourse/widgets/post.js.es6 +++ b/app/assets/javascripts/discourse/widgets/post.js.es6 @@ -1,7 +1,7 @@ import PostCooked from 'discourse/widgets/post-cooked'; import DecoratorHelper from 'discourse/widgets/decorator-helper'; import { createWidget, applyDecorators } from 'discourse/widgets/widget'; -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; import { transformBasicPost } from 'discourse/lib/transform-post'; import { h } from 'virtual-dom'; import DiscourseURL from 'discourse/lib/url'; @@ -77,43 +77,6 @@ createWidget('reply-to-tab', { } }); -createWidget('post-avatar-flair', { - tagName: 'div.avatar-flair', - - isIcon(attrs) { - return (attrs.primaryGroupFlairUrl && attrs.primaryGroupFlairUrl.substr(0,3) === 'fa-'); - }, - - title(attrs) { - return attrs.primaryGroupName; - }, - - buildClasses(attrs) { - return 'avatar-flair-' + attrs.primaryGroupName + (attrs.primaryGroupFlairBgColor ? ' rounded' : ''); - }, - - buildAttributes(attrs) { - var style = ''; - if (!this.isIcon(attrs)) { - style += 'background-image: url(' + Handlebars.Utils.escapeExpression(attrs.primaryGroupFlairUrl) + '); '; - } - if (attrs.primaryGroupFlairBgColor) { - style += 'background-color: #' + Handlebars.Utils.escapeExpression(attrs.primaryGroupFlairBgColor) + '; '; - } - if (attrs.primaryGroupFlairColor) { - style += 'color: #' + Handlebars.Utils.escapeExpression(attrs.primaryGroupFlairColor) + '; '; - } - return {style: style}; - }, - - html(attrs) { - if (this.isIcon(attrs)) { - return [h('i', { className: 'fa ' + attrs.primaryGroupFlairUrl })]; - } else { - return []; - } - } -}); createWidget('post-avatar', { tagName: 'div.topic-avatar', @@ -131,16 +94,14 @@ createWidget('post-avatar', { template: attrs.avatar_template, username: attrs.username, url: attrs.usernameUrl, - className: 'main-avatar', - flairUrl: attrs.primaryGroupFlairUrl, - flairBgColor: attrs.primaryGroupFlairBgColor + className: 'main-avatar' }); } const result = [body]; - if (attrs.primaryGroupFlairUrl || attrs.primaryGroupFlairBgColor) { - result.push(this.attach('post-avatar-flair', attrs)); + if (attrs.primary_group_flair_url || attrs.primary_group_flair_bg_color) { + result.push(this.attach('avatar-flair', attrs)); } result.push(h('div.poster-avatar-extra')); @@ -454,7 +415,7 @@ export default createWidget('post', { if (attrs.topicOwner) { classNames.push('topic-owner'); } if (attrs.hidden) { classNames.push('post-hidden'); } if (attrs.deleted) { classNames.push('deleted'); } - if (attrs.primaryGroupName) { classNames.push(`group-${attrs.primaryGroupName}`); } + if (attrs.primary_group_name) { classNames.push(`group-${attrs.primary_group_name}`); } if (attrs.wiki) { classNames.push(`wiki`); } if (attrs.isWhisper) { classNames.push('whisper'); } if (attrs.isModeratorAction || (attrs.isWarning && attrs.firstPost)) { diff --git a/app/assets/javascripts/discourse/widgets/poster-name.js.es6 b/app/assets/javascripts/discourse/widgets/poster-name.js.es6 index a560f6e2b..f61435725 100644 --- a/app/assets/javascripts/discourse/widgets/poster-name.js.es6 +++ b/app/assets/javascripts/discourse/widgets/poster-name.js.es6 @@ -1,4 +1,4 @@ -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; import { createWidget } from 'discourse/widgets/widget'; import { h } from 'virtual-dom'; @@ -35,7 +35,7 @@ export default createWidget('poster-name', { if (attrs.moderator) { classNames.push('moderator'); } if (attrs.new_user) { classNames.push('new-user'); } - const primaryGroupName = attrs.primaryGroupName; + const primaryGroupName = attrs.primary_group_name; if (primaryGroupName && primaryGroupName.length) { classNames.push(primaryGroupName); } diff --git a/app/assets/javascripts/discourse/widgets/private-message-map.js.es6 b/app/assets/javascripts/discourse/widgets/private-message-map.js.es6 index 7d311b70b..1c4315379 100644 --- a/app/assets/javascripts/discourse/widgets/private-message-map.js.es6 +++ b/app/assets/javascripts/discourse/widgets/private-message-map.js.es6 @@ -1,4 +1,4 @@ -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; import { createWidget } from 'discourse/widgets/widget'; import { h } from 'virtual-dom'; import { avatarFor } from 'discourse/widgets/post'; diff --git a/app/assets/javascripts/discourse/widgets/search-menu-results.js.es6 b/app/assets/javascripts/discourse/widgets/search-menu-results.js.es6 index 4db6f5af3..2eddf7f87 100644 --- a/app/assets/javascripts/discourse/widgets/search-menu-results.js.es6 +++ b/app/assets/javascripts/discourse/widgets/search-menu-results.js.es6 @@ -3,7 +3,7 @@ import { dateNode } from 'discourse/helpers/node'; import RawHtml from 'discourse/widgets/raw-html'; import { createWidget } from 'discourse/widgets/widget'; import { h } from 'virtual-dom'; -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; class Highlighted extends RawHtml { constructor(html, term) { diff --git a/app/assets/javascripts/discourse/widgets/time-gap.js.es6 b/app/assets/javascripts/discourse/widgets/time-gap.js.es6 index 5d617772c..f2ce1cfdb 100644 --- a/app/assets/javascripts/discourse/widgets/time-gap.js.es6 +++ b/app/assets/javascripts/discourse/widgets/time-gap.js.es6 @@ -1,6 +1,6 @@ import { createWidget } from 'discourse/widgets/widget'; import { h } from 'virtual-dom'; -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; function description(attrs) { const daysSince = attrs.daysSince; diff --git a/app/assets/javascripts/discourse/widgets/topic-status.js.es6 b/app/assets/javascripts/discourse/widgets/topic-status.js.es6 index bb7994692..d0b8ac5ef 100644 --- a/app/assets/javascripts/discourse/widgets/topic-status.js.es6 +++ b/app/assets/javascripts/discourse/widgets/topic-status.js.es6 @@ -1,5 +1,5 @@ import { createWidget } from 'discourse/widgets/widget'; -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; import { h } from 'virtual-dom'; import { escapeExpression } from 'discourse/lib/utilities'; diff --git a/app/assets/javascripts/discourse/widgets/topic-timeline.js.es6 b/app/assets/javascripts/discourse/widgets/topic-timeline.js.es6 index 06ab9b343..1056fb282 100644 --- a/app/assets/javascripts/discourse/widgets/topic-timeline.js.es6 +++ b/app/assets/javascripts/discourse/widgets/topic-timeline.js.es6 @@ -1,7 +1,7 @@ import { createWidget } from 'discourse/widgets/widget'; import { h } from 'virtual-dom'; import { relativeAge } from 'discourse/lib/formatter'; -import { iconNode } from 'discourse/helpers/fa-icon'; +import { iconNode } from 'discourse/helpers/fa-icon-node'; const SCROLLAREA_HEIGHT = 300; const SCROLLER_HEIGHT = 50; diff --git a/app/assets/javascripts/ember_jquery.js b/app/assets/javascripts/ember_jquery.js index 55986994d..23e6b286b 100644 --- a/app/assets/javascripts/ember_jquery.js +++ b/app/assets/javascripts/ember_jquery.js @@ -1,3 +1,4 @@ +//= require env //= require jquery_include //= require ember_include //= require loader diff --git a/app/assets/javascripts/env.js b/app/assets/javascripts/env.js index 5537a6c10..d5fe88236 100644 --- a/app/assets/javascripts/env.js +++ b/app/assets/javascripts/env.js @@ -1,8 +1,3 @@ window.ENV = { }; - -window.Discourse = {}; -Discourse.SiteSettings = {}; - window.EmberENV = window.EmberENV || {}; window.EmberENV['FORCE_JQUERY'] = true; - diff --git a/app/assets/javascripts/locales/i18n.js b/app/assets/javascripts/locales/i18n.js index c88b05516..97b1a1196 100644 --- a/app/assets/javascripts/locales/i18n.js +++ b/app/assets/javascripts/locales/i18n.js @@ -92,6 +92,26 @@ I18n.isValidNode = function(obj, node, undefined) { return obj[node] !== null && obj[node] !== undefined; }; +function checkExtras(origScope, sep, extras) { + if (!extras || extras.length === 0) { return; } + + for (var i=0; i<extras.length; i++) { + var messages = extras[i]; + scope = origScope.split(sep); + if (scope[0] === 'js') { + scope.shift(); + } + + while (messages && scope.length > 0) { + currentScope = scope.shift(); + messages = messages[currentScope]; + } + if (messages) { + return messages; + } + } +} + I18n.lookup = function(scope, options) { options = options || {}; var lookupInitialScope = scope, @@ -110,13 +130,20 @@ I18n.lookup = function(scope, options) { scope = options.scope.toString() + this.defaultSeparator + scope; } - scope = scope.split(this.defaultSeparator); + var origScope = "" + scope; + + scope = origScope.split(this.defaultSeparator); while (messages && scope.length > 0) { currentScope = scope.shift(); messages = messages[currentScope]; } + if (!messages) { + messages = checkExtras(origScope, this.defaultSeparator, this.extras); + } + + if (!messages) { if (I18n.fallbacks) { var fallbacks = this.getFallbacks(locale); @@ -192,7 +219,9 @@ I18n.interpolate = function(message, options) { }; I18n.translate = function(scope, options) { + options = this.prepareOptions(options); + var translation = this.lookup(scope, options); // Fallback to the default locale if (!translation && this.currentLocale() !== this.defaultLocale && !this.noFallbacks) { diff --git a/app/assets/javascripts/main_include.js b/app/assets/javascripts/main_include.js index dcd876d9c..91a0044d6 100644 --- a/app/assets/javascripts/main_include.js +++ b/app/assets/javascripts/main_include.js @@ -2,6 +2,7 @@ //= require ./ember-addons/decorator-alias //= require ./ember-addons/macro-alias //= require ./ember-addons/ember-computed-decorators +//= require_tree ./discourse-common //= require ./discourse //= require ./deprecated @@ -19,11 +20,6 @@ //= require ./discourse/lib/debounce //= require ./discourse/lib/quote //= require ./discourse/lib/key-value-store -//= require ./discourse/lib/helpers -//= require ./discourse/helpers/i18n -//= require ./discourse/helpers/fa-icon -//= require ./discourse/lib/raw-handlebars -//= require ./discourse/lib/helpers //= require ./discourse/lib/computed //= require ./discourse/lib/formatter //= require ./discourse/lib/eyeline @@ -64,7 +60,6 @@ //= require ./discourse/views/container //= require ./discourse/views/modal-body //= require ./discourse/views/flag -//= require ./discourse/components/combo-box //= require ./discourse/components/edit-category-panel //= require ./discourse/views/button //= require ./discourse/components/dropdown-button @@ -92,7 +87,7 @@ //= require ./discourse/helpers/category-link //= require ./discourse/lib/export-result //= require_tree ./discourse/lib -//= require ./discourse/router +//= require ./discourse/mapping-router //= require_tree ./discourse/controllers //= require_tree ./discourse/models diff --git a/app/assets/javascripts/vendor.js b/app/assets/javascripts/vendor.js index a6a8c8142..9b2cd2a52 100644 --- a/app/assets/javascripts/vendor.js +++ b/app/assets/javascripts/vendor.js @@ -1,5 +1,5 @@ //= require logster -//= require ./env +//= require ./discourse-objects //= require probes.js //= require template_include.js @@ -37,4 +37,3 @@ //= require virtual-dom //= require virtual-dom-amd //= require highlight.js -//= require_tree ./discourse/ember diff --git a/app/assets/javascripts/wizard-application.js b/app/assets/javascripts/wizard-application.js new file mode 100644 index 000000000..e69ccaf61 --- /dev/null +++ b/app/assets/javascripts/wizard-application.js @@ -0,0 +1,15 @@ +//= require_tree ./ember-addons/utils +//= require ./ember-addons/decorator-alias +//= require ./ember-addons/macro-alias +//= require ./ember-addons/ember-computed-decorators +//= require_tree ./discourse-common +//= require wizard/router +//= require wizard/wizard +//= require_tree ./wizard/templates +//= require_tree ./wizard/components +//= require_tree ./wizard/models +//= require_tree ./wizard/routes +//= require_tree ./wizard/controllers +//= require_tree ./wizard/lib +//= require_tree ./wizard/mixins +//= require_tree ./wizard/initializers diff --git a/app/assets/javascripts/wizard-vendor.js b/app/assets/javascripts/wizard-vendor.js new file mode 100644 index 000000000..2236d3366 --- /dev/null +++ b/app/assets/javascripts/wizard-vendor.js @@ -0,0 +1,5 @@ +//= require template_include.js +//= require select2.js +//= require jquery.ui.widget.js +//= require jquery.fileupload.js +//= require sweetalert.js diff --git a/app/assets/javascripts/wizard/components/homepage-preview.js.es6 b/app/assets/javascripts/wizard/components/homepage-preview.js.es6 new file mode 100644 index 000000000..6b68cba8b --- /dev/null +++ b/app/assets/javascripts/wizard/components/homepage-preview.js.es6 @@ -0,0 +1,186 @@ +import { observes } from 'ember-addons/ember-computed-decorators'; +import { createPreviewComponent, LOREM, darkLightDiff } from 'wizard/lib/preview'; + +export default createPreviewComponent(659, 320, { + logo: null, + avatar: null, + + @observes('step.fieldsById.homepage_style.value') + styleChanged() { + this.triggerRepaint(); + }, + + images() { + return { logo: this.get('wizard').getLogoUrl(), avatar: '/images/wizard/trout.png' }; + }, + + paint(ctx, colors, width, height) { + this.drawFullHeader(colors); + + if (this.get('step.fieldsById.homepage_style.value') === "latest") { + this.drawPills(colors, height * 0.15); + this.renderLatest(ctx, colors, width, height); + } else { + this.drawPills(colors, height * 0.15, { categories: true }); + this.renderCategories(ctx, colors, width, height); + } + }, + + renderCategories(ctx, colors, width, height) { + const textColor = darkLightDiff(colors.primary, colors.secondary, 50, 50); + const margin = height * 0.03; + const bodyFontSize = height / 440.0; + + const drawLine = (x, y) => { + ctx.beginPath(); + ctx.strokeStyle = darkLightDiff(colors.primary, colors.secondary, 90, -75); + ctx.moveTo(margin + x, y); + ctx.lineTo(margin + x + ((width * 0.9) / 2), y); + ctx.stroke(); + }; + + const cols = [0.025, 0.4, 0.53, 0.58, 0.94].map(c => c * width); + + const headingY = height * 0.33; + ctx.font = `${bodyFontSize * 0.9}em 'Arial'`; + ctx.fillStyle = textColor; + ctx.fillText("Category", cols[0], headingY); + ctx.fillText("Topics", cols[1], headingY); + ctx.fillText("Latest", cols[2], headingY); + + let y = headingY + (bodyFontSize * 12); + ctx.lineWidth = 2; + drawLine(0, y); + drawLine(width / 2, y); + + const categoryHeight = height / 6; + const titles = this.getTitles(); + + // Categories + this.categories().forEach(category => { + const textPos = y + (categoryHeight * 0.35); + ctx.font = `Bold ${bodyFontSize * 1.1}em 'Arial'`; + ctx.fillStyle = colors.primary; + ctx.fillText(category.name, cols[0], textPos); + + ctx.font = `${bodyFontSize * 0.8}em 'Arial'`; + ctx.fillStyle = textColor; + ctx.fillText(titles[0], cols[0] - (margin * 0.25), textPos + (categoryHeight * 0.36)); + + ctx.beginPath(); + ctx.moveTo(margin, y); + ctx.strokeStyle = category.color; + ctx.lineWidth = 3.5; + ctx.lineTo(margin, y + categoryHeight); + ctx.stroke(); + + y += categoryHeight; + ctx.lineWidth = 1; + drawLine(0, y); + }); + + // Categories - Latest Topics + const topicHeight = height / 8; + const avatarSize = topicHeight * 0.7; + y = headingY + (bodyFontSize * 12); + ctx.lineWidth = 1; + ctx.fillStyle = textColor; + + titles.forEach(title => { + const category = this.categories()[0]; + ctx.font = `${bodyFontSize}em 'Arial'`; + const textPos = y + (topicHeight * 0.45); + ctx.fillStyle = textColor; + this.scaleImage(this.avatar, cols[2], y + (margin * 0.6), avatarSize, avatarSize); + ctx.fillText(title, cols[3], textPos); + + ctx.font = `Bold ${bodyFontSize}em 'Arial'`; + ctx.fillText(Math.floor(Math.random() * 90) + 10, cols[4], textPos); + ctx.font = `${bodyFontSize}em 'Arial'`; + ctx.fillText(`1h`, cols[4], textPos + (topicHeight * 0.4)); + + ctx.beginPath(); + ctx.fillStyle = category.color; + const badgeSize = topicHeight * 0.1; + ctx.font = `Bold ${bodyFontSize * 0.5}em 'Arial'`; + ctx.rect(cols[3] + (margin * 0.5), y + topicHeight * 0.65, badgeSize, badgeSize); + ctx.fill(); + + ctx.fillStyle = colors.primary; + ctx.fillText(category.name, cols[3] + (badgeSize * 3), y + (topicHeight * 0.76)); + y += topicHeight; + + drawLine(width / 2, y); + }); + + }, + + getTitles() { + return LOREM.split(".").slice(0, 7).map(t => t.substring(0, 40)); + }, + + renderLatest(ctx, colors, width, height) { + const rowHeight = height / 10.0; + const textColor = darkLightDiff(colors.primary, colors.secondary, 50, 50); + const bodyFontSize = height / 440.0; + + ctx.font = `${bodyFontSize}em 'Arial'`; + + const margin = height * 0.03; + + const drawLine = y => { + ctx.beginPath(); + ctx.strokeStyle = darkLightDiff(colors.primary, colors.secondary, 90, -75); + ctx.moveTo(margin, y); + ctx.lineTo(width - margin, y); + ctx.stroke(); + }; + + const cols = [0.02, 0.5, 0.65, 0.8, 0.87, 0.93].map(c => c * width); + + // Headings + const headingY = height * 0.33; + + ctx.fillStyle = textColor; + ctx.font = `${bodyFontSize * 0.9}em 'Arial'`; + ctx.fillText("Topic", cols[0], headingY); + ctx.fillText("Category", cols[1], headingY); + ctx.fillText("Users", cols[2], headingY); + ctx.fillText("Replies", cols[3], headingY); + ctx.fillText("Views", cols[4], headingY); + ctx.fillText("Activity", cols[5], headingY); + + // Topics + let y = headingY + rowHeight / 2.6; + ctx.lineWidth = 2; + drawLine(y); + + ctx.font = `${bodyFontSize}em 'Arial'`; + ctx.lineWidth = 1; + this.getTitles().forEach(title => { + const textPos = y + (rowHeight * 0.7); + ctx.fillStyle = textColor; + ctx.fillText(title, cols[0], textPos); + + const category = this.categories()[0]; + ctx.beginPath(); + ctx.fillStyle = category.color; + const badgeSize = rowHeight * 0.2; + ctx.font = `Bold ${bodyFontSize * 0.5}em 'Arial'`; + ctx.rect(cols[1], y + rowHeight * 0.5, badgeSize, badgeSize); + ctx.fill(); + + ctx.fillStyle = colors.primary; + ctx.fillText(category.name, cols[1] + (badgeSize * 1.5), y + (rowHeight * 0.65)); + this.scaleImage(this.avatar, cols[2], y + rowHeight * 0.3, rowHeight * 0.5, rowHeight * 0.5); + + ctx.fillStyle = textColor; + ctx.font = `${bodyFontSize}em 'Arial'`; + for (let j=3; j<=5; j++) { + ctx.fillText(Math.floor(Math.random() * 90) + 10, cols[j] + margin, y + (rowHeight * 0.7)); + } + drawLine(y + (rowHeight * 1)); + y += rowHeight; + }); + } +}); diff --git a/app/assets/javascripts/wizard/components/image-preview-apple-touch-icon-url.js.es6 b/app/assets/javascripts/wizard/components/image-preview-apple-touch-icon-url.js.es6 new file mode 100644 index 000000000..637365898 --- /dev/null +++ b/app/assets/javascripts/wizard/components/image-preview-apple-touch-icon-url.js.es6 @@ -0,0 +1,21 @@ +import { observes } from 'ember-addons/ember-computed-decorators'; +import { createPreviewComponent } from 'wizard/lib/preview'; + +export default createPreviewComponent(325, 125, { + ios: null, + image: null, + + @observes('field.value') + imageChanged() { + this.reload(); + }, + + images() { + return { ios: '/images/wizard/apple-mask.png', image: this.get('field.value') }; + }, + + paint(ctx, colors, width, height) { + this.scaleImage(this.image, 10, 8, 87, 87); + this.scaleImage(this.ios, 0, 0, width, height); + } +}); diff --git a/app/assets/javascripts/wizard/components/image-preview-favicon-url.js.es6 b/app/assets/javascripts/wizard/components/image-preview-favicon-url.js.es6 new file mode 100644 index 000000000..244818f14 --- /dev/null +++ b/app/assets/javascripts/wizard/components/image-preview-favicon-url.js.es6 @@ -0,0 +1,32 @@ +import { observes } from 'ember-addons/ember-computed-decorators'; + +import { createPreviewComponent, } from 'wizard/lib/preview'; + +export default createPreviewComponent(371, 124, { + tab: null, + image: null, + + @observes('field.value') + imageChanged() { + this.reload(); + }, + + images() { + return { tab: "/images/wizard/tab.png", image: this.get('field.value') }; + }, + + paint(ctx, colors, width, height) { + this.scaleImage(this.tab, 0, 0, width, height); + this.scaleImage(this.image, 40, 25, 30, 30); + + ctx.font = `20px 'Arial'`; + ctx.fillStyle = '#000'; + + let title = this.get('wizard').getTitle(); + if (title.length > 20) { + title = title.substring(0, 20) + "..."; + } + + ctx.fillText(title, 80, 48); + } +}); diff --git a/app/assets/javascripts/wizard/components/image-preview-logo-small-url.js.es6 b/app/assets/javascripts/wizard/components/image-preview-logo-small-url.js.es6 new file mode 100644 index 000000000..b9ed571c5 --- /dev/null +++ b/app/assets/javascripts/wizard/components/image-preview-logo-small-url.js.es6 @@ -0,0 +1,67 @@ +import { observes } from 'ember-addons/ember-computed-decorators'; + +import { + createPreviewComponent, + drawHeader, + LOREM +} from 'wizard/lib/preview'; + +export default createPreviewComponent(375, 100, { + image: null, + + @observes('field.value') + imageChanged() { + this.reload(); + }, + + images() { + return { image: this.get('field.value') }; + }, + + paint(ctx, colors, width, height) { + const headerHeight = height / 2; + + drawHeader(ctx, colors, width, headerHeight); + + const image = this.image; + const headerMargin = headerHeight * 0.2; + + const maxWidth = headerHeight - (headerMargin * 2.0); + let imageWidth = image.width; + let ratio = 1.0; + if (imageWidth > maxWidth) { + ratio = maxWidth / imageWidth; + imageWidth = maxWidth; + } + + this.scaleImage(image, headerMargin, headerMargin, imageWidth, image.height * ratio); + + const afterLogo = (headerMargin * 1.7) + imageWidth; + const fontSize = Math.round(headerHeight * 0.4); + ctx.font = `Bold ${fontSize}px 'Arial'`; + ctx.fillStyle = colors.primary; + const title = LOREM.substring(0, 27); + ctx.fillText(title, headerMargin + imageWidth, headerHeight - (fontSize * 1.1)); + + const category = this.categories()[0]; + const badgeSize = height / 13.0; + ctx.beginPath(); + ctx.fillStyle = category.color; + ctx.rect(afterLogo, (headerHeight * 0.70), badgeSize, badgeSize); + ctx.fill(); + + ctx.font = `Bold ${badgeSize * 1.2}px 'Arial'`; + ctx.fillStyle = colors.primary; + ctx.fillText(category.name, afterLogo + (badgeSize * 1.5), headerHeight * 0.7 + (badgeSize * 0.9)); + + const LINE_HEIGHT = 12; + ctx.font = `${LINE_HEIGHT}px 'Arial'`; + const lines = LOREM.split("\n"); + for (let i=0; i<10; i++) { + const line = (height * 0.55) + (i * (LINE_HEIGHT * 1.5)); + ctx.fillText(lines[i], afterLogo, line); + } + } + +}); + diff --git a/app/assets/javascripts/wizard/components/image-preview-logo-url.js.es6 b/app/assets/javascripts/wizard/components/image-preview-logo-url.js.es6 new file mode 100644 index 000000000..b8ec86314 --- /dev/null +++ b/app/assets/javascripts/wizard/components/image-preview-logo-url.js.es6 @@ -0,0 +1,32 @@ +import { observes } from 'ember-addons/ember-computed-decorators'; + +import { createPreviewComponent, drawHeader } from 'wizard/lib/preview'; + +export default createPreviewComponent(400, 100, { + image: null, + + @observes('field.value') + imageChanged() { + this.reload(); + }, + + images() { + return { image: this.get('field.value') }; + }, + + paint(ctx, colors, width, height) { + const headerHeight = height / 2; + + drawHeader(ctx, colors, width, headerHeight); + + const image = this.image; + const headerMargin = headerHeight * 0.2; + + const imageHeight = headerHeight - (headerMargin * 2); + const ratio = imageHeight / image.height; + this.scaleImage(image, headerMargin, headerMargin, image.width * ratio, imageHeight); + + this.drawPills(colors, height / 2); + } + +}); diff --git a/app/assets/javascripts/wizard/components/invite-list-user.js.es6 b/app/assets/javascripts/wizard/components/invite-list-user.js.es6 new file mode 100644 index 000000000..c54290fb8 --- /dev/null +++ b/app/assets/javascripts/wizard/components/invite-list-user.js.es6 @@ -0,0 +1,16 @@ +import computed from 'ember-addons/ember-computed-decorators'; + +export default Ember.Component.extend({ + classNames: ['invite-list-user'], + + @computed('user.role') + roleName(role) { + return this.get('roles').findProperty('id', role).label; + }, + + actions: { + removeUser(user) { + this.sendAction('removeUser', user); + } + } +}); diff --git a/app/assets/javascripts/wizard/components/invite-list.js.es6 b/app/assets/javascripts/wizard/components/invite-list.js.es6 new file mode 100644 index 000000000..6786458b5 --- /dev/null +++ b/app/assets/javascripts/wizard/components/invite-list.js.es6 @@ -0,0 +1,69 @@ +export default Ember.Component.extend({ + classNames: ['invite-list'], + users: null, + inviteEmail: '', + inviteRole: '', + invalid: false, + + init() { + this._super(); + this.set('users', []); + + this.set('roles', [ + {id: 'moderator', label: I18n.t('wizard.invites.roles.moderator') }, + {id: 'regular', label: I18n.t('wizard.invites.roles.regular') }, + ]); + + this.updateField(); + }, + + keyPress(e) { + if (e.keyCode === 13) { + e.preventDefault(); + e.stopPropagation(); + this.send('addUser'); + } + }, + + updateField() { + const users = this.get('users'); + + this.set('field.value', JSON.stringify(users)); + + const staffCount = this.get('step.fieldsById.staff_count.value') || 1; + const showWarning = (staffCount < 3 && users.length === 0); + + this.set('field.warning', showWarning ? 'invites.none_added' : null); + }, + + actions: { + addUser() { + const user = { + email: this.get('inviteEmail') || '', + role: this.get('inviteRole') + }; + + if (!/(.+)@(.+){2,}\.(.+){2,}/.test(user.email)) { + return this.set('invalid', true); + } + + const users = this.get('users'); + if (users.findProperty('email', user.email)) { + return this.set('invalid', true); + } + + this.set('invalid', false); + + users.pushObject(user); + this.updateField(); + + this.set('inviteEmail', ''); + Ember.run.scheduleOnce('afterRender', () => this.$('.invite-email').focus()); + }, + + removeUser(user) { + this.get('users').removeObject(user); + this.updateField(); + } + } +}); diff --git a/app/assets/javascripts/wizard/components/radio-button.js.es6 b/app/assets/javascripts/wizard/components/radio-button.js.es6 new file mode 100644 index 000000000..ef547d301 --- /dev/null +++ b/app/assets/javascripts/wizard/components/radio-button.js.es6 @@ -0,0 +1,17 @@ +import { observes, on } from 'ember-addons/ember-computed-decorators'; + +export default Ember.Component.extend({ + tagName: 'label', + + click(e) { + e.preventDefault(); + this.sendAction('onChange', this.get('radioValue')); + }, + + @observes('value') + @on('init') + updateVal() { + const checked = this.get('value') === this.get('radioValue'); + Ember.run.next(() => this.$('input[type=radio]').prop('checked', checked)); + } +}); diff --git a/app/assets/javascripts/wizard/components/staff-count.js.es6 b/app/assets/javascripts/wizard/components/staff-count.js.es6 new file mode 100644 index 000000000..023d556f9 --- /dev/null +++ b/app/assets/javascripts/wizard/components/staff-count.js.es6 @@ -0,0 +1,7 @@ +import computed from 'ember-addons/ember-computed-decorators'; + +export default Ember.Component.extend({ + @computed('field.value') + showStaffCount: staffCount => staffCount > 1 +}); + diff --git a/app/assets/javascripts/wizard/components/theme-preview.js.es6 b/app/assets/javascripts/wizard/components/theme-preview.js.es6 new file mode 100644 index 000000000..19a9863b1 --- /dev/null +++ b/app/assets/javascripts/wizard/components/theme-preview.js.es6 @@ -0,0 +1,89 @@ +import { observes } from 'ember-addons/ember-computed-decorators'; + +import { + createPreviewComponent, + darkLightDiff, + chooseBrighter, + LOREM +} from 'wizard/lib/preview'; + +export default createPreviewComponent(659, 320, { + logo: null, + avatar: null, + + @observes('step.fieldsById.theme_id.value') + themeChanged() { + this.triggerRepaint(); + }, + + images() { + return { logo: this.get('wizard').getLogoUrl(), avatar: '/images/wizard/trout.png' }; + }, + + paint(ctx, colors, width, height) { + const headerHeight = height * 0.15; + + this.drawFullHeader(colors); + + const margin = width * 0.02; + const avatarSize = height * 0.1; + const lineHeight = height / 19.0; + + // Draw a fake topic + this.scaleImage(this.avatar, margin, headerHeight + (height * 0.17), avatarSize, avatarSize); + + const titleFontSize = headerHeight / 44; + + ctx.beginPath(); + ctx.fillStyle = colors.primary; + ctx.font = `bold ${titleFontSize}em 'Arial'`; + ctx.fillText("Welcome to Discourse", margin, (height * 0.25)); + + const bodyFontSize = height / 440.0; + ctx.font = `${bodyFontSize}em 'Arial'`; + + let line = 0; + const lines = LOREM.split("\n"); + for (let i=0; i<10; i++) { + line = (height * 0.3) + (i * lineHeight); + ctx.fillText(lines[i], margin + avatarSize + margin, line); + } + + // Reply Button + ctx.beginPath(); + ctx.rect(width * 0.57, line + lineHeight, width * 0.1, height * 0.07); + ctx.fillStyle = colors.tertiary; + ctx.fill(); + ctx.fillStyle = chooseBrighter(colors.primary, colors.secondary); + ctx.font = `${bodyFontSize}em 'Arial'`; + ctx.fillText("Reply", width * 0.595, line + (lineHeight * 1.85)); + + // Icons + ctx.font = `${bodyFontSize}em FontAwesome`; + ctx.fillStyle = colors.love; + ctx.fillText("\uf004", width * 0.48, line + (lineHeight * 1.8)); + ctx.fillStyle = darkLightDiff(colors.primary, colors.secondary, 65, 55); + ctx.fillText("\uf040", width * 0.525, line + (lineHeight * 1.8)); + + // Draw Timeline + const timelineX = width * 0.8; + ctx.beginPath(); + ctx.strokeStyle = colors.tertiary; + ctx.lineWidth = 0.5; + ctx.moveTo(timelineX, height * 0.3); + ctx.lineTo(timelineX, height * 0.6); + ctx.stroke(); + + // Timeline + ctx.beginPath(); + ctx.strokeStyle = colors.tertiary; + ctx.lineWidth = 2; + ctx.moveTo(timelineX, height * 0.3); + ctx.lineTo(timelineX, height * 0.4); + ctx.stroke(); + + ctx.font = `Bold ${bodyFontSize}em Arial`; + ctx.fillStyle = colors.primary; + ctx.fillText("1 / 20", timelineX + margin, (height * 0.3) + (margin * 1.5)); + } +}); diff --git a/app/assets/javascripts/wizard/components/wizard-canvas.js.es6 b/app/assets/javascripts/wizard/components/wizard-canvas.js.es6 new file mode 100644 index 000000000..bd8f9c53c --- /dev/null +++ b/app/assets/javascripts/wizard/components/wizard-canvas.js.es6 @@ -0,0 +1,168 @@ +const MAX_PARTICLES = 150; + +const SIZE = 144; + +let width, height; + +const COLORS = ['#BF1E2E', '#F1592A', '#F7941D', '#9EB83B', '#3AB54A', '#12A89D', '#25AAE2', '#0E76BD', + '#652D90', '#92278F', '#ED207B', '#8C6238']; + +class Particle { + constructor() { + this.reset(); + this.y = (Math.random() * (height + SIZE)) - SIZE; + } + + reset() { + this.y = -SIZE; + this.origX = Math.random() * (width + SIZE); + this.speed = 1 + Math.random(); + this.ang = Math.random() * 2 * Math.PI; + this.scale = (Math.random() * 0.4) + 0.2; + this.radius = (Math.random() * 25) + 25; + this.color = COLORS[Math.floor(Math.random() * COLORS.length)]; + this.flipped = (Math.random() > 0.5) ? 1 : -1; + } + + move() { + this.y += this.speed; + + if (this.y > height + SIZE) { + this.reset(); + } + + this.ang += this.speed / 30.0; + if (this.ang > 2 * Math.PI) { + this.ang = 0; + } + + this.x = this.origX + (this.radius * Math.sin(this.ang)); + } +} + +export default Ember.Component.extend({ + classNames: ['wizard-canvas'], + tagName: 'canvas', + ctx: null, + ready: false, + particles: null, + + didInsertElement() { + this._super(); + + const canvas = this.$()[0]; + this.ctx = canvas.getContext('2d'); + this.resized(); + + this.particles = []; + for (let i=0; i<MAX_PARTICLES; i++) { + this.particles.push(new Particle()); + } + + this.ready = true; + this.paint(); + + $(window).on('resize.wizard', () => this.resized()); + }, + + willDestroyElement() { + this._super(); + $(window).off('resize.wizard'); + }, + + resized() { + width = $(window).width(); + height = $(window).height(); + + const canvas = this.$()[0]; + canvas.width = width; + canvas.height = height; + }, + + paint() { + if (this.isDestroying || this.isDestroyed || !this.ready) { return; } + + const { ctx } = this; + ctx.clearRect(0, 0, width, height); + + this.particles.forEach(particle => { + particle.move(); + this.drawParticle(particle); + }); + + window.requestAnimationFrame(() => this.paint()); + }, + + + drawParticle(p) { + const c = this.ctx; + + c.save(); + c.translate(p.x - SIZE, p.y - SIZE); + c.scale(p.scale * p.flipped, p.scale); + c.fillStyle = p.color; + c.strokeStyle = p.color; + c.globalAlpha = "1.0"; + c.lineWidth = "1"; + c.lineCap = "butt"; + c.lineJoin = "round"; + c.mitterLimit = "1"; + c.beginPath(); + c.moveTo(97.90, 194.90); + c.lineTo(103.50, 162.90); + c.bezierCurveTo(88.70, 152, 84.20, 139.70, 90.20, 126.30); + c.bezierCurveTo(99.50, 105.60, 124.60, 89.60, 159.70, 100.40); + c.lineTo(159.70, 100.40); + c.bezierCurveTo(175.90, 105.40, 186.40, 111.20, 192.60, 118.50); + c.bezierCurveTo(200, 127.20, 201.60, 138.40, 197.50, 152.70); + c.bezierCurveTo(194, 165, 187.40, 173.60, 177.90, 178.30); + c.bezierCurveTo(165.60, 184.40, 148.40, 183.70, 129.40, 176.30); + c.bezierCurveTo(127.70, 175.60, 126, 174.90, 124.40, 174.20); + c.lineTo(97.90, 194.90); + c.closePath(); + c.moveTo(138, 99.30); + c.bezierCurveTo(115.40, 99.30, 99.30, 111.90, 92.40, 127.30); + c.bezierCurveTo(86.80, 139.70, 91.20, 151.20, 105.50, 161.50); + c.lineTo(106.10, 161.90); + c.lineTo(101.20, 189.40); + c.lineTo(124, 171.70); + c.lineTo(124.60, 172); + c.bezierCurveTo(126.40, 172.80, 128.30, 173.60, 130.20, 174.30); + c.bezierCurveTo(148.60, 181.40, 165.10, 182.20, 176.80, 176.40); + c.bezierCurveTo(185.70, 172, 191.90, 163.90, 195.20, 152.20); + c.bezierCurveTo(202.40, 127.20, 191.90, 112.80, 159, 102.70); + c.lineTo(159, 102.70); + c.bezierCurveTo(151.60, 100.30, 144.50, 99.30, 138, 99.30); + c.closePath(); + c.fill(); + c.stroke(); + c.beginPath(); + c.moveTo(115.70, 136.20); + c.bezierCurveTo(115.70, 137.90, 115, 139.30, 113.30, 139.30); + c.bezierCurveTo(111.60, 139.30, 110.20, 137.90, 110.20, 136.20); + c.bezierCurveTo(110.20, 134.50, 111.60, 133.10, 113.30, 133.10); + c.bezierCurveTo(115, 133, 115.70, 134.40, 115.70, 136.20); + c.closePath(); + c.fill(); + c.stroke(); + c.beginPath(); + c.moveTo(145.80, 141.60); + c.bezierCurveTo(145.80, 143.30, 144.40, 144.10, 142.70, 144.10); + c.bezierCurveTo(141, 144.10, 139.60, 143.40, 139.60, 141.60); + c.bezierCurveTo(139.60, 141.60, 141, 138.50, 142.70, 138.50); + c.bezierCurveTo(144.40, 138.50, 145.80, 139.90, 145.80, 141.60); + c.closePath(); + c.fill(); + c.stroke(); + c.beginPath(); + c.moveTo(171.60, 146.80); + c.bezierCurveTo(171.60, 148.50, 171, 149.90, 169.20, 149.90); + c.bezierCurveTo(167.50, 149.90, 166.10, 148.50, 166.10, 146.80); + c.bezierCurveTo(166.10, 145.10, 167.50, 143.70, 169.20, 143.70); + c.bezierCurveTo(171, 143.60, 171.60, 145, 171.60, 146.80); + c.closePath(); + c.fill(); + c.stroke(); + c.restore(); + } +}); diff --git a/app/assets/javascripts/wizard/components/wizard-field-image.js.es6 b/app/assets/javascripts/wizard/components/wizard-field-image.js.es6 new file mode 100644 index 000000000..1407152cd --- /dev/null +++ b/app/assets/javascripts/wizard/components/wizard-field-image.js.es6 @@ -0,0 +1,38 @@ +import computed from 'ember-addons/ember-computed-decorators'; +import { getToken } from 'wizard/lib/ajax'; + +export default Ember.Component.extend({ + classNames: ['wizard-image-row'], + uploading: false, + + @computed('field.id') + previewComponent(id) { + const componentName = `image-preview-${Ember.String.dasherize(id)}`; + const exists = this.container.lookup(`component:${componentName}`); + return exists ? componentName : 'wizard-image-preview'; + }, + + didInsertElement() { + this._super(); + + const $upload = this.$(); + + const id = this.get('field.id'); + + $upload.fileupload({ + url: "/uploads.json", + formData: { synchronous: true, + type: `wizard_${id}`, + authenticity_token: getToken() }, + dataType: 'json', + dropZone: $upload, + }); + + $upload.on("fileuploadsubmit", () => this.set('uploading', true)); + + $upload.on('fileuploaddone', (e, response) => { + this.set('field.value', response.result.url); + this.set('uploading', false); + }); + }, +}); diff --git a/app/assets/javascripts/wizard/components/wizard-field-radio.js.es6 b/app/assets/javascripts/wizard/components/wizard-field-radio.js.es6 new file mode 100644 index 000000000..24481e15b --- /dev/null +++ b/app/assets/javascripts/wizard/components/wizard-field-radio.js.es6 @@ -0,0 +1,7 @@ +export default Ember.Component.extend({ + actions: { + changed(value) { + this.set('field.value', value); + } + } +}); diff --git a/app/assets/javascripts/wizard/components/wizard-field-textarea.js.es6 b/app/assets/javascripts/wizard/components/wizard-field-textarea.js.es6 new file mode 100644 index 000000000..3747a92bc --- /dev/null +++ b/app/assets/javascripts/wizard/components/wizard-field-textarea.js.es6 @@ -0,0 +1,5 @@ +export default Ember.Component.extend({ + keyPress(e) { + e.stopPropagation(); + } +}); diff --git a/app/assets/javascripts/wizard/components/wizard-field.js.es6 b/app/assets/javascripts/wizard/components/wizard-field.js.es6 new file mode 100644 index 000000000..4b09212fb --- /dev/null +++ b/app/assets/javascripts/wizard/components/wizard-field.js.es6 @@ -0,0 +1,17 @@ +import computed from 'ember-addons/ember-computed-decorators'; + +export default Ember.Component.extend({ + classNameBindings: [':wizard-field', 'typeClass', 'field.invalid'], + + @computed('field.type') + typeClass: type => `${Ember.String.dasherize(type)}-field`, + + @computed('field.id') + fieldClass: id => `field-${Ember.String.dasherize(id)}`, + + @computed('field.type', 'field.id') + inputComponentName(type, id) { + return (type === 'component') ? Ember.String.dasherize(id) : `wizard-field-${type}`; + } + +}); diff --git a/app/assets/javascripts/wizard/components/wizard-image-preview.js.es6 b/app/assets/javascripts/wizard/components/wizard-image-preview.js.es6 new file mode 100644 index 000000000..0a171c6df --- /dev/null +++ b/app/assets/javascripts/wizard/components/wizard-image-preview.js.es6 @@ -0,0 +1,3 @@ +export default Ember.Component.extend({ + classNameBindings: [':wizard-image-preview', 'fieldClass'] +}); diff --git a/app/assets/javascripts/wizard/components/wizard-step-form.js.es6 b/app/assets/javascripts/wizard/components/wizard-step-form.js.es6 new file mode 100644 index 000000000..c5946608c --- /dev/null +++ b/app/assets/javascripts/wizard/components/wizard-step-form.js.es6 @@ -0,0 +1,8 @@ +import computed from 'ember-addons/ember-computed-decorators'; + +export default Ember.Component.extend({ + classNameBindings: [':wizard-step-form', 'customStepClass'], + + @computed('step.id') + customStepClass: stepId => `wizard-step-${stepId}`, +}); diff --git a/app/assets/javascripts/wizard/components/wizard-step.js.es6 b/app/assets/javascripts/wizard/components/wizard-step.js.es6 new file mode 100644 index 000000000..b0a0618ab --- /dev/null +++ b/app/assets/javascripts/wizard/components/wizard-step.js.es6 @@ -0,0 +1,131 @@ +import { default as computed, observes } from 'ember-addons/ember-computed-decorators'; + +jQuery.fn.wiggle = function (times, duration) { + if (times > 0) { + this.animate({ + marginLeft: times-- % 2 === 0 ? -15 : 15 + }, duration, 0, () => this.wiggle(times, duration)); + } else { + this.animate({ marginLeft: 0 }, duration, 0); + } + return this; +}; + +const alreadyWarned = {}; + +export default Ember.Component.extend({ + classNames: ['wizard-step'], + saving: null, + + didInsertElement() { + this._super(); + this.autoFocus(); + }, + + @computed('step.index') + showQuitButton: index => index === 0, + + @computed('step.displayIndex', 'wizard.totalSteps') + showNextButton: (current, total) => current < total, + + @computed('step.displayIndex', 'wizard.totalSteps') + showDoneButton: (current, total) => current === total, + + @computed('step.index') + showBackButton: index => index > 0, + + @computed('step.banner') + bannerImage(src) { + if (!src) { return; } + return `/images/wizard/${src}`; + }, + + @observes('step.id') + _stepChanged() { + this.set('saving', false); + this.autoFocus(); + }, + + keyPress(key) { + if (key.keyCode === 13) { + this.send('nextStep'); + } + }, + + @computed('step.index', 'wizard.totalSteps') + barStyle(displayIndex, totalSteps) { + let ratio = parseFloat(displayIndex) / parseFloat(totalSteps - 1); + if (ratio < 0) { ratio = 0; } + if (ratio > 1) { ratio = 1; } + + return Ember.String.htmlSafe(`width: ${ratio * 200}px`); + }, + + autoFocus() { + Ember.run.scheduleOnce('afterRender', () => { + const $invalid = $('.wizard-field.invalid:eq(0) input'); + + if ($invalid.length) { + return $invalid.focus(); + } + + $('input:eq(0)').focus(); + }); + }, + + animateInvalidFields() { + Ember.run.scheduleOnce('afterRender', () => $('.invalid input[type=text], .invalid textarea').wiggle(2, 100)); + }, + + advance() { + this.set('saving', true); + this.get('step').save() + .then(response => this.sendAction('goNext', response)) + .catch(() => this.animateInvalidFields()) + .finally(() => this.set('saving', false)); + }, + + actions: { + quit() { + document.location = "/"; + }, + + backStep() { + if (this.get('saving')) { return; } + this.sendAction('goBack'); + }, + + nextStep() { + if (this.get('saving')) { return; } + + const step = this.get('step'); + const result = step.validate(); + + if (result.warnings.length) { + const unwarned = result.warnings.filter(w => !alreadyWarned[w]); + if (unwarned.length) { + unwarned.forEach(w => alreadyWarned[w] = true); + return window.swal({ + customClass: 'wizard-warning', + title: "", + text: unwarned.map(w => I18n.t(`wizard.${w}`)).join("\n"), + type: 'warning', + showCancelButton: true, + confirmButtonColor: "#6699ff" + }, confirmed => { + if (confirmed) { + this.advance(); + } + }); + } + } + + if (step.get('valid')) { + this.advance(); + } else { + this.animateInvalidFields(); + this.autoFocus(); + } + } + } +}); diff --git a/app/assets/javascripts/wizard/controllers/application.js.es6 b/app/assets/javascripts/wizard/controllers/application.js.es6 new file mode 100644 index 000000000..6592eb9e5 --- /dev/null +++ b/app/assets/javascripts/wizard/controllers/application.js.es6 @@ -0,0 +1,10 @@ +import computed from 'ember-addons/ember-computed-decorators'; + +export default Ember.Controller.extend({ + currentStepId: null, + + @computed('currentStepId') + showCanvas(currentStepId) { + return currentStepId === 'finished'; + } +}); diff --git a/app/assets/javascripts/wizard/controllers/step.js.es6 b/app/assets/javascripts/wizard/controllers/step.js.es6 new file mode 100644 index 000000000..3a66e82d9 --- /dev/null +++ b/app/assets/javascripts/wizard/controllers/step.js.es6 @@ -0,0 +1,18 @@ +export default Ember.Controller.extend({ + wizard: null, + step: null, + + actions: { + goNext(response) { + const next = this.get('step.next'); + if (response.refresh_required) { + document.location = `/wizard/steps/${next}`; + } else { + this.transitionToRoute('step', next); + } + }, + goBack() { + this.transitionToRoute('step', this.get('step.previous')); + }, + } +}); diff --git a/app/assets/javascripts/wizard/initializers/load-helpers.js.es6 b/app/assets/javascripts/wizard/initializers/load-helpers.js.es6 new file mode 100644 index 000000000..4b645756a --- /dev/null +++ b/app/assets/javascripts/wizard/initializers/load-helpers.js.es6 @@ -0,0 +1,11 @@ +export default { + name: 'load-helpers', + + initialize() { + Object.keys(requirejs.entries).forEach(entry => { + if ((/\/helpers\//).test(entry)) { + require(entry, null, null, true); + } + }); + } +}; diff --git a/app/assets/javascripts/wizard/lib/ajax.js.es6 b/app/assets/javascripts/wizard/lib/ajax.js.es6 new file mode 100644 index 000000000..6e4c2beae --- /dev/null +++ b/app/assets/javascripts/wizard/lib/ajax.js.es6 @@ -0,0 +1,19 @@ + +let token; + +export function getToken() { + if (!token) { + token = $('meta[name="csrf-token"]').attr('content'); + } + + return token; +} + +export function ajax(args) { + return new Ember.RSVP.Promise((resolve, reject) => { + args.headers = { 'X-CSRF-Token': getToken() }; + args.success = data => Ember.run(null, resolve, data); + args.error = xhr => Ember.run(null, reject, xhr); + Ember.$.ajax(args); + }); +} diff --git a/app/assets/javascripts/wizard/lib/preview.js.es6 b/app/assets/javascripts/wizard/lib/preview.js.es6 new file mode 100644 index 000000000..de1d0a132 --- /dev/null +++ b/app/assets/javascripts/wizard/lib/preview.js.es6 @@ -0,0 +1,300 @@ +/*eslint no-bitwise:0 */ + +export const LOREM = ` +Lorem ipsum dolor sit amet, consectetur adipiscing elit. +Nullam eget sem non elit tincidunt rhoncus. Fusce velit nisl, +porttitor sed nisl ac, consectetur interdum metus. Fusce in +consequat augue, vel facilisis felis. Nunc tellus elit, and +semper vitae orci nec, blandit pharetra enim. Aenean a ebus +posuere nunc. Maecenas ultrices viverra enim ac commodo +Vestibulum nec quam sit amet libero ultricies sollicitudin. +Nulla quis scelerisque sem, eget volutpat velit. Fusce eget +accumsan sapien, nec feugiat quam. Quisque non risus. +placerat lacus vitae, lacinia nisi. Sed metus arcu, iaculis +sit amet cursus nec, sodales at eros.`; + +const scaled = {}; + +function canvasFor(image, w, h) { + w = Math.ceil(w); + h = Math.ceil(h); + + const can = document.createElement('canvas'); + can.width = w; + can.height = h; + + const ctx = can.getContext('2d'); + ctx.drawImage(image, 0, 0, w, h); + return can; +} + +export function createPreviewComponent(width, height, obj) { + return Ember.Component.extend({ + layoutName: 'components/theme-preview', + width, + height, + ctx: null, + loaded: false, + + didInsertElement() { + this._super(); + const c = this.$('canvas')[0]; + this.ctx = c.getContext("2d"); + this.reload(); + }, + + images() { }, + + loadImages() { + const images = this.images(); + if (images) { + return Ember.RSVP.Promise.all(Object.keys(images).map(id => { + return loadImage(images[id]).then(img => this[id] = img); + })); + } + return Ember.RSVP.Promise.resolve(); + }, + + reload() { + this.loadImages().then(() => { + this.loaded = true; + this.triggerRepaint(); + }); + }, + + triggerRepaint() { + Ember.run.scheduleOnce('afterRender', this, 'repaint'); + }, + + repaint() { + if (!this.loaded) { return false; } + + const colors = this.get('wizard').getCurrentColors(); + if (!colors) { return; } + + const { ctx } = this; + + ctx.fillStyle = colors.secondary; + ctx.fillRect(0, 0, width, height); + + this.paint(ctx, colors, this.width, this.height); + + // draw border + ctx.beginPath(); + ctx.strokeStyle='rgba(0, 0, 0, 0.2)'; + ctx.rect(0, 0, width, height); + ctx.stroke(); + }, + + categories() { + return [{name: 'consecteteur', color: '#652D90'}, {name: 'ultrices', color: '#3AB54A'}]; + }, + + scaleImage(image, x, y, w, h) { + w = Math.floor(w); + h = Math.floor(h); + + const { ctx } = this; + + const key = `${image.src}-${w}-${h}`; + + if (!scaled[key]) { + + let copy = image; + let ratio = copy.width / copy.height; + let newH = (copy.height * 0.5); + while (newH > h) { + copy = canvasFor(copy, ratio * newH, newH); + newH = newH * 0.5; + } + + scaled[key] = copy; + } + + ctx.drawImage(scaled[key], x, y, w, h); + }, + + drawFullHeader(colors) { + const { ctx } = this; + + const headerHeight = height * 0.15; + drawHeader(ctx, colors, width, headerHeight); + + const avatarSize = height * 0.1; + + // Logo + const headerMargin = headerHeight * 0.2; + const logoHeight = headerHeight - (headerMargin * 2); + const logoWidth = (logoHeight / this.logo.height) * this.logo.width; + this.scaleImage(this.logo, headerMargin, headerMargin, logoWidth, logoHeight); + + // Top right menu + this.scaleImage(this.avatar, width - avatarSize - headerMargin, headerMargin, avatarSize, avatarSize); + ctx.fillStyle = darkLightDiff(colors.primary, colors.secondary, 45, 55); + + const headerFontSize = headerHeight / 44; + + ctx.font = `${headerFontSize}em FontAwesome`; + ctx.fillText("\uf0c9", width - (avatarSize * 2) - (headerMargin * 0.5), avatarSize); + ctx.fillText("\uf002", width - (avatarSize * 3) - (headerMargin * 0.5), avatarSize); + }, + + drawPills(colors, headerHeight, opts) { + opts = opts || {}; + + const { ctx } = this; + + const categoriesSize = headerHeight * 2; + const badgeHeight = categoriesSize * 0.25; + const headerMargin = headerHeight * 0.2; + + ctx.beginPath(); + ctx.fillStyle = darkLightDiff(colors.primary, colors.secondary, 90, -65); + ctx.rect(headerMargin, headerHeight + headerMargin, categoriesSize, badgeHeight); + ctx.fill(); + + const fontSize = Math.round(badgeHeight * 0.5); + ctx.font = `${fontSize}px 'Arial'`; + ctx.fillStyle = colors.primary; + ctx.fillText("all categories", headerMargin * 1.5, headerHeight + (headerMargin * 1.42) + fontSize); + + ctx.font = "0.9em 'FontAwesome'"; + ctx.fillStyle = colors.primary; + ctx.fillText("\uf0da", categoriesSize - (headerMargin / 4), headerHeight + (headerMargin * 1.6) + fontSize); + + const text = opts.categories ? "Categories" : "Latest"; + + const activeWidth = categoriesSize * (opts.categories ? 0.80 : 0.55); + ctx.beginPath(); + ctx.fillStyle = colors.quaternary; + ctx.rect((headerMargin * 2)+ categoriesSize, headerHeight + headerMargin, activeWidth, badgeHeight); + ctx.fill(); + + ctx.font = `${fontSize}px 'Arial'`; + ctx.fillStyle = colors.secondary; + let x = (headerMargin * 3.0) + categoriesSize; + ctx.fillText(text, x - (headerMargin * 0.1), headerHeight + (headerMargin * 1.5) + fontSize); + + ctx.fillStyle = colors.primary; + x += categoriesSize * (opts.categories ? 0.8 : 0.6); + ctx.fillText("New", x, headerHeight + (headerMargin * 1.5) + fontSize); + + x += categoriesSize * 0.4; + ctx.fillText("Unread", x, headerHeight + (headerMargin * 1.5) + fontSize); + + x += categoriesSize * 0.6; + ctx.fillText("Top", x, headerHeight + (headerMargin * 1.5) + fontSize); + } + + }, obj); +} + +function loadImage(src) { + const img = new Image(); + img.src = src; + return new Ember.RSVP.Promise(resolve => img.onload = () => resolve(img)); +}; + +export function parseColor(color) { + const m = color.match(/^#([0-9a-f]{6})$/i); + if (m) { + const c = m[1]; + return [ parseInt(c.substr(0,2),16), parseInt(c.substr(2,2),16), parseInt(c.substr(4,2),16) ]; + } + + return [0, 0, 0]; +} + +export function brightness(color) { + return (color[0] * 0.299) + (color[1] * 0.587) + (color[2] * 0.114); +} + +function rgbToHsl(r, g, b) { + r /= 255; + g /= 255; + b /= 255; + let max = Math.max(r, g, b), min = Math.min(r, g, b); + let h, s, l = (max + min) / 2; + + if (max === min) { + h = s = 0; + } else { + const d = max - min; + s = l > 0.5 ? d / (2 - max - min) : d / (max + min); + switch(max){ + case r: h = (g - b) / d + (g < b ? 6 : 0); break; + case g: h = (b - r) / d + 2; break; + case b: h = (r - g) / d + 4; break; + } + h /= 6; + } + + return [h, s, l]; +} + +function hue2rgb(p, q, t) { + if (t < 0) { t += 1; } + if (t > 1) { t -= 1; } + if (t < 1/6) { return p + (q - p) * 6 * t; } + if (t < 1/2) { return q; } + if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; } + return p; +} + +function hslToRgb(h, s, l) { + let r, g, b; + + if (s === 0) { + r = g = b = l; // achromatic + } else { + const q = l < 0.5 ? l * (1 + s) : l + s - l * s; + const p = 2 * l - q; + r = hue2rgb(p, q, h + 1/3); + g = hue2rgb(p, q, h); + b = hue2rgb(p, q, h - 1/3); + } + + return [r * 255, g * 255, b * 255]; +} + +export function lighten(color, percent) { + const hsl = rgbToHsl(color[0], color[1], color[2]); + const scale = percent / 100.0; + const diff = scale > 0 ? 1.0 - hsl[2] : hsl[2]; + + hsl[2] = hsl[2] + diff * scale; + color = hslToRgb(hsl[0], hsl[1], hsl[2]); + + return '#' + + ((0|(1<<8) + color[0]).toString(16)).substr(1) + + ((0|(1<<8) + color[1]).toString(16)).substr(1) + + ((0|(1<<8) + color[2]).toString(16)).substr(1); +} + +export function chooseBrighter(primary, secondary) { + const primaryCol = parseColor(primary); + const secondaryCol = parseColor(secondary); + return brightness(primaryCol) < brightness(secondaryCol) ? secondary : primary; +} + +export function darkLightDiff(adjusted, comparison, lightness, darkness) { + const adjustedCol = parseColor(adjusted); + const comparisonCol = parseColor(comparison); + return lighten(adjustedCol, (brightness(adjustedCol) < brightness(comparisonCol)) ? + lightness : darkness); +} + + +export function drawHeader(ctx, colors, width, headerHeight) { + ctx.save(); + ctx.beginPath(); + ctx.rect(0, 0, width, headerHeight); + ctx.fillStyle = colors.header_background; + ctx.shadowColor = "rgba(0, 0, 0, 0.25)"; + ctx.shadowBlur = 2; + ctx.shadowOffsetX = 0; + ctx.shadowOffsetY = 2; + ctx.fill(); + ctx.restore(); +} + diff --git a/app/assets/javascripts/wizard/mixins/valid-state.js.es6 b/app/assets/javascripts/wizard/mixins/valid-state.js.es6 new file mode 100644 index 000000000..afa027b25 --- /dev/null +++ b/app/assets/javascripts/wizard/mixins/valid-state.js.es6 @@ -0,0 +1,37 @@ +import computed from 'ember-addons/ember-computed-decorators'; + +export const States = { + UNCHECKED: 0, + INVALID: 1, + VALID: 2 +}; + +export default { + _validState: null, + errorDescription: null, + + init() { + this._super(); + this.set('_validState', States.UNCHECKED); + }, + + @computed('_validState') + valid: state => state === States.VALID, + + @computed('_validState') + invalid: state => state === States.INVALID, + + @computed('_validState') + unchecked: state => state === States.UNCHECKED, + + setValid(valid, description) { + this.set('_validState', valid ? States.VALID : States.INVALID); + + if (!valid && description && description.length) { + this.set('errorDescription', description); + } else { + this.set('errorDescription', null); + } + } + +}; diff --git a/app/assets/javascripts/wizard/models/step.js.es6 b/app/assets/javascripts/wizard/models/step.js.es6 new file mode 100644 index 000000000..2d6e9b353 --- /dev/null +++ b/app/assets/javascripts/wizard/models/step.js.es6 @@ -0,0 +1,55 @@ +import computed from 'ember-addons/ember-computed-decorators'; +import ValidState from 'wizard/mixins/valid-state'; +import { ajax } from 'wizard/lib/ajax'; + +export default Ember.Object.extend(ValidState, { + id: null, + + @computed('index') + displayIndex: index => index + 1, + + @computed('fields.[]') + fieldsById(fields) { + const lookup = {}; + fields.forEach(field => lookup[field.get('id')] = field); + return lookup; + }, + + validate() { + let allValid = true; + const result = { warnings: [] }; + + this.get('fields').forEach(field => { + allValid = allValid && field.check(); + const warning = field.get('warning'); + if (warning) { + result.warnings.push(warning); + } + }); + + this.setValid(allValid); + + return result; + }, + + fieldError(id, description) { + const field = this.get('fields').findProperty('id', id); + if (field) { + field.setValid(false, description); + } + }, + + save() { + const fields = {}; + this.get('fields').forEach(f => fields[f.id] = f.value); + + return ajax({ + url: `/wizard/steps/${this.get('id')}`, + type: 'PUT', + data: { fields } + }).catch(response => { + response.responseJSON.errors.forEach(err => this.fieldError(err.field, err.description)); + throw response; + }); + } +}); diff --git a/app/assets/javascripts/wizard/models/wizard-field.js.es6 b/app/assets/javascripts/wizard/models/wizard-field.js.es6 new file mode 100644 index 000000000..2d96d88d3 --- /dev/null +++ b/app/assets/javascripts/wizard/models/wizard-field.js.es6 @@ -0,0 +1,23 @@ +import ValidState from 'wizard/mixins/valid-state'; + +export default Ember.Object.extend(ValidState, { + id: null, + type: null, + value: null, + required: null, + warning: null, + + check() { + if (!this.get('required')) { + this.setValid(true); + return true; + } + + const val = this.get('value'); + const valid = val && val.length > 0; + + this.setValid(valid); + return valid; + } + +}); diff --git a/app/assets/javascripts/wizard/models/wizard.js.es6 b/app/assets/javascripts/wizard/models/wizard.js.es6 new file mode 100644 index 000000000..68a4f56c6 --- /dev/null +++ b/app/assets/javascripts/wizard/models/wizard.js.es6 @@ -0,0 +1,56 @@ +import Step from 'wizard/models/step'; +import WizardField from 'wizard/models/wizard-field'; +import { ajax } from 'wizard/lib/ajax'; +import computed from 'ember-addons/ember-computed-decorators'; + +const Wizard = Ember.Object.extend({ + @computed('steps.length') + totalSteps: length => length, + + getTitle() { + const titleStep = this.get('steps').findProperty('id', 'forum-title'); + if (!titleStep) { return; } + return titleStep.get('fieldsById.title.value'); + }, + + getLogoUrl() { + const logoStep = this.get('steps').findProperty('id', 'logos'); + if (!logoStep) { return; } + return logoStep.get('fieldsById.logo_url.value'); + + }, + + // A bit clunky, but get the current colors from the appropriate step + getCurrentColors() { + const colorStep = this.get('steps').findProperty('id', 'colors'); + if (!colorStep) { return; } + + const themeChoice = colorStep.get('fieldsById.theme_id'); + if (!themeChoice) { return; } + + const themeId = themeChoice.get('value'); + if (!themeId) { return; } + + const choices = themeChoice.get('choices'); + if (!choices) { return; } + + const option = choices.findProperty('id', themeId); + if (!option) { return; } + + return option.data.colors; + } + +}); + +export function findWizard() { + return ajax({ url: '/wizard.json' }).then(response => { + const wizard = response.wizard; + wizard.steps = wizard.steps.map(step => { + const stepObj = Step.create(step); + stepObj.fields = stepObj.fields.map(f => WizardField.create(f)); + return stepObj; + }); + + return Wizard.create(wizard); + }); +} diff --git a/app/assets/javascripts/wizard/router.js.es6 b/app/assets/javascripts/wizard/router.js.es6 new file mode 100644 index 000000000..57cea9cf6 --- /dev/null +++ b/app/assets/javascripts/wizard/router.js.es6 @@ -0,0 +1,10 @@ +const Router = Ember.Router.extend({ + rootURL: '/wizard', + location: Ember.testing ? 'none': 'history' +}); + +Router.map(function() { + this.route('step', { path: '/steps/:step_id' }); +}); + +export default Router; diff --git a/app/assets/javascripts/wizard/routes/application.js.es6 b/app/assets/javascripts/wizard/routes/application.js.es6 new file mode 100644 index 000000000..e2aa69ac0 --- /dev/null +++ b/app/assets/javascripts/wizard/routes/application.js.es6 @@ -0,0 +1,7 @@ +import { findWizard } from 'wizard/models/wizard'; + +export default Ember.Route.extend({ + model() { + return findWizard(); + } +}); diff --git a/app/assets/javascripts/wizard/routes/index.js.es6 b/app/assets/javascripts/wizard/routes/index.js.es6 new file mode 100644 index 000000000..6a4979820 --- /dev/null +++ b/app/assets/javascripts/wizard/routes/index.js.es6 @@ -0,0 +1,6 @@ +export default Ember.Route.extend({ + beforeModel() { + const appModel = this.modelFor('application'); + this.replaceWith('step', appModel.start); + } +}); diff --git a/app/assets/javascripts/wizard/routes/step.js.es6 b/app/assets/javascripts/wizard/routes/step.js.es6 new file mode 100644 index 000000000..152bf7a49 --- /dev/null +++ b/app/assets/javascripts/wizard/routes/step.js.es6 @@ -0,0 +1,15 @@ +export default Ember.Route.extend({ + model(params) { + const allSteps = this.modelFor('application').steps; + const step = allSteps.findProperty('id', params.step_id); + return step ? step : allSteps[0]; + }, + + setupController(controller, step) { + this.controllerFor('application').set('currentStepId', step.get('id')); + + controller.setProperties({ + step, wizard: this.modelFor('application') + }); + } +}); diff --git a/app/assets/javascripts/wizard/templates/application.hbs b/app/assets/javascripts/wizard/templates/application.hbs new file mode 100644 index 000000000..bef41d850 --- /dev/null +++ b/app/assets/javascripts/wizard/templates/application.hbs @@ -0,0 +1,12 @@ +{{#if showCanvas}} + {{wizard-canvas}} +{{/if}} + +<div class='wizard-column'> + <div class='wizard-column-contents'> + {{outlet}} + </div> + <div class='wizard-footer'> + <img src="/images/wizard/discourse.png" class="logo"> + </div> +</div> diff --git a/app/assets/javascripts/wizard/templates/components/invite-list-user.hbs b/app/assets/javascripts/wizard/templates/components/invite-list-user.hbs new file mode 100644 index 000000000..b957827ad --- /dev/null +++ b/app/assets/javascripts/wizard/templates/components/invite-list-user.hbs @@ -0,0 +1,6 @@ +<span class='email'>{{user.email}}</span> +<span class='role'>{{roleName}}</span> + +<button class="wizard-btn small danger remove-user" {{action "removeUser" user}}> + {{fa-icon "times"}} +</button> diff --git a/app/assets/javascripts/wizard/templates/components/invite-list.hbs b/app/assets/javascripts/wizard/templates/components/invite-list.hbs new file mode 100644 index 000000000..fb0299b70 --- /dev/null +++ b/app/assets/javascripts/wizard/templates/components/invite-list.hbs @@ -0,0 +1,20 @@ + +{{#if users}} +<div class="users-list"> + {{#each users as |user|}} + {{invite-list-user user=user roles=roles removeUser="removeUser"}} + {{/each}} +</div> +{{/if}} + +<div class="new-user"> + <div class="text-field {{if invalid 'invalid'}}"> + {{input class="invite-email" value=inviteEmail placeholder="user@example.com"}} + </div> + + {{combo-box value=inviteRole content=roles nameProperty="label" width="200px"}} + + <button class="wizard-btn small add-user" {{action "addUser"}}> + {{fa-icon "plus"}}{{i18n "wizard.invites.add_user"}} + </button> +</div> diff --git a/app/assets/javascripts/wizard/templates/components/radio-button.hbs b/app/assets/javascripts/wizard/templates/components/radio-button.hbs new file mode 100644 index 000000000..c76368118 --- /dev/null +++ b/app/assets/javascripts/wizard/templates/components/radio-button.hbs @@ -0,0 +1,17 @@ +<div class='radio-area'> + <input type="radio" name={{label}}> + <span class='radio-label'> + {{#if icon}} + {{fa-icon icon}} + {{/if}} + {{label}} + </span> + {{#if extraLabel}} + <span class='extra-label'> + {{{extraLabel}}} + </span> + {{/if}} +</div> +<div class='radio-description'> + {{description}} +</div> diff --git a/app/assets/javascripts/wizard/templates/components/staff-count.hbs b/app/assets/javascripts/wizard/templates/components/staff-count.hbs new file mode 100644 index 000000000..e8f6a1f2f --- /dev/null +++ b/app/assets/javascripts/wizard/templates/components/staff-count.hbs @@ -0,0 +1,5 @@ +{{#if showStaffCount}} + <div class='staff-count'> + {{i18n "wizard.staff_count" count=field.value}} + </div> +{{/if}} diff --git a/app/assets/javascripts/wizard/templates/components/theme-preview.hbs b/app/assets/javascripts/wizard/templates/components/theme-preview.hbs new file mode 100644 index 000000000..a4950856a --- /dev/null +++ b/app/assets/javascripts/wizard/templates/components/theme-preview.hbs @@ -0,0 +1,4 @@ +<div class='preview-area'> + <canvas width={{width}} height={{height}}> + </canvas> +</div> diff --git a/app/assets/javascripts/wizard/templates/components/wizard-field-dropdown.hbs b/app/assets/javascripts/wizard/templates/components/wizard-field-dropdown.hbs new file mode 100644 index 000000000..6be3fc1a8 --- /dev/null +++ b/app/assets/javascripts/wizard/templates/components/wizard-field-dropdown.hbs @@ -0,0 +1,6 @@ +{{combo-box elementId=field.id + class=fieldClass + value=field.value + content=field.choices + nameProperty="label" + width="400px"}} diff --git a/app/assets/javascripts/wizard/templates/components/wizard-field-image.hbs b/app/assets/javascripts/wizard/templates/components/wizard-field-image.hbs new file mode 100644 index 000000000..209f344e0 --- /dev/null +++ b/app/assets/javascripts/wizard/templates/components/wizard-field-image.hbs @@ -0,0 +1,14 @@ +{{#if field.value}} + {{component previewComponent field=field fieldClass=fieldClass wizard=wizard}} +{{/if}} + +<label class="wizard-btn wizard-btn-upload {{if uploading 'disabled'}}"> + {{#if uploading}} + {{i18n "wizard.uploading"}} + {{else}} + {{i18n "wizard.upload"}} + {{fa-icon "picture-o"}} + {{/if}} + + <input disabled={{uploading}} type="file" accept="image/*" style="visibility: hidden; position: absolute;" /> +</label> diff --git a/app/assets/javascripts/wizard/templates/components/wizard-field-radio.hbs b/app/assets/javascripts/wizard/templates/components/wizard-field-radio.hbs new file mode 100644 index 000000000..c4697794c --- /dev/null +++ b/app/assets/javascripts/wizard/templates/components/wizard-field-radio.hbs @@ -0,0 +1,11 @@ +{{#each field.choices as |c|}} + <div class="radio-field-choice"> + {{radio-button value=field.value + radioValue=c.id + label=c.label + extraLabel=c.extra_label + icon=c.icon + description=c.description + onChange="changed"}} + </div> +{{/each}} diff --git a/app/assets/javascripts/wizard/templates/components/wizard-field-text.hbs b/app/assets/javascripts/wizard/templates/components/wizard-field-text.hbs new file mode 100644 index 000000000..0a5d877a8 --- /dev/null +++ b/app/assets/javascripts/wizard/templates/components/wizard-field-text.hbs @@ -0,0 +1 @@ +{{input elementId=field.id value=field.value class=fieldClass placeholder=field.placeholder}} diff --git a/app/assets/javascripts/wizard/templates/components/wizard-field-textarea.hbs b/app/assets/javascripts/wizard/templates/components/wizard-field-textarea.hbs new file mode 100644 index 000000000..8e2c042af --- /dev/null +++ b/app/assets/javascripts/wizard/templates/components/wizard-field-textarea.hbs @@ -0,0 +1 @@ +{{textarea elementId=field.id value=field.value class=fieldClass placeholder=field.placeholder}} diff --git a/app/assets/javascripts/wizard/templates/components/wizard-field.hbs b/app/assets/javascripts/wizard/templates/components/wizard-field.hbs new file mode 100644 index 000000000..37c216baa --- /dev/null +++ b/app/assets/javascripts/wizard/templates/components/wizard-field.hbs @@ -0,0 +1,15 @@ +<label for={{field.id}}> + <span class='label-value'>{{field.label}}</span> + + {{#if field.description}} + <div class='field-description'>{{{field.description}}}</div> + {{/if}} +</label> + +<div class='input-area'> + {{component inputComponentName field=field step=step fieldClass=fieldClass wizard=wizard}} +</div> + +{{#if field.errorDescription}} + <div class='field-error-description'>{{field.errorDescription}}</div> +{{/if}} diff --git a/app/assets/javascripts/wizard/templates/components/wizard-image-preview.hbs b/app/assets/javascripts/wizard/templates/components/wizard-image-preview.hbs new file mode 100644 index 000000000..c046ed579 --- /dev/null +++ b/app/assets/javascripts/wizard/templates/components/wizard-image-preview.hbs @@ -0,0 +1 @@ +<img src={{field.value}} class={{fieldClass}}> diff --git a/app/assets/javascripts/wizard/templates/components/wizard-step.hbs b/app/assets/javascripts/wizard/templates/components/wizard-step.hbs new file mode 100644 index 000000000..0395db926 --- /dev/null +++ b/app/assets/javascripts/wizard/templates/components/wizard-step.hbs @@ -0,0 +1,54 @@ +<div class='wizard-step-contents'> + {{#if step.title}} + <h1 class='wizard-step-title'>{{step.title}}</h1> + {{/if}} + + {{#if bannerImage}} + <img src={{bannerImage}} class="wizard-step-banner"> + {{/if}} + + {{#if step.description}} + <p class='wizard-step-description'>{{{step.description}}}</p> + {{/if}} + + + {{#wizard-step-form step=step}} + {{#each step.fields as |field|}} + {{wizard-field field=field step=step wizard=wizard}} + {{/each}} + {{/wizard-step-form}} +</div> + +<div class='wizard-step-footer'> + + <div class='wizard-progress'> + <div class='white'></div> + <div class='black' style={{barStyle}}></div> + <div class='screen'></div> + <span>{{bound-i18n "wizard.step" current=step.displayIndex total=wizard.totalSteps}}</span> + </div> + + <div class='wizard-buttons'> + {{#if showQuitButton}} + <a href {{action "quit"}} class='action-link quit'>{{i18n "wizard.quit"}}</a> + {{/if}} + + {{#if showBackButton}} + <a href {{action "backStep"}} class='action-link back'>{{i18n "wizard.back"}}</a> + {{/if}} + + {{#if showNextButton}} + <button class='wizard-btn next primary' {{action "nextStep"}} disabled={{saving}}> + {{i18n "wizard.next"}} + {{fa-icon "chevron-right"}} + </button> + {{/if}} + + {{#if showDoneButton}} + <button class='wizard-btn done' {{action "quit"}} disabled={{saving}}> + {{i18n "wizard.done"}} + </button> + {{/if}} + </div> + +</div> diff --git a/app/assets/javascripts/wizard/templates/step.hbs b/app/assets/javascripts/wizard/templates/step.hbs new file mode 100644 index 000000000..2e00198a9 --- /dev/null +++ b/app/assets/javascripts/wizard/templates/step.hbs @@ -0,0 +1 @@ +{{wizard-step step=step wizard=wizard goNext="goNext" goBack="goBack"}} diff --git a/app/assets/javascripts/wizard/test/acceptance/wizard-test.js.es6 b/app/assets/javascripts/wizard/test/acceptance/wizard-test.js.es6 new file mode 100644 index 000000000..fb95fa7ab --- /dev/null +++ b/app/assets/javascripts/wizard/test/acceptance/wizard-test.js.es6 @@ -0,0 +1,73 @@ +import startApp from 'wizard/test/helpers/start-app'; + +var wizard; +module("Acceptance: wizard", { + beforeEach() { + wizard = startApp(); + }, + + teardown() { + Ember.run(wizard, 'destroy'); + } +}); + +test("Wizard starts", assert => { + visit("/"); + andThen(() => { + assert.ok(exists('.wizard-column-contents')); + assert.equal(currentPath(), 'step'); + }); +}); + +test("Going back and forth in steps", assert => { + visit("/steps/hello-world"); + andThen(() => { + assert.ok(exists('.wizard-step')); + assert.ok(exists('.wizard-step-hello-world'), 'it adds a class for the step id'); + + assert.ok(exists('.wizard-progress')); + assert.ok(exists('.wizard-step-title')); + assert.ok(exists('.wizard-step-description')); + assert.ok(!exists('.invalid .field-full-name'), "don't show it as invalid until the user does something"); + assert.ok(exists('.wizard-field .field-description')); + assert.ok(!exists('.wizard-btn.back')); + assert.ok(!exists('.wizard-field .field-error-description')); + }); + + // invalid data + click('.wizard-btn.next'); + andThen(() => { + assert.ok(exists('.invalid .field-full-name')); + }); + + // server validation fail + fillIn('input.field-full-name', "Server Fail"); + click('.wizard-btn.next'); + andThen(() => { + assert.ok(exists('.invalid .field-full-name')); + assert.ok(exists('.wizard-field .field-error-description')); + }); + + // server validation ok + fillIn('input.field-full-name', "Evil Trout"); + click('.wizard-btn.next'); + andThen(() => { + assert.ok(!exists('.wizard-field .field-error-description')); + assert.ok(!exists('.wizard-step-title')); + assert.ok(!exists('.wizard-step-description')); + + assert.ok(exists('select.field-snack'), "went to the next step"); + assert.ok(exists('.preview-area'), "renders the component field"); + + assert.ok(!exists('.wizard-btn.next')); + assert.ok(exists('.wizard-btn.done'), 'last step shows a done button'); + assert.ok(exists('.action-link.back'), 'shows the back button'); + }); + + click('.action-link.back'); + andThen(() => { + assert.ok(exists('.wizard-step-title')); + assert.ok(exists('.wizard-btn.next')); + assert.ok(!exists('.wizard-prev')); + }); +}); diff --git a/app/assets/javascripts/wizard/test/components/invite-list-test.js.es6 b/app/assets/javascripts/wizard/test/components/invite-list-test.js.es6 new file mode 100644 index 000000000..87f6447aa --- /dev/null +++ b/app/assets/javascripts/wizard/test/components/invite-list-test.js.es6 @@ -0,0 +1,63 @@ +import { componentTest } from 'wizard/test/helpers/component-test'; + +moduleForComponent('invite-list', { integration: true }); + +componentTest('can add users', { + template: `{{invite-list field=field}}`, + + setup() { + this.set('field', {}); + }, + + test(assert) { + assert.ok(this.$('.users-list .invite-list-user').length === 0, 'no users at first'); + assert.ok(this.$('.new-user .invalid').length === 0, 'not invalid at first'); + + const firstVal = JSON.parse(this.get('field.value')); + assert.equal(firstVal.length, 0, 'empty JSON at first'); + + assert.ok(this.get('field.warning'), 'it has a warning since no users were added'); + + click('.add-user'); + andThen(() => { + assert.ok(this.$('.users-list .invite-list-user').length === 0, "doesn't add a blank user"); + assert.ok(this.$('.new-user .invalid').length === 1); + }); + + fillIn('.invite-email', 'eviltrout@example.com'); + click('.add-user'); + + andThen(() => { + assert.ok(this.$('.users-list .invite-list-user').length === 1, 'adds the user'); + assert.ok(this.$('.new-user .invalid').length === 0); + + const val = JSON.parse(this.get('field.value')); + assert.equal(val.length, 1); + assert.equal(val[0].email, 'eviltrout@example.com', 'adds the email to the JSON'); + assert.ok(val[0].role.length, 'adds the role to the JSON'); + assert.ok(!this.get('field.warning'), 'no warning once the user is added'); + }); + + fillIn('.invite-email', 'eviltrout@example.com'); + click('.add-user'); + + andThen(() => { + assert.ok(this.$('.users-list .invite-list-user').length === 1, "can't add the same user twice"); + assert.ok(this.$('.new-user .invalid').length === 1); + }); + + fillIn('.invite-email', 'not-an-email'); + click('.add-user'); + + andThen(() => { + assert.ok(this.$('.users-list .invite-list-user').length === 1, "won't add an invalid email"); + assert.ok(this.$('.new-user .invalid').length === 1); + }); + + click('.invite-list .invite-list-user:eq(0) .remove-user'); + andThen(() => { + assert.ok(this.$('.users-list .invite-list-user').length === 0, 'removed the user'); + }); + } + +}); diff --git a/app/assets/javascripts/wizard/test/helpers/component-test.js.es6 b/app/assets/javascripts/wizard/test/helpers/component-test.js.es6 new file mode 100644 index 000000000..806c9af8a --- /dev/null +++ b/app/assets/javascripts/wizard/test/helpers/component-test.js.es6 @@ -0,0 +1,16 @@ +import initializer from 'wizard/initializers/load-helpers'; + +export function componentTest(name, opts) { + opts = opts || {}; + + test(name, function(assert) { + initializer.initialize(); + + if (opts.setup) { + opts.setup.call(this); + } + + andThen(() => this.render(opts.template)); + andThen(() => opts.test.call(this, assert)); + }); +} diff --git a/app/assets/javascripts/wizard/test/helpers/start-app.js.es6 b/app/assets/javascripts/wizard/test/helpers/start-app.js.es6 new file mode 100644 index 000000000..7d701562b --- /dev/null +++ b/app/assets/javascripts/wizard/test/helpers/start-app.js.es6 @@ -0,0 +1,19 @@ +import Wizard from 'wizard/wizard'; +import initializer from 'wizard/initializers/load-helpers'; + +let app; +let started = false; + +export default function() { + Ember.run(() => app = Wizard.create({ rootElement: '#ember-testing' })); + + if (!started) { + initializer.initialize(); + app.start(); + started = true; + } + app.setupForTesting(); + app.injectTestHelpers(); + return app; +} + diff --git a/app/assets/javascripts/wizard/test/models/wizard-field-test.js.es6 b/app/assets/javascripts/wizard/test/models/wizard-field-test.js.es6 new file mode 100644 index 000000000..91b91880d --- /dev/null +++ b/app/assets/javascripts/wizard/test/models/wizard-field-test.js.es6 @@ -0,0 +1,34 @@ +import WizardField from 'wizard/models/wizard-field'; + +module("model:wizard-field"); + +test('basic state', assert => { + const w = WizardField.create({ type: 'text' }); + assert.ok(w.get('unchecked')); + assert.ok(!w.get('valid')); + assert.ok(!w.get('invalid')); +}); + +test('text - required - validation', assert => { + const w = WizardField.create({ type: 'text', required: true }); + assert.ok(w.get('unchecked')); + + w.check(); + assert.ok(!w.get('unchecked')); + assert.ok(!w.get('valid')); + assert.ok(w.get('invalid')); + + w.set('value', 'a value'); + w.check(); + assert.ok(!w.get('unchecked')); + assert.ok(w.get('valid')); + assert.ok(!w.get('invalid')); +}); + +test('text - optional - validation', assert => { + const f = WizardField.create({ type: 'text' }); + assert.ok(f.get('unchecked')); + + f.check(); + assert.ok(f.get('valid')); +}); diff --git a/app/assets/javascripts/wizard/test/test_helper.js b/app/assets/javascripts/wizard/test/test_helper.js new file mode 100644 index 000000000..699abf017 --- /dev/null +++ b/app/assets/javascripts/wizard/test/test_helper.js @@ -0,0 +1,56 @@ +/*global document, sinon, Logster, QUnit */ + +//= require env +//= require jquery.debug +//= require loader +//= require jquery.debug +//= require handlebars +//= require ember.debug +//= require ember-template-compiler +//= require ember-qunit +//= require ember-shim +//= require wizard-application +//= require wizard-vendor +//= require helpers/assertions +//= require_tree ./helpers +//= require_tree ./acceptance +//= require_tree ./models +//= require_tree ./components +//= require locales/en +//= require fake_xml_http_request +//= require route-recognizer +//= require pretender +//= require ./wizard-pretender + +// Trick JSHint into allow document.write +var d = document; +d.write('<div id="ember-testing-container"><div id="ember-testing"></div></div>'); +d.write('<style>#ember-testing-container { position: absolute; background: white; bottom: 0; right: 0; width: 640px; height: 384px; overflow: auto; z-index: 9999; border: 1px solid #ccc; } #ember-testing { zoom: 50%; }</style>'); + +if (window.Logster) { + Logster.enabled = false; +} else { + window.Logster = { enabled: false }; +} + +var createPretendServer = require('wizard/test/wizard-pretender', null, null, false).default; + +var server; +QUnit.testStart(function() { + server = createPretendServer(); +}); + +QUnit.testDone(function() { + server.shutdown(); +}); + +require('wizard/test/helpers/start-app').default(); + +var buildResolver = require('discourse-common/resolver').buildResolver; +window.setResolver(buildResolver('wizard').create()); + +Object.keys(requirejs.entries).forEach(function(entry) { + if ((/\-test/).test(entry)) { + require(entry, null, null, true); + } +}); diff --git a/app/assets/javascripts/wizard/test/wizard-pretender.js.es6 b/app/assets/javascripts/wizard/test/wizard-pretender.js.es6 new file mode 100644 index 000000000..1ede6fdfb --- /dev/null +++ b/app/assets/javascripts/wizard/test/wizard-pretender.js.es6 @@ -0,0 +1,90 @@ +// TODO: This file has some copied and pasted functions from `create-pretender` - would be good +// to centralize that code at some point. + +function parsePostData(query) { + const result = {}; + query.split("&").forEach(function(part) { + const item = part.split("="); + const firstSeg = decodeURIComponent(item[0]); + const m = /^([^\[]+)\[([^\]]+)\]/.exec(firstSeg); + + const val = decodeURIComponent(item[1]).replace(/\+/g, ' '); + if (m) { + result[m[1]] = result[m[1]] || {}; + result[m[1]][m[2]] = val; + } else { + result[firstSeg] = val; + } + + }); + return result; +} + +function response(code, obj) { + if (typeof code === "object") { + obj = code; + code = 200; + } + return [code, {"Content-Type": "application/json"}, obj]; +} + +export default function() { + const server = new Pretender(function() { + + this.get('/wizard.json', () => { + return response(200, { + wizard: { + start: 'hello-world', + steps: [{ + id: 'hello-world', + title: 'hello there', + index: 0, + description: 'hello!', + fields: [{ id: 'full_name', + type: 'text', + required: true, + description: "Your name" }], + next: 'second-step' + }, + { + id: 'second-step', + index: 1, + fields: [ + { id: 'snack', type: 'dropdown', required: true }, + { id: 'theme-preview', type: 'component' }, + { id: 'an-image', type: 'image' } + ], + previous: 'hello-world' + }] + } + }); + }); + + this.put('/wizard/steps/:id', request => { + const body = parsePostData(request.requestBody); + + if (body.fields.full_name === "Server Fail") { + return response(422, { + errors: [{ field: "full_name", description: "Invalid name" }] + }); + } else { + return response(200, { success: true }); + } + }); + }); + + server.prepareBody = function(body){ + if (body && typeof body === "object") { + return JSON.stringify(body); + } + return body; + }; + + server.unhandledRequest = function(verb, path) { + const error = 'Unhandled request in test environment: ' + path + ' (' + verb + ')'; + window.console.error(error); + throw error; + }; + + return server; +} diff --git a/app/assets/javascripts/wizard/wizard.js.es6 b/app/assets/javascripts/wizard/wizard.js.es6 new file mode 100644 index 000000000..5881ac473 --- /dev/null +++ b/app/assets/javascripts/wizard/wizard.js.es6 @@ -0,0 +1,16 @@ +import { buildResolver } from 'discourse-common/resolver'; + +export default Ember.Application.extend({ + rootElement: '#wizard-main', + Resolver: buildResolver('wizard'), + + start() { + Object.keys(requirejs._eak_seen).forEach(key => { + if (/\/initializers\//.test(key)) { + const module = require(key, null, null, true); + if (!module) { throw new Error(key + ' must export an initializer.'); } + this.instanceInitializer(module.default); + } + }); + } +}); diff --git a/app/assets/stylesheets/common/admin/admin_base.scss b/app/assets/stylesheets/common/admin/admin_base.scss index d8a734cf7..afb570536 100644 --- a/app/assets/stylesheets/common/admin/admin_base.scss +++ b/app/assets/stylesheets/common/admin/admin_base.scss @@ -1419,7 +1419,7 @@ table.api-keys { position: absolute; } -.staff-actions, .screened-emails, .screened-urls, .screened-ip-addresses, .permalinks { +.staff-actions, .screened-emails, .screened-urls, .screened-ip-addresses, .permalinks, .web-hook-events { border-bottom: dotted 1px dark-light-choose(scale-color($primary, $lightness: 75%), scale-color($secondary, $lightness: 25%)); @@ -1859,8 +1859,6 @@ table#user-badges { } .web-hook-events { - margin-top: 15px; - li { padding: 2px 0; } @@ -1874,7 +1872,7 @@ table#user-badges { } .col.first { - width: 30px; + width: 90px; } .col.event-id { @@ -1897,6 +1895,10 @@ table#user-badges { } } + .col.heading.actions { + padding: 4px 0; + } + .details { display: block; margin-top: 10px; @@ -1906,6 +1908,13 @@ table#user-badges { } } +.web-hook-events-listing { + margin-top: 15px; + .alert { + margin: 15px 0 0 0; + } +} + // Mobile specific styles // Mobile view text-inputs need some padding .mobile-view .admin-contents { diff --git a/app/assets/stylesheets/common/base/combobox.scss b/app/assets/stylesheets/common/base/combobox.scss index 4e1b81e48..f0def4372 100644 --- a/app/assets/stylesheets/common/base/combobox.scss +++ b/app/assets/stylesheets/common/base/combobox.scss @@ -1,3 +1,8 @@ +.select2-results .select2-highlighted { + background: dark-light-diff($highlight, $secondary, 50%, -80%); + color: $primary; +} + .category-combobox, .select2-drop { .badge-category { diff --git a/app/assets/stylesheets/common/base/topic-post.scss b/app/assets/stylesheets/common/base/topic-post.scss index 3f54be56e..5aa766227 100644 --- a/app/assets/stylesheets/common/base/topic-post.scss +++ b/app/assets/stylesheets/common/base/topic-post.scss @@ -153,22 +153,24 @@ aside.quote { } } -.topic-avatar { +.topic-avatar, .user-card-avatar { position: relative; } -.topic-avatar .avatar-flair, .avatar-flair-preview .avatar-flair { +.topic-avatar .avatar-flair, .avatar-flair-preview .avatar-flair, .user-card-avatar .avatar-flair { display: flex; align-items: center; justify-content: center; - background-size: 20px 20px; background-repeat: no-repeat; background-position: center; - width: 20px; - height: 20px; position: absolute; bottom: 0; right: -6px; +} +.topic-avatar .avatar-flair, .avatar-flair-preview .avatar-flair { + background-size: 20px 20px; + width: 20px; + height: 20px; &.rounded { background-size: 18px 18px; border-radius: 12px; @@ -178,6 +180,22 @@ aside.quote { right: -8px; } } +.user-card-avatar .avatar-flair { + background-size: 40px 40px; + width: 40px; + height: 40px; + &.rounded { + background-size: 30px 30px; + border-radius: 24px; + width: 40px; + height: 40px; + bottom: -2px; + right: -4px; + } + .fa { + font-size: 24px; + } +} .topic-avatar .poster-avatar-extra { display: none; } diff --git a/app/assets/stylesheets/desktop/user-card.scss b/app/assets/stylesheets/desktop/user-card.scss index f79eb81c4..69f951077 100644 --- a/app/assets/stylesheets/desktop/user-card.scss +++ b/app/assets/stylesheets/desktop/user-card.scss @@ -153,7 +153,7 @@ $user_card_background: $secondary; a.mention { text-decoration: none; } - + .overflow { max-height: 60px; overflow: hidden; @@ -172,7 +172,7 @@ $user_card_background: $secondary; } } - img.avatar { + .user-card-avatar { float: left; margin-right: 10px; margin-top: -53px; diff --git a/app/assets/stylesheets/desktop/user.scss b/app/assets/stylesheets/desktop/user.scss index 4c57444da..08036e0eb 100644 --- a/app/assets/stylesheets/desktop/user.scss +++ b/app/assets/stylesheets/desktop/user.scss @@ -178,7 +178,7 @@ } .user-right { - max-width: 700px; + width: 900px; margin-top: 20px; display: table-cell; } @@ -669,16 +669,10 @@ } } - .user-right .group-notification-menu { float: right; margin-bottom: 5px; } -.user-right.messages .topic-list { - thead, th.views, td.views { - display: none; - } -} .user-main .nav-stacked { &.activity-list { diff --git a/app/assets/stylesheets/vendor/select2.scss b/app/assets/stylesheets/vendor/select2.scss index 87080ec2f..5bd68377d 100644 --- a/app/assets/stylesheets/vendor/select2.scss +++ b/app/assets/stylesheets/vendor/select2.scss @@ -332,11 +332,6 @@ Version: @@ver@@ Timestamp: @@timestamp@@ .select2-results-dept-6 .select2-result-label { padding-left: 110px } .select2-results-dept-7 .select2-result-label { padding-left: 120px } -.select2-results .select2-highlighted { - background: dark-light-diff($highlight, $secondary, 50%, -80%); - color: $primary; -} - .select2-results li em { background: #feffde; font-style: normal; diff --git a/app/assets/stylesheets/vendor/sweetalert.css b/app/assets/stylesheets/vendor/sweetalert.css new file mode 100755 index 000000000..76f159d7f --- /dev/null +++ b/app/assets/stylesheets/vendor/sweetalert.css @@ -0,0 +1,932 @@ +body.stop-scrolling { + height: 100%; + overflow: hidden; } + +.sweet-overlay { + background-color: black; + /* IE8 */ + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + /* IE8 */ + background-color: rgba(0, 0, 0, 0.4); + position: fixed; + left: 0; + right: 0; + top: 0; + bottom: 0; + display: none; + z-index: 10000; } + +.sweet-alert { + background-color: white; + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + width: 478px; + padding: 17px; + border-radius: 5px; + text-align: center; + position: fixed; + left: 50%; + top: 50%; + margin-left: -256px; + margin-top: -200px; + overflow: hidden; + display: none; + z-index: 99999; } + @media all and (max-width: 540px) { + .sweet-alert { + width: auto; + margin-left: 0; + margin-right: 0; + left: 15px; + right: 15px; } } + .sweet-alert h2 { + color: #575757; + font-size: 30px; + text-align: center; + font-weight: 600; + text-transform: none; + position: relative; + margin: 25px 0; + padding: 0; + line-height: 40px; + display: block; } + .sweet-alert p { + color: #797979; + font-size: 16px; + text-align: center; + font-weight: 300; + position: relative; + text-align: inherit; + float: none; + margin: 0; + padding: 0; + line-height: normal; } + .sweet-alert fieldset { + border: none; + position: relative; } + .sweet-alert .sa-error-container { + background-color: #f1f1f1; + margin-left: -17px; + margin-right: -17px; + overflow: hidden; + padding: 0 10px; + max-height: 0; + webkit-transition: padding 0.15s, max-height 0.15s; + transition: padding 0.15s, max-height 0.15s; } + .sweet-alert .sa-error-container.show { + padding: 10px 0; + max-height: 100px; + webkit-transition: padding 0.2s, max-height 0.2s; + transition: padding 0.25s, max-height 0.25s; } + .sweet-alert .sa-error-container .icon { + display: inline-block; + width: 24px; + height: 24px; + border-radius: 50%; + background-color: #ea7d7d; + color: white; + line-height: 24px; + text-align: center; + margin-right: 3px; } + .sweet-alert .sa-error-container p { + display: inline-block; } + .sweet-alert .sa-input-error { + position: absolute; + top: 29px; + right: 26px; + width: 20px; + height: 20px; + opacity: 0; + -webkit-transform: scale(0.5); + transform: scale(0.5); + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; + -webkit-transition: all 0.1s; + transition: all 0.1s; } + .sweet-alert .sa-input-error::before, .sweet-alert .sa-input-error::after { + content: ""; + width: 20px; + height: 6px; + background-color: #f06e57; + border-radius: 3px; + position: absolute; + top: 50%; + margin-top: -4px; + left: 50%; + margin-left: -9px; } + .sweet-alert .sa-input-error::before { + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); } + .sweet-alert .sa-input-error::after { + -webkit-transform: rotate(45deg); + transform: rotate(45deg); } + .sweet-alert .sa-input-error.show { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); } + .sweet-alert input { + width: 100%; + box-sizing: border-box; + border-radius: 3px; + border: 1px solid #d7d7d7; + height: 43px; + margin-top: 10px; + margin-bottom: 17px; + font-size: 18px; + box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.06); + padding: 0 12px; + display: none; + -webkit-transition: all 0.3s; + transition: all 0.3s; } + .sweet-alert input:focus { + outline: none; + box-shadow: 0px 0px 3px #c4e6f5; + border: 1px solid #b4dbed; } + .sweet-alert input:focus::-moz-placeholder { + transition: opacity 0.3s 0.03s ease; + opacity: 0.5; } + .sweet-alert input:focus:-ms-input-placeholder { + transition: opacity 0.3s 0.03s ease; + opacity: 0.5; } + .sweet-alert input:focus::-webkit-input-placeholder { + transition: opacity 0.3s 0.03s ease; + opacity: 0.5; } + .sweet-alert input::-moz-placeholder { + color: #bdbdbd; } + .sweet-alert input:-ms-input-placeholder { + color: #bdbdbd; } + .sweet-alert input::-webkit-input-placeholder { + color: #bdbdbd; } + .sweet-alert.show-input input { + display: block; } + .sweet-alert .sa-confirm-button-container { + display: inline-block; + position: relative; } + .sweet-alert .la-ball-fall { + position: absolute; + left: 50%; + top: 50%; + margin-left: -27px; + margin-top: 4px; + opacity: 0; + visibility: hidden; } + .sweet-alert button { + background-color: #8CD4F5; + color: white; + border: none; + box-shadow: none; + font-size: 17px; + font-weight: 500; + -webkit-border-radius: 4px; + border-radius: 5px; + padding: 10px 32px; + margin: 26px 5px 0 5px; + cursor: pointer; } + .sweet-alert button:focus { + outline: none; + box-shadow: 0 0 2px rgba(128, 179, 235, 0.5), inset 0 0 0 1px rgba(0, 0, 0, 0.05); } + .sweet-alert button:hover { + background-color: #7ecff4; } + .sweet-alert button:active { + background-color: #5dc2f1; } + .sweet-alert button.cancel { + background-color: #C1C1C1; } + .sweet-alert button.cancel:hover { + background-color: #b9b9b9; } + .sweet-alert button.cancel:active { + background-color: #a8a8a8; } + .sweet-alert button.cancel:focus { + box-shadow: rgba(197, 205, 211, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.0470588) 0px 0px 0px 1px inset !important; } + .sweet-alert button[disabled] { + opacity: .6; + cursor: default; } + .sweet-alert button.confirm[disabled] { + color: transparent; } + .sweet-alert button.confirm[disabled] ~ .la-ball-fall { + opacity: 1; + visibility: visible; + transition-delay: 0s; } + .sweet-alert button::-moz-focus-inner { + border: 0; } + .sweet-alert[data-has-cancel-button=false] button { + box-shadow: none !important; } + .sweet-alert[data-has-confirm-button=false][data-has-cancel-button=false] { + padding-bottom: 40px; } + .sweet-alert .sa-icon { + width: 80px; + height: 80px; + border: 4px solid gray; + -webkit-border-radius: 40px; + border-radius: 40px; + border-radius: 50%; + margin: 20px auto; + padding: 0; + position: relative; + box-sizing: content-box; } + .sweet-alert .sa-icon.sa-error { + border-color: #F27474; } + .sweet-alert .sa-icon.sa-error .sa-x-mark { + position: relative; + display: block; } + .sweet-alert .sa-icon.sa-error .sa-line { + position: absolute; + height: 5px; + width: 47px; + background-color: #F27474; + display: block; + top: 37px; + border-radius: 2px; } + .sweet-alert .sa-icon.sa-error .sa-line.sa-left { + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + left: 17px; } + .sweet-alert .sa-icon.sa-error .sa-line.sa-right { + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + right: 16px; } + .sweet-alert .sa-icon.sa-warning { + border-color: #F8BB86; } + .sweet-alert .sa-icon.sa-warning .sa-body { + position: absolute; + width: 5px; + height: 47px; + left: 50%; + top: 10px; + -webkit-border-radius: 2px; + border-radius: 2px; + margin-left: -2px; + background-color: #F8BB86; } + .sweet-alert .sa-icon.sa-warning .sa-dot { + position: absolute; + width: 7px; + height: 7px; + -webkit-border-radius: 50%; + border-radius: 50%; + margin-left: -3px; + left: 50%; + bottom: 10px; + background-color: #F8BB86; } + .sweet-alert .sa-icon.sa-info { + border-color: #C9DAE1; } + .sweet-alert .sa-icon.sa-info::before { + content: ""; + position: absolute; + width: 5px; + height: 29px; + left: 50%; + bottom: 17px; + border-radius: 2px; + margin-left: -2px; + background-color: #C9DAE1; } + .sweet-alert .sa-icon.sa-info::after { + content: ""; + position: absolute; + width: 7px; + height: 7px; + border-radius: 50%; + margin-left: -3px; + top: 19px; + background-color: #C9DAE1; } + .sweet-alert .sa-icon.sa-success { + border-color: #A5DC86; } + .sweet-alert .sa-icon.sa-success::before, .sweet-alert .sa-icon.sa-success::after { + content: ''; + -webkit-border-radius: 40px; + border-radius: 40px; + border-radius: 50%; + position: absolute; + width: 60px; + height: 120px; + background: white; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); } + .sweet-alert .sa-icon.sa-success::before { + -webkit-border-radius: 120px 0 0 120px; + border-radius: 120px 0 0 120px; + top: -7px; + left: -33px; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + -webkit-transform-origin: 60px 60px; + transform-origin: 60px 60px; } + .sweet-alert .sa-icon.sa-success::after { + -webkit-border-radius: 0 120px 120px 0; + border-radius: 0 120px 120px 0; + top: -11px; + left: 30px; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + -webkit-transform-origin: 0px 60px; + transform-origin: 0px 60px; } + .sweet-alert .sa-icon.sa-success .sa-placeholder { + width: 80px; + height: 80px; + border: 4px solid rgba(165, 220, 134, 0.2); + -webkit-border-radius: 40px; + border-radius: 40px; + border-radius: 50%; + box-sizing: content-box; + position: absolute; + left: -4px; + top: -4px; + z-index: 2; } + .sweet-alert .sa-icon.sa-success .sa-fix { + width: 5px; + height: 90px; + background-color: white; + position: absolute; + left: 28px; + top: 8px; + z-index: 1; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); } + .sweet-alert .sa-icon.sa-success .sa-line { + height: 5px; + background-color: #A5DC86; + display: block; + border-radius: 2px; + position: absolute; + z-index: 2; } + .sweet-alert .sa-icon.sa-success .sa-line.sa-tip { + width: 25px; + left: 14px; + top: 46px; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); } + .sweet-alert .sa-icon.sa-success .sa-line.sa-long { + width: 47px; + right: 8px; + top: 38px; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); } + .sweet-alert .sa-icon.sa-custom { + background-size: contain; + border-radius: 0; + border: none; + background-position: center center; + background-repeat: no-repeat; } + +/* + * Animations + */ +@-webkit-keyframes showSweetAlert { + 0% { + transform: scale(0.7); + -webkit-transform: scale(0.7); } + 45% { + transform: scale(1.05); + -webkit-transform: scale(1.05); } + 80% { + transform: scale(0.95); + -webkit-transform: scale(0.95); } + 100% { + transform: scale(1); + -webkit-transform: scale(1); } } + +@keyframes showSweetAlert { + 0% { + transform: scale(0.7); + -webkit-transform: scale(0.7); } + 45% { + transform: scale(1.05); + -webkit-transform: scale(1.05); } + 80% { + transform: scale(0.95); + -webkit-transform: scale(0.95); } + 100% { + transform: scale(1); + -webkit-transform: scale(1); } } + +@-webkit-keyframes hideSweetAlert { + 0% { + transform: scale(1); + -webkit-transform: scale(1); } + 100% { + transform: scale(0.5); + -webkit-transform: scale(0.5); } } + +@keyframes hideSweetAlert { + 0% { + transform: scale(1); + -webkit-transform: scale(1); } + 100% { + transform: scale(0.5); + -webkit-transform: scale(0.5); } } + +@-webkit-keyframes slideFromTop { + 0% { + top: 0%; } + 100% { + top: 50%; } } + +@keyframes slideFromTop { + 0% { + top: 0%; } + 100% { + top: 50%; } } + +@-webkit-keyframes slideToTop { + 0% { + top: 50%; } + 100% { + top: 0%; } } + +@keyframes slideToTop { + 0% { + top: 50%; } + 100% { + top: 0%; } } + +@-webkit-keyframes slideFromBottom { + 0% { + top: 70%; } + 100% { + top: 50%; } } + +@keyframes slideFromBottom { + 0% { + top: 70%; } + 100% { + top: 50%; } } + +@-webkit-keyframes slideToBottom { + 0% { + top: 50%; } + 100% { + top: 70%; } } + +@keyframes slideToBottom { + 0% { + top: 50%; } + 100% { + top: 70%; } } + +.showSweetAlert[data-animation=pop] { + -webkit-animation: showSweetAlert 0.3s; + animation: showSweetAlert 0.3s; } + +.showSweetAlert[data-animation=none] { + -webkit-animation: none; + animation: none; } + +.showSweetAlert[data-animation=slide-from-top] { + -webkit-animation: slideFromTop 0.3s; + animation: slideFromTop 0.3s; } + +.showSweetAlert[data-animation=slide-from-bottom] { + -webkit-animation: slideFromBottom 0.3s; + animation: slideFromBottom 0.3s; } + +.hideSweetAlert[data-animation=pop] { + -webkit-animation: hideSweetAlert 0.2s; + animation: hideSweetAlert 0.2s; } + +.hideSweetAlert[data-animation=none] { + -webkit-animation: none; + animation: none; } + +.hideSweetAlert[data-animation=slide-from-top] { + -webkit-animation: slideToTop 0.4s; + animation: slideToTop 0.4s; } + +.hideSweetAlert[data-animation=slide-from-bottom] { + -webkit-animation: slideToBottom 0.3s; + animation: slideToBottom 0.3s; } + +@-webkit-keyframes animateSuccessTip { + 0% { + width: 0; + left: 1px; + top: 19px; } + 54% { + width: 0; + left: 1px; + top: 19px; } + 70% { + width: 50px; + left: -8px; + top: 37px; } + 84% { + width: 17px; + left: 21px; + top: 48px; } + 100% { + width: 25px; + left: 14px; + top: 45px; } } + +@keyframes animateSuccessTip { + 0% { + width: 0; + left: 1px; + top: 19px; } + 54% { + width: 0; + left: 1px; + top: 19px; } + 70% { + width: 50px; + left: -8px; + top: 37px; } + 84% { + width: 17px; + left: 21px; + top: 48px; } + 100% { + width: 25px; + left: 14px; + top: 45px; } } + +@-webkit-keyframes animateSuccessLong { + 0% { + width: 0; + right: 46px; + top: 54px; } + 65% { + width: 0; + right: 46px; + top: 54px; } + 84% { + width: 55px; + right: 0px; + top: 35px; } + 100% { + width: 47px; + right: 8px; + top: 38px; } } + +@keyframes animateSuccessLong { + 0% { + width: 0; + right: 46px; + top: 54px; } + 65% { + width: 0; + right: 46px; + top: 54px; } + 84% { + width: 55px; + right: 0px; + top: 35px; } + 100% { + width: 47px; + right: 8px; + top: 38px; } } + +@-webkit-keyframes rotatePlaceholder { + 0% { + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); } + 5% { + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); } + 12% { + transform: rotate(-405deg); + -webkit-transform: rotate(-405deg); } + 100% { + transform: rotate(-405deg); + -webkit-transform: rotate(-405deg); } } + +@keyframes rotatePlaceholder { + 0% { + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); } + 5% { + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); } + 12% { + transform: rotate(-405deg); + -webkit-transform: rotate(-405deg); } + 100% { + transform: rotate(-405deg); + -webkit-transform: rotate(-405deg); } } + +.animateSuccessTip { + -webkit-animation: animateSuccessTip 0.75s; + animation: animateSuccessTip 0.75s; } + +.animateSuccessLong { + -webkit-animation: animateSuccessLong 0.75s; + animation: animateSuccessLong 0.75s; } + +.sa-icon.sa-success.animate::after { + -webkit-animation: rotatePlaceholder 4.25s ease-in; + animation: rotatePlaceholder 4.25s ease-in; } + +@-webkit-keyframes animateErrorIcon { + 0% { + transform: rotateX(100deg); + -webkit-transform: rotateX(100deg); + opacity: 0; } + 100% { + transform: rotateX(0deg); + -webkit-transform: rotateX(0deg); + opacity: 1; } } + +@keyframes animateErrorIcon { + 0% { + transform: rotateX(100deg); + -webkit-transform: rotateX(100deg); + opacity: 0; } + 100% { + transform: rotateX(0deg); + -webkit-transform: rotateX(0deg); + opacity: 1; } } + +.animateErrorIcon { + -webkit-animation: animateErrorIcon 0.5s; + animation: animateErrorIcon 0.5s; } + +@-webkit-keyframes animateXMark { + 0% { + transform: scale(0.4); + -webkit-transform: scale(0.4); + margin-top: 26px; + opacity: 0; } + 50% { + transform: scale(0.4); + -webkit-transform: scale(0.4); + margin-top: 26px; + opacity: 0; } + 80% { + transform: scale(1.15); + -webkit-transform: scale(1.15); + margin-top: -6px; } + 100% { + transform: scale(1); + -webkit-transform: scale(1); + margin-top: 0; + opacity: 1; } } + +@keyframes animateXMark { + 0% { + transform: scale(0.4); + -webkit-transform: scale(0.4); + margin-top: 26px; + opacity: 0; } + 50% { + transform: scale(0.4); + -webkit-transform: scale(0.4); + margin-top: 26px; + opacity: 0; } + 80% { + transform: scale(1.15); + -webkit-transform: scale(1.15); + margin-top: -6px; } + 100% { + transform: scale(1); + -webkit-transform: scale(1); + margin-top: 0; + opacity: 1; } } + +.animateXMark { + -webkit-animation: animateXMark 0.5s; + animation: animateXMark 0.5s; } + +@-webkit-keyframes pulseWarning { + 0% { + border-color: #F8D486; } + 100% { + border-color: #F8BB86; } } + +@keyframes pulseWarning { + 0% { + border-color: #F8D486; } + 100% { + border-color: #F8BB86; } } + +.pulseWarning { + -webkit-animation: pulseWarning 0.75s infinite alternate; + animation: pulseWarning 0.75s infinite alternate; } + +@-webkit-keyframes pulseWarningIns { + 0% { + background-color: #F8D486; } + 100% { + background-color: #F8BB86; } } + +@keyframes pulseWarningIns { + 0% { + background-color: #F8D486; } + 100% { + background-color: #F8BB86; } } + +.pulseWarningIns { + -webkit-animation: pulseWarningIns 0.75s infinite alternate; + animation: pulseWarningIns 0.75s infinite alternate; } + +@-webkit-keyframes rotate-loading { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(360deg); } } + +@keyframes rotate-loading { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(360deg); } } + +/* Internet Explorer 9 has some special quirks that are fixed here */ +/* The icons are not animated. */ +/* This file is automatically merged into sweet-alert.min.js through Gulp */ +/* Error icon */ +.sweet-alert .sa-icon.sa-error .sa-line.sa-left { + -ms-transform: rotate(45deg) \9; } + +.sweet-alert .sa-icon.sa-error .sa-line.sa-right { + -ms-transform: rotate(-45deg) \9; } + +/* Success icon */ +.sweet-alert .sa-icon.sa-success { + border-color: transparent\9; } + +.sweet-alert .sa-icon.sa-success .sa-line.sa-tip { + -ms-transform: rotate(45deg) \9; } + +.sweet-alert .sa-icon.sa-success .sa-line.sa-long { + -ms-transform: rotate(-45deg) \9; } + +/*! + * Load Awesome v1.1.0 (http://github.danielcardoso.net/load-awesome/) + * Copyright 2015 Daniel Cardoso <@DanielCardoso> + * Licensed under MIT + */ +.la-ball-fall, +.la-ball-fall > div { + position: relative; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +.la-ball-fall { + display: block; + font-size: 0; + color: #fff; } + +.la-ball-fall.la-dark { + color: #333; } + +.la-ball-fall > div { + display: inline-block; + float: none; + background-color: currentColor; + border: 0 solid currentColor; } + +.la-ball-fall { + width: 54px; + height: 18px; } + +.la-ball-fall > div { + width: 10px; + height: 10px; + margin: 4px; + border-radius: 100%; + opacity: 0; + -webkit-animation: ball-fall 1s ease-in-out infinite; + -moz-animation: ball-fall 1s ease-in-out infinite; + -o-animation: ball-fall 1s ease-in-out infinite; + animation: ball-fall 1s ease-in-out infinite; } + +.la-ball-fall > div:nth-child(1) { + -webkit-animation-delay: -200ms; + -moz-animation-delay: -200ms; + -o-animation-delay: -200ms; + animation-delay: -200ms; } + +.la-ball-fall > div:nth-child(2) { + -webkit-animation-delay: -100ms; + -moz-animation-delay: -100ms; + -o-animation-delay: -100ms; + animation-delay: -100ms; } + +.la-ball-fall > div:nth-child(3) { + -webkit-animation-delay: 0ms; + -moz-animation-delay: 0ms; + -o-animation-delay: 0ms; + animation-delay: 0ms; } + +.la-ball-fall.la-sm { + width: 26px; + height: 8px; } + +.la-ball-fall.la-sm > div { + width: 4px; + height: 4px; + margin: 2px; } + +.la-ball-fall.la-2x { + width: 108px; + height: 36px; } + +.la-ball-fall.la-2x > div { + width: 20px; + height: 20px; + margin: 8px; } + +.la-ball-fall.la-3x { + width: 162px; + height: 54px; } + +.la-ball-fall.la-3x > div { + width: 30px; + height: 30px; + margin: 12px; } + +/* + * Animation + */ +@-webkit-keyframes ball-fall { + 0% { + opacity: 0; + -webkit-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -webkit-transform: translateY(145%); + transform: translateY(145%); } } + +@-moz-keyframes ball-fall { + 0% { + opacity: 0; + -moz-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -moz-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -moz-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -moz-transform: translateY(145%); + transform: translateY(145%); } } + +@-o-keyframes ball-fall { + 0% { + opacity: 0; + -o-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -o-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -o-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -o-transform: translateY(145%); + transform: translateY(145%); } } + +@keyframes ball-fall { + 0% { + opacity: 0; + -webkit-transform: translateY(-145%); + -moz-transform: translateY(-145%); + -o-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -webkit-transform: translateY(145%); + -moz-transform: translateY(145%); + -o-transform: translateY(145%); + transform: translateY(145%); } } diff --git a/app/assets/stylesheets/wizard.scss b/app/assets/stylesheets/wizard.scss new file mode 100644 index 000000000..bae9a0f28 --- /dev/null +++ b/app/assets/stylesheets/wizard.scss @@ -0,0 +1,460 @@ +@import "vendor/normalize"; +@import "vendor/font_awesome/font-awesome"; +@import "vendor/select2"; +@import "vendor/sweetalert"; + +body.wizard { + background-color: #fff; + background-image: url('/images/wizard/bubbles.png'); + background-repeat: repeat; + background-position: left top; + + color: #444; + + line-height: 1.4em; +} + +.wizard-warning { + font-family: sans-serif, + + p { + margin-top: 0; + } + + + fieldset { + display: none; + } + + h2 { + display: none; + } + .sa-icon { + display: none !important; + } +} + +.select { + width: 400px; +} +.select2-results .select2-highlighted { + background: #ff9; +} + +.wizard-canvas { + position: absolute; + top: 0; + left: 0; + z-index: 10; +} + +.staff-count { + font-weight: bold; +} + +.wizard-step-emoji { + + .radio-area { + display: flex; + flex-direction: row; + align-items: center; + + input { + flex: 1 0 0; + } + + span { + flex: 10 0 0; + } + + span.extra-label { + flex: 20 0 0; + } + } + + .emoji-preview { + margin-left: 1em; + img { + height: 40px; + width: 40px; + padding-right: 0.5em; + } + } +} + +.wizard-column { + position: relative; + z-index: 11; + background-color: white; + box-shadow: 0 5px 10px rgba(0,0,0,0.2); + box-sizing: border-box; + margin: 1.5em auto; + padding: 0; + max-width: 700px; + min-width: 280px; + width: 100%; + border: 1px solid #ccc; + + .wizard-step-contents { + min-height: 510px; + } + + .wizard-column-contents { + padding: 1.2em; + + h1 { + margin: 0 0 1em 0; + } + } + + .wizard-step-description { + margin-bottom: 2em; + } + .wizard-step-banner { + margin-bottom: 2em; + width: 660px; + } + + .wizard-footer { + border-top: 1px solid #ccc; + background-color: #eee; + padding: 0.5em; + img.logo { + height: 30px; + } + } + + .wizard-progress { + border: 1px solid #A3C1FF; + width: 200px; + height: 1.4em; + + div { + position: absolute; + height: 1.4em; + } + + .white { + background: white; + width: 200px; + z-index: 11; + } + + .black { + background: black; + transition: width .3s; + z-index: 12; + } + + span { + position: absolute; + font-size: 15px; + mix-blend-mode: difference; + color: white; + z-index: 13; + font-size: 0.8em; + left: 2em; + } + + .screen { + background-color: #A3C1FF; + mix-blend-mode: screen; + width: 200px; + z-index: 14; + } + } + + .action-link { + margin-right: 1em; + text-decoration: none; + color: #6699ff; + } + + .wizard-btn { + border-radius: 2px; + font-size: 1.0em; + border: 0px; + padding: 0.5em; + outline: 0; + transition: background-color .3s; + margin-right: 0.5em; + + background-color: #fff; + color: #333; + box-shadow: 0 1px 4px rgba(0, 0, 0, .4); + + &.small { + padding: 0.25em 0.5em; + font-size: 0.9em; + } + + &:hover { + background-color: #eee; + } + + &:active { + background-color: #ddd; + } + + &:disabled { + background-color: #ccc; + } + + &.disabled { + background-color: #ccc; + } + + i.fa-chevron-right { + margin-left: 0.25em; + font-size: 0.8em; + } + i.fa-chevron-left { + margin-right: 0.25em; + font-size: 0.8em; + } + } + + .wizard-btn.primary { + background-color: #6699ff; + color: white; + box-shadow: 0 1px 4px rgba(0, 0, 0, .6); + + &:hover { + background-color: #80B3FF; + } + + &:active { + background-color: #4D80E6; + } + + &:disabled { + background-color: #000167; + } + } + + .wizard-btn.danger { + background-color: #E60000; + color: white; + + &:hover { + background-color: #CC0000; + } + + &:active { + background-color: #B30000; + } + + &:disabled { + background-color: #990000; + } + } + + + .wizard-btn-upload { + clear: both; + display: inline-block; + .fa { + margin-left: 0.5em; + } + } + + .wizard-step-footer { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + + .wizard-btn.next { + min-width: 70px; + + i.fa-chevron-right { + margin-left: 0.25em; + font-size: 0.8em; + } + } + + .wizard-btn.back { + background-color: #fff; + color: #333; + box-shadow: 0 1px 4px rgba(0, 0, 0, .4); + + &:hover { + background-color: #eee; + } + + &:active { + background-color: #ddd; + } + + &:disabled { + background-color: #ccc; + } + } + + button.wizard-btn:last-child { + margin-right: 0; + } + + button.wizard-btn.done { + color: #fff; + background-color: #33B333; + + &:hover { + background-color: #4DCD4D; + } + + &:active { + background-color: #66E666; + } + + &:disabled { + background-color: #006700; + } + } + } + + .wizard-image-row { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + } + + .wizard-image-preview { + img.field-logo-url { + max-height: 40px; + } + img.field-logo-small-url { + max-height: 40px; + max-width: 80px; + } + img.field-favicon-url { + max-height: 16px; + max-width: 16px; + } + img.field-apple-touch-icon-url { + max-height: 40px; + max-width: 40px; + } + + padding: 0.1em; + border: 1px dotted #bbb; + } + + .wizard-field { + label .label-value { + font-weight: bold; + } + + .input-area { + margin-top: 0.5em; + } + + .field-error-description { + color: red; + font-weight: bold; + } + + .field-description { + color: #999; + margin-top: 0.5em; + + a { + color: #7B68EE; + } + } + + margin-bottom: 2em; + } +} + +.textarea-field { + textarea { + width: 100%; + height: 10em; + } + + &.invalid { + textarea { + padding: 3px; + border: 4px solid red; + border-radius: 3px; + } + } +} + +.text-field { + input { + width: 100%; + font-size: 1.2em; + padding: 6px; + border: 1px solid #ccc; + transition: border-color .5s; + outline: none; + } + + &.invalid { + input { + padding: 3px; + border: 4px solid red; + border-radius: 3px; + } + } +} + +.radio-field-choice { + margin-bottom: 1.5em; + + input { + outline: 0; + } + + .radio-label { + font-weight: bold; + margin-left: 0.5em; + } + .radio-description { + margin-top: 0.25em; + margin-left: 1.75em; + color: #777; + } +} + +.invite-list { + .users-list { + margin-bottom: 1em; + + .invite-list-user { + display: flex; + flex-direction: row; + justify-content: space-between; + margin-bottom: 1em; + + .email { + width: 330px; + } + + .role { + width: 200px; + } + } + } + + .new-user { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + margin-bottom: 1em; + + .invite-email { + width: 350px; + } + } + + button.add-user { + .fa { + margin-right: 0.5em; + } + } +} diff --git a/app/controllers/admin/web_hooks_controller.rb b/app/controllers/admin/web_hooks_controller.rb index d70048c74..af984f647 100644 --- a/app/controllers/admin/web_hooks_controller.rb +++ b/app/controllers/admin/web_hooks_controller.rb @@ -1,5 +1,5 @@ class Admin::WebHooksController < Admin::AdminController - before_filter :fetch_web_hook, only: %i(show update destroy list_events ping) + before_filter :fetch_web_hook, only: %i(show update destroy list_events bulk_events ping) def index limit = 50 @@ -63,7 +63,7 @@ class Admin::WebHooksController < Admin::AdminController json = { web_hook_events: serialize_data(@web_hook.web_hook_events.limit(limit).offset(offset), AdminWebHookEventSerializer), total_rows_web_hook_events: @web_hook.web_hook_events.count, - load_more_web_hook_events: admin_web_hook_events_path(limit: limit, offset: offset + limit, format: :json), + load_more_web_hook_events: web_hook_events_admin_api_index_path(limit: limit, offset: offset + limit, format: :json), extras: { web_hook_id: @web_hook.id } @@ -72,6 +72,12 @@ class Admin::WebHooksController < Admin::AdminController render json: MultiJson.dump(json), status: 200 end + def bulk_events + params.require(:ids) + web_hook_events = @web_hook.web_hook_events.where(id: params[:ids]) + render_serialized(web_hook_events, AdminWebHookEventSerializer) + end + def redeliver_event web_hook_event = WebHookEvent.find(params[:event_id]) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 1e1f5322d..ed040589e 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -172,10 +172,7 @@ class ApplicationController < ActionController::Base if notifications.present? notification_ids = notifications.split(",").map(&:to_i) - count = Notification.where(user_id: current_user.id, id: notification_ids, read: false).update_all(read: true) - if count > 0 - current_user.publish_notifications_state - end + Notification.read(current_user, notification_ids) cookies.delete('cn') end end @@ -464,6 +461,14 @@ class ApplicationController < ActionController::Base raise Discourse::InvalidAccess.new unless current_user && current_user.staff? end + def ensure_admin + raise Discourse::InvalidAccess.new unless current_user && current_user.admin? + end + + def ensure_wizard_enabled + raise Discourse::InvalidAccess.new unless SiteSetting.wizard_enabled? + end + def destination_url request.original_url unless request.original_url =~ /uploads/ end diff --git a/app/controllers/categories_controller.rb b/app/controllers/categories_controller.rb index 2e1706b58..8b59196ef 100644 --- a/app/controllers/categories_controller.rb +++ b/app/controllers/categories_controller.rb @@ -151,7 +151,7 @@ class CategoriesController < ApplicationController old_permissions = cat.permissions_params - if result = cat.update(category_params) + if result = cat.update_attributes(category_params) Scheduler::Defer.later "Log staff action change category settings" do @staff_action_logger.log_category_settings_change(@category, category_params, old_permissions) end diff --git a/app/controllers/extra_locales_controller.rb b/app/controllers/extra_locales_controller.rb new file mode 100644 index 000000000..d6819d8ae --- /dev/null +++ b/app/controllers/extra_locales_controller.rb @@ -0,0 +1,31 @@ +class ExtraLocalesController < ApplicationController + + layout :false + skip_before_filter :check_xhr, :preload_json + + def show + locale_str = I18n.locale.to_s + translations = JsLocaleHelper.translations_for(locale_str) + + bundle = params[:bundle] + raise Discourse::InvalidAccess.new unless bundle =~ /^[a-z]+$/ + for_key = translations[locale_str]["#{bundle}_js"] + + + if for_key.present? + js = <<-JS + (function() { + if (window.I18n) { + window.I18n.extras = window.I18n.extras || []; + window.I18n.extras.push(#{for_key.to_json}); + } + })(); + JS + else + js = "" + end + + + render text: js, content_type: "application/javascript" + end +end diff --git a/app/controllers/notifications_controller.rb b/app/controllers/notifications_controller.rb index 9831ee88c..7d2f0da89 100644 --- a/app/controllers/notifications_controller.rb +++ b/app/controllers/notifications_controller.rb @@ -6,27 +6,29 @@ class NotificationsController < ApplicationController def index user = current_user - if params[:recent].present? + user = User.find_by_username(params[:username].to_s) if params[:username] + guardian.ensure_can_see_notifications!(user) + + if params[:recent].present? limit = (params[:limit] || 15).to_i limit = 50 if limit > 50 notifications = Notification.recent_report(current_user, limit) + changed = false if notifications.present? # ordering can be off due to PMs max_id = notifications.map(&:id).max - current_user.saw_notification_id(max_id) unless params.has_key?(:silent) + changed = current_user.saw_notification_id(max_id) unless params.has_key?(:silent) end - current_user.reload - current_user.publish_notifications_state + user.reload + user.publish_notifications_state if changed - render_serialized(notifications, NotificationSerializer, root: :notifications) + render_json_dump(notifications: serialize_data(notifications, NotificationSerializer), + seen_notification_id: current_user.seen_notification_id) else offset = params[:offset].to_i - user = User.find_by_username(params[:username].to_s) if params[:username] - - guardian.ensure_can_see_notifications!(user) notifications = Notification.where(user_id: user.id) .visible @@ -37,17 +39,21 @@ class NotificationsController < ApplicationController notifications = notifications.offset(offset).limit(60) render_json_dump(notifications: serialize_data(notifications, NotificationSerializer), total_rows_notifications: total_rows, + seen_notification_id: user.seen_notification_id, load_more_notifications: notifications_path(username: user.username, offset: offset + 60)) end end def mark_read - Notification.where(user_id: current_user.id).includes(:topic).where(read: false).update_all(read: true) - - current_user.saw_notification_id(Notification.recent_report(current_user, 1).max) - current_user.reload - current_user.publish_notifications_state + if params[:id] + Notification.read(current_user, [params[:id].to_i]) + else + Notification.where(user_id: current_user.id).includes(:topic).where(read: false).update_all(read: true) + current_user.saw_notification_id(Notification.recent_report(current_user, 1).max.try(:id)) + current_user.reload + current_user.publish_notifications_state + end render json: success_json end diff --git a/app/controllers/session_controller.rb b/app/controllers/session_controller.rb index e0344c3cc..463c830e3 100644 --- a/app/controllers/session_controller.rb +++ b/app/controllers/session_controller.rb @@ -11,15 +11,17 @@ class SessionController < ApplicationController end def sso - return_path = if params[:return_path] - params[:return_path] - elsif session[:destination_url] - uri = URI::parse(session[:destination_url]) - "#{uri.path}#{uri.query ? "?" << uri.query : ""}" - else - path('/') + destination_url = cookies[:destination_url] || session[:destination_url] + return_path = params[:return_path] || path('/') + + if destination_url && return_path == path('/') + uri = URI::parse(destination_url) + return_path = "#{uri.path}#{uri.query ? "?" << uri.query : ""}" end + session.delete(:destination_url) + cookies.delete(:destination_url) + if SiteSetting.enable_sso? sso = DiscourseSingleSignOn.generate_sso(return_path) if SiteSetting.verbose_sso_logging diff --git a/app/controllers/steps_controller.rb b/app/controllers/steps_controller.rb new file mode 100644 index 000000000..005d2d7d7 --- /dev/null +++ b/app/controllers/steps_controller.rb @@ -0,0 +1,29 @@ +require_dependency 'wizard' +require_dependency 'wizard/builder' +require_dependency 'wizard/step_updater' + +class StepsController < ApplicationController + + before_filter :ensure_wizard_enabled + before_filter :ensure_logged_in + before_filter :ensure_admin + + def update + wizard = Wizard::Builder.new(current_user).build + updater = wizard.create_updater(params[:id], params[:fields]) + updater.update + + if updater.success? + result = { success: 'OK' } + result[:refresh_required] = true if updater.refresh_required? + render json: result + else + errors = [] + updater.errors.messages.each do |field, msg| + errors << {field: field, description: msg.join } + end + render json: { errors: errors }, status: 422 + end + end + +end diff --git a/app/controllers/topics_controller.rb b/app/controllers/topics_controller.rb index 95f26ce4a..d89041046 100644 --- a/app/controllers/topics_controller.rb +++ b/app/controllers/topics_controller.rb @@ -60,6 +60,13 @@ class TopicsController < ApplicationController opts[:slow_platform] = true if slow_platform? opts[:username_filters] = username_filters.split(',') if username_filters.is_a?(String) + # Special case: a slug with a number in front should look by slug first before looking + # up that particular number + if params[:id] && params[:id] =~ /^\d+[^\d\\]+$/ + topic = Topic.find_by(slug: params[:id].downcase) + return redirect_to_correct_topic(topic, opts[:post_number]) if topic && topic.visible + end + begin @topic_view = TopicView.new(params[:id] || params[:topic_id], current_user, opts) rescue Discourse::NotFound diff --git a/app/controllers/uploads_controller.rb b/app/controllers/uploads_controller.rb index 95413db5a..0f6ccba28 100644 --- a/app/controllers/uploads_controller.rb +++ b/app/controllers/uploads_controller.rb @@ -7,7 +7,7 @@ class UploadsController < ApplicationController file = params[:file] || params[:files].try(:first) url = params[:url] client_id = params[:client_id] - synchronous = is_api? && params[:synchronous] + synchronous = (current_user.staff? || is_api?) && params[:synchronous] if type == "avatar" if SiteSetting.sso_overrides_avatar || !SiteSetting.allow_uploaded_avatars diff --git a/app/controllers/user_api_keys_controller.rb b/app/controllers/user_api_keys_controller.rb index 8b532a100..20ba2d84a 100644 --- a/app/controllers/user_api_keys_controller.rb +++ b/app/controllers/user_api_keys_controller.rb @@ -20,7 +20,12 @@ class UserApiKeysController < ApplicationController unless current_user cookies[:destination_url] = request.fullpath - redirect_to path('/login') + + if SiteSetting.enable_sso? + redirect_to path('/session/sso') + else + redirect_to path('/login') + end return end diff --git a/app/controllers/users/omniauth_callbacks_controller.rb b/app/controllers/users/omniauth_callbacks_controller.rb index ffef101a6..5295b3a3f 100644 --- a/app/controllers/users/omniauth_callbacks_controller.rb +++ b/app/controllers/users/omniauth_callbacks_controller.rb @@ -39,10 +39,15 @@ class Users::OmniauthCallbacksController < ApplicationController @auth_result = authenticator.after_authenticate(auth) origin = request.env['omniauth.origin'] + if cookies[:destination_url].present? + origin = cookies[:destination_url] + cookies.delete(:destination_url) + end + if origin.present? - parsed = URI.parse(@origin) rescue nil + parsed = URI.parse(origin) rescue nil if parsed - @origin = parsed.path + @origin = "#{parsed.path}?#{parsed.query}" end end diff --git a/app/controllers/wizard_controller.rb b/app/controllers/wizard_controller.rb new file mode 100644 index 000000000..4b7bc82fa --- /dev/null +++ b/app/controllers/wizard_controller.rb @@ -0,0 +1,26 @@ +require_dependency 'wizard' +require_dependency 'wizard/builder' + +class WizardController < ApplicationController + before_filter :ensure_wizard_enabled, only: [:index] + before_filter :ensure_logged_in + before_filter :ensure_admin + + skip_before_filter :check_xhr, :preload_json + + layout false + + def index + respond_to do |format| + format.json do + wizard = Wizard::Builder.new(current_user).build + render_serialized(wizard, WizardSerializer) + end + format.html {} + end + end + + def qunit + end + +end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 7a9e06c79..d0e70b6b0 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -142,8 +142,9 @@ module ApplicationHelper opts ||= {} opts[:url] ||= "#{Discourse.base_url_no_prefix}#{request.fullpath}" - if opts[:image].blank? && SiteSetting.default_opengraph_image_url.present? - opts[:image] = SiteSetting.default_opengraph_image_url + if opts[:image].blank? && (SiteSetting.default_opengraph_image_url.present? || SiteSetting.twitter_summary_large_image_url.present?) + opts[:twitter_summary_large_image] = SiteSetting.twitter_summary_large_image_url if SiteSetting.twitter_summary_large_image_url.present? + opts[:image] = SiteSetting.default_opengraph_image_url.present? ? SiteSetting.default_opengraph_image_url : SiteSetting.twitter_summary_large_image_url elsif opts[:image].blank? && SiteSetting.apple_touch_icon_url.present? opts[:image] = SiteSetting.apple_touch_icon_url end @@ -156,12 +157,22 @@ module ApplicationHelper opts[:image] = "#{Discourse.base_url}#{opts[:image]}" end - # Add opengraph tags + # Add opengraph & twitter tags result = [] result << tag(:meta, property: 'og:site_name', content: SiteSetting.title) - result << tag(:meta, name: 'twitter:card', content: "summary") - [:url, :title, :description, :image].each do |property| + if opts[:twitter_summary_large_image].present? + result << tag(:meta, name: 'twitter:card', content: "summary_large_image") + result << tag(:meta, name: "twitter:image", content: opts[:twitter_summary_large_image]) + elsif opts[:image].present? + result << tag(:meta, name: 'twitter:card', content: "summary") + result << tag(:meta, name: "twitter:image", content: opts[:image]) + else + result << tag(:meta, name: 'twitter:card', content: "summary") + end + result << tag(:meta, property: "og:image", content: opts[:image]) if opts[:image].present? + + [:url, :title, :description].each do |property| if opts[property].present? escape = (property != :image) result << tag(:meta, { property: "og:#{property}", content: opts[property] }, nil, escape) diff --git a/app/jobs/regular/emit_web_hook_event.rb b/app/jobs/regular/emit_web_hook_event.rb index 56a31b6c7..87e273376 100644 --- a/app/jobs/regular/emit_web_hook_event.rb +++ b/app/jobs/regular/emit_web_hook_event.rb @@ -42,14 +42,14 @@ module Jobs headers = { 'Accept' => '*/*', 'Connection' => 'close', - 'Content-Length' => body.size, + 'Content-Length' => body.bytesize, 'Content-Type' => content_type, 'Host' => uri.host, 'User-Agent' => "Discourse/" + Discourse::VERSION::STRING, 'X-Discourse-Event-Id' => web_hook_event.id, 'X-Discourse-Event-Type' => @opts[:event_type] } - headers['X-Discourse-Event'] = @opts[:event_name] if @opts[:event_name].present? + headers['X-Discourse-Event'] = @opts[:event_name].to_s if @opts[:event_name].present? if @web_hook.secret.present? headers['X-Discourse-Event-Signature'] = "sha256=" + OpenSSL::HMAC.hexdigest("sha256", @web_hook.secret, body) @@ -67,6 +67,10 @@ module Jobs response_headers: MultiJson.dump(response.headers), response_body: response.body, duration: ((Time.zone.now - now) * 1000).to_i) + MessageBus.publish("/web_hook_events/#{@web_hook.id}", { + web_hook_event_id: web_hook_event.id, + event_type: @opts[:event_type] + }, user_ids: User.staff.pluck(:id)) end def build_web_hook_body diff --git a/app/jobs/scheduled/clean_up_uploads.rb b/app/jobs/scheduled/clean_up_uploads.rb index b4b55ae5c..88d29c0c8 100644 --- a/app/jobs/scheduled/clean_up_uploads.rb +++ b/app/jobs/scheduled/clean_up_uploads.rb @@ -11,6 +11,10 @@ module Jobs ignore_urls |= Category.uniq.where("logo_url IS NOT NULL AND logo_url != ''").pluck(:logo_url) ignore_urls |= Category.uniq.where("background_url IS NOT NULL AND background_url != ''").pluck(:background_url) + # Any URLs in site settings are fair game + ignore_urls |= [SiteSetting.logo_url, SiteSetting.logo_small_url, SiteSetting.favicon_url, + SiteSetting.apple_touch_icon_url] + ids = [] ids |= PostUpload.uniq.pluck(:upload_id) ids |= User.uniq.where("uploaded_avatar_id IS NOT NULL").pluck(:uploaded_avatar_id) diff --git a/app/jobs/onceoff/migrate_upload_scheme.rb b/app/jobs/scheduled/migrate_upload_scheme.rb similarity index 100% rename from app/jobs/onceoff/migrate_upload_scheme.rb rename to app/jobs/scheduled/migrate_upload_scheme.rb diff --git a/app/models/color_scheme.rb b/app/models/color_scheme.rb index 0c1867f45..11c022583 100644 --- a/app/models/color_scheme.rb +++ b/app/models/color_scheme.rb @@ -3,6 +3,32 @@ require_dependency 'distributed_cache' class ColorScheme < ActiveRecord::Base + def self.themes + base_with_hash = {} + base_colors.each do |name, color| + base_with_hash[name] = "##{color}" + end + + [ + { id: 'default', colors: base_with_hash }, + { + id: 'dark', + colors: { + "primary" => '#dddddd', + "secondary" => '#222222', + "tertiary" => '#0f82af', + "quaternary" => '#c14924', + "header_background" => '#111111', + "header_primary" => '#333333', + "highlight" => '#a87137', + "danger" => '#e45735', + "success" => '#1ca551', + "love" => '#fa6c8d' + } + } + ] + end + def self.hex_cache @hex_cache ||= DistributedCache.new("scheme_hex_for_name") end @@ -30,7 +56,7 @@ class ColorScheme < ActiveRecord::Base @mutex.synchronize do return @base_colors if @base_colors @base_colors = {} - read_colors_file.each do |line| + File.readlines(BASE_COLORS_FILE).each do |line| matches = /\$([\w]+):\s*#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})(?:[;]|\s)/.match(line.strip) @base_colors[matches[1]] = matches[2] if matches end @@ -38,10 +64,6 @@ class ColorScheme < ActiveRecord::Base @base_colors end - def self.read_colors_file - File.readlines(BASE_COLORS_FILE) - end - def self.enabled current_version.find_by(enabled: true) end @@ -114,7 +136,6 @@ class ColorScheme < ActiveRecord::Base DiscourseStylesheets.cache.clear end - def dump_hex_cache self.class.hex_cache.clear end diff --git a/app/models/discourse_single_sign_on.rb b/app/models/discourse_single_sign_on.rb index 86ed9cc75..fc9b9ce86 100644 --- a/app/models/discourse_single_sign_on.rb +++ b/app/models/discourse_single_sign_on.rb @@ -145,10 +145,15 @@ class DiscourseSingleSignOn < SingleSignOn user.name = name || User.suggest_name(username.blank? ? email : username) end - if (SiteSetting.sso_overrides_avatar && avatar_url.present? && ( - sso_record.external_avatar_url != avatar_url)) || avatar_force_update + avatar_missing = user.uploaded_avatar_id.nil? || !Upload.exists?(user.uploaded_avatar_id) - UserAvatar.import_url_for_user(avatar_url, user) + if (avatar_missing || avatar_force_update || SiteSetting.sso_overrides_avatar) && avatar_url.present? + + avatar_changed = sso_record.external_avatar_url != avatar_url + + if avatar_force_update || avatar_changed || avatar_missing + UserAvatar.import_url_for_user(avatar_url, user) + end end # change external attributes for sso record diff --git a/app/models/invite.rb b/app/models/invite.rb index b3c8a5457..0937ddf4f 100644 --- a/app/models/invite.rb +++ b/app/models/invite.rb @@ -73,19 +73,35 @@ class Invite < ActiveRecord::Base end def self.invite_by_email(email, invited_by, topic=nil, group_ids=nil, custom_message=nil) - create_invite_by_email(email, invited_by, topic, group_ids, true, custom_message) + create_invite_by_email(email, invited_by, { + topic: topic, + group_ids: group_ids, + custom_message: custom_message, + send_email: true + }) end # generate invite link def self.generate_invite_link(email, invited_by, topic=nil, group_ids=nil) - invite = create_invite_by_email(email, invited_by, topic, group_ids, false) + invite = create_invite_by_email(email, invited_by, { + topic: topic, + group_ids: group_ids, + send_email: false + }) return "#{Discourse.base_url}/invites/#{invite.invite_key}" if invite end # Create an invite for a user, supplying an optional topic # # Return the previously existing invite if already exists. Returns nil if the invite can't be created. - def self.create_invite_by_email(email, invited_by, topic=nil, group_ids=nil, send_email=true, custom_message=nil) + def self.create_invite_by_email(email, invited_by, opts=nil) + opts ||= {} + + topic = opts[:topic] + group_ids = opts[:group_ids] + send_email = opts[:send_email] || true + custom_message = opts[:custom_message] + lower_email = Email.downcase(email) user = User.find_by(email: lower_email) @@ -105,7 +121,9 @@ class Invite < ActiveRecord::Base end if !invite - invite = Invite.create!(invited_by: invited_by, email: lower_email) + create_args = { invited_by: invited_by, email: lower_email } + create_args[:moderator] = true if opts[:moderator] + invite = Invite.create!(create_args) end if topic && !invite.topic_invites.pluck(:topic_id).include?(topic.id) diff --git a/app/models/invite_redeemer.rb b/app/models/invite_redeemer.rb index e799caf45..05e5e31c3 100644 --- a/app/models/invite_redeemer.rb +++ b/app/models/invite_redeemer.rb @@ -30,6 +30,8 @@ InviteRedeemer = Struct.new(:invite, :username, :name) do available_name = name || available_username user = User.new(email: invite.email, username: available_username, name: available_name, active: true, trust_level: SiteSetting.default_invitee_trust_level) + + user.moderator = true if invite.moderator? && invite.invited_by.staff? user.save! user diff --git a/app/models/locale_site_setting.rb b/app/models/locale_site_setting.rb index b1e983abe..1cd924641 100644 --- a/app/models/locale_site_setting.rb +++ b/app/models/locale_site_setting.rb @@ -8,12 +8,21 @@ class LocaleSiteSetting < EnumSiteSetting def self.values supported_locales.map do |l| - {name: l, value: l} + lang = language_names[l] || language_names[l[0..1]] + {name: lang ? lang['nativeName'] : l, value: l} end end @lock = Mutex.new + def self.language_names + return @language_names if @language_names + + @lock.synchronize do + @language_names ||= YAML.load(File.read(File.join(Rails.root, 'config', 'locales', 'names.yml'))) + end + end + def self.supported_locales @lock.synchronize do @supported_locales ||= Dir.glob( File.join(Rails.root, 'config', 'locales', 'client.*.yml') ).map {|x| x.split('.')[-2]}.sort diff --git a/app/models/notification.rb b/app/models/notification.rb index b9c05f24a..404703254 100644 --- a/app/models/notification.rb +++ b/app/models/notification.rb @@ -60,6 +60,15 @@ class Notification < ActiveRecord::Base count end + def self.read(user, notification_ids) + count = Notification.where(user_id: user.id, + id: notification_ids, + read: false).update_all(read: true) + if count > 0 + user.publish_notifications_state + end + end + def self.interesting_after(min_date) result = where("created_at > ?", min_date) .includes(:topic) diff --git a/app/models/site_customization.rb b/app/models/site_customization.rb index 19d6f9778..cb043112c 100644 --- a/app/models/site_customization.rb +++ b/app/models/site_customization.rb @@ -47,7 +47,7 @@ PLUGIN_API_JS name = node["name"] || node["data-template-name"] || "broken" precompiled = if name =~ /\.raw$/ - "require('discourse/lib/raw-handlebars').template(#{Barber::Precompiler.compile(node.inner_html)})" + "require('discourse-common/lib/raw-handlebars').template(#{Barber::Precompiler.compile(node.inner_html)})" else "Ember.HTMLBars.template(#{Barber::Ember::Precompiler.compile(node.inner_html)})" end diff --git a/app/models/topic_embed.rb b/app/models/topic_embed.rb index f86d5e598..99bc6279c 100644 --- a/app/models/topic_embed.rb +++ b/app/models/topic_embed.rb @@ -81,7 +81,7 @@ class TopicEmbed < ActiveRecord::Base embed_classname_whitelist = SiteSetting.embed_classname_whitelist if SiteSetting.embed_classname_whitelist.present? response = FetchResponse.new - html = open(url).read + html = open(url, allow_redirections: :safe).read raw_doc = Nokogiri::HTML(html) auth_element = raw_doc.at('meta[@name="author"]') diff --git a/app/models/user.rb b/app/models/user.rb index 1e87cadaf..aacae0c97 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -87,6 +87,7 @@ class User < ActiveRecord::Base after_create :ensure_in_trust_level_group after_create :automatic_group_membership after_create :set_default_categories_preferences + after_create :trigger_user_created_event before_save :update_username_lower before_save :ensure_password_is_hashed @@ -266,7 +267,12 @@ class User < ActiveRecord::Base self.approved_at = Time.now - send_approval_email if save and send_mail + if result = save + send_approval_email if send_mail + DiscourseEvent.trigger(:user_approved, self) + end + + result end def self.email_hash(email) @@ -329,8 +335,12 @@ class User < ActiveRecord::Base end def saw_notification_id(notification_id) - User.where("id = ? and seen_notification_id < ?", id, notification_id) - .update_all ["seen_notification_id = ?", notification_id] + if seen_notification_id.to_i < notification_id.to_i + update_columns(seen_notification_id: notification_id.to_i) + true + else + false + end end def publish_notifications_state @@ -375,7 +385,8 @@ class User < ActiveRecord::Base unread_private_messages: unread_private_messages, total_unread_notifications: total_unread_notifications, last_notification: json, - recent: recent + recent: recent, + seen_notification_id: seen_notification_id }, user_ids: [id] # only publish the notification to this user ) @@ -1002,6 +1013,11 @@ class User < ActiveRecord::Base end end + def trigger_user_created_event + DiscourseEvent.trigger(:user_created, self) + true + end + private def previous_visit_at_update_required?(timestamp) diff --git a/app/models/user_avatar.rb b/app/models/user_avatar.rb index 0669ea6be..5773b0ffd 100644 --- a/app/models/user_avatar.rb +++ b/app/models/user_avatar.rb @@ -60,22 +60,31 @@ class UserAvatar < ActiveRecord::Base "#{upload_id}_#{OptimizedImage::VERSION}" end - def self.import_url_for_user(avatar_url, user) + def self.import_url_for_user(avatar_url, user, options=nil) tempfile = FileHelper.download(avatar_url, SiteSetting.max_image_size_kb.kilobytes, "sso-avatar", true) ext = FastImage.type(tempfile).to_s tempfile.rewind upload = Upload.create_for(user.id, tempfile, "external-avatar." + ext, File.size(tempfile.path), origin: avatar_url, image_type: "avatar") - user.uploaded_avatar_id = upload.id unless user.user_avatar - user.build_user_avatar + user.create_user_avatar end if !user.user_avatar.contains_upload?(upload.id) - user.user_avatar.custom_upload_id = upload.id + user.user_avatar.update_columns(custom_upload_id: upload.id) + + override_gravatar = !options || options[:override_gravatar] + + if user.uploaded_avatar_id.nil? || + !user.user_avatar.contains_upload?(user.uploaded_avatar_id) || + override_gravatar + user.update_columns(uploaded_avatar_id: upload.id) + end end + + rescue => e # skip saving, we are not connected to the net Rails.logger.warn "#{e}: Failed to download external avatar: #{avatar_url}, user id #{ user.id }" diff --git a/app/models/user_history.rb b/app/models/user_history.rb index d7a99bdbc..635014b1d 100644 --- a/app/models/user_history.rb +++ b/app/models/user_history.rb @@ -55,6 +55,7 @@ class UserHistory < ActiveRecord::Base rate_limited_like: 37, # not used anymore revoke_email: 38, deactivate_user: 39, + wizard_step: 40 ) end diff --git a/app/models/web_hook.rb b/app/models/web_hook.rb index de1fc9d12..a609a6b16 100644 --- a/app/models/web_hook.rb +++ b/app/models/web_hook.rb @@ -40,18 +40,18 @@ class WebHook < ActiveRecord::Base end end - def self.enqueue_topic_hooks(topic, user) - WebHook.enqueue_hooks(:topic, topic_id: topic.id, user_id: user&.id, category_id: topic&.category&.id) + def self.enqueue_topic_hooks(event, topic, user) + WebHook.enqueue_hooks(:topic, topic_id: topic.id, user_id: user&.id, category_id: topic&.category&.id, event_name: event.to_s) end %i(topic_destroyed topic_recovered).each do |event| DiscourseEvent.on(event) do |topic, user| - WebHook.enqueue_topic_hooks(topic, user) + WebHook.enqueue_topic_hooks(event, topic, user) end end DiscourseEvent.on(:topic_created) do |topic, _, user| - WebHook.enqueue_topic_hooks(topic, user) + WebHook.enqueue_topic_hooks(:topic_created, topic, user) end %i(post_created @@ -63,10 +63,17 @@ class WebHook < ActiveRecord::Base post_id: post.id, topic_id: post&.topic&.id, user_id: user&.id, - category_id: post.topic&.category&.id + category_id: post.topic&.category&.id, + event_name: event.to_s ) end end + + %i(user_created user_approved).each do |event| + DiscourseEvent.on(event) do |user| + WebHook.enqueue_hooks(:user, user_id: user.id, event_name: event.to_s) + end + end end # == Schema Information diff --git a/app/models/web_hook_event_type.rb b/app/models/web_hook_event_type.rb index 139dd912f..d3596bfda 100644 --- a/app/models/web_hook_event_type.rb +++ b/app/models/web_hook_event_type.rb @@ -1,6 +1,7 @@ class WebHookEventType < ActiveRecord::Base TOPIC = 1 POST = 2 + USER = 3 has_and_belongs_to_many :web_hooks diff --git a/app/serializers/admin_web_hook_event_serializer.rb b/app/serializers/admin_web_hook_event_serializer.rb index 0343d1739..14ff72488 100644 --- a/app/serializers/admin_web_hook_event_serializer.rb +++ b/app/serializers/admin_web_hook_event_serializer.rb @@ -10,7 +10,6 @@ class AdminWebHookEventSerializer < ApplicationSerializer :duration, :created_at - def request_url object.web_hook.payload_url end diff --git a/app/serializers/basic_category_serializer.rb b/app/serializers/basic_category_serializer.rb index 51fcf7fe4..cd5c6c716 100644 --- a/app/serializers/basic_category_serializer.rb +++ b/app/serializers/basic_category_serializer.rb @@ -40,14 +40,4 @@ class BasicCategorySerializer < ApplicationSerializer def notification_level object.notification_level end - - def logo_url - url = object.logo_url - url.present? && UrlHelper.is_local(url) ? UrlHelper.schemaless(UrlHelper.absolute(url)) : url - end - - def background_url - url = object.background_url - url.present? && UrlHelper.is_local(url) ? UrlHelper.schemaless(UrlHelper.absolute(url)) : url - end end diff --git a/app/serializers/current_user_serializer.rb b/app/serializers/current_user_serializer.rb index e60da521b..498632e4a 100644 --- a/app/serializers/current_user_serializer.rb +++ b/app/serializers/current_user_serializer.rb @@ -34,7 +34,8 @@ class CurrentUserSerializer < BasicUserSerializer :read_faq, :automatically_unpin_topics, :mailing_list_mode, - :previous_visit_at + :previous_visit_at, + :seen_notification_id def include_site_flagged_posts_count? object.staff? diff --git a/app/serializers/site_serializer.rb b/app/serializers/site_serializer.rb index cd9319523..c9e3b87ce 100644 --- a/app/serializers/site_serializer.rb +++ b/app/serializers/site_serializer.rb @@ -1,4 +1,6 @@ require_dependency 'discourse_tagging' +require_dependency 'wizard' +require_dependency 'wizard/builder' class SiteSerializer < ApplicationSerializer @@ -20,7 +22,8 @@ class SiteSerializer < ApplicationSerializer :can_create_tag, :can_tag_topics, :tags_filter_regexp, - :top_tags + :top_tags, + :wizard_required has_many :categories, serializer: BasicCategorySerializer, embed: :objects has_many :trust_levels, embed: :objects @@ -110,4 +113,12 @@ class SiteSerializer < ApplicationSerializer def top_tags Tag.top_tags end + + def wizard_required + true + end + + def include_wizard_required? + Wizard::Builder.new(scope.user).build.requires_completion? + end end diff --git a/app/serializers/user_serializer.rb b/app/serializers/user_serializer.rb index 48ddfa89c..40163f245 100644 --- a/app/serializers/user_serializer.rb +++ b/app/serializers/user_serializer.rb @@ -65,7 +65,11 @@ class UserSerializer < BasicUserSerializer :user_fields, :topic_post_count, :pending_count, - :profile_view_count + :profile_view_count, + :primary_group_name, + :primary_group_flair_url, + :primary_group_flair_bg_color, + :primary_group_flair_color has_one :invited_by, embed: :object, serializer: BasicUserSerializer has_many :groups, embed: :object, serializer: BasicGroupSerializer @@ -253,6 +257,22 @@ class UserSerializer < BasicUserSerializer object.suspended? end + def primary_group_name + object.primary_group.try(:name) + end + + def primary_group_flair_url + object.try(:primary_group).try(:flair_url) + end + + def primary_group_flair_bg_color + object.try(:primary_group).try(:flair_bg_color) + end + + def primary_group_flair_color + object.try(:primary_group).try(:flair_color) + end + ### ### STAFF ATTRIBUTES ### diff --git a/app/serializers/wizard_field_choice_serializer.rb b/app/serializers/wizard_field_choice_serializer.rb new file mode 100644 index 000000000..4c9d641d3 --- /dev/null +++ b/app/serializers/wizard_field_choice_serializer.rb @@ -0,0 +1,54 @@ +class WizardFieldChoiceSerializer < ApplicationSerializer + attributes :id, :label, :extra_label, :description, :icon, :data + + def id + object.id + end + + def i18nkey + field = object.field + step = field.step + "wizard.step.#{step.id}.fields.#{field.id}.choices.#{id}" + end + + def label + return object.label if object.label.present? + + # Try getting one from a translation + I18n.t("#{i18nkey}.label", default: id) + end + + def extra_label + object.extra_label + end + + def include_extra_label? + object.extra_label.present? + end + + def description + I18n.t("#{i18nkey}.description", default: "") + end + + def include_description? + description.present? + end + + def icon + object.icon + end + + def include_icon? + object.icon.present? + end + + def data + result = object.data.dup + result.delete(:id) + result + end + + def include_data? + object.data.present? + end +end diff --git a/app/serializers/wizard_field_serializer.rb b/app/serializers/wizard_field_serializer.rb new file mode 100644 index 000000000..4a70098a5 --- /dev/null +++ b/app/serializers/wizard_field_serializer.rb @@ -0,0 +1,54 @@ +class WizardFieldSerializer < ApplicationSerializer + + attributes :id, :type, :required, :value, :label, :placeholder, :description + has_many :choices, serializer: WizardFieldChoiceSerializer, embed: :objects + + def id + object.id + end + + def type + object.type + end + + def required + object.required + end + + def value + object.value + end + + def include_value? + object.value.present? + end + + def i18n_key + @i18n_key ||= "wizard.step.#{object.step.id}.fields.#{object.id}".underscore + end + + def label + I18n.t("#{i18n_key}.label", default: '') + end + + def include_label? + label.present? + end + + def placeholder + I18n.t("#{i18n_key}.placeholder", default: '') + end + + def include_placeholder? + placeholder.present? + end + + def description + I18n.t("#{i18n_key}.description", default: '') + end + + def include_description? + description.present? + end + +end diff --git a/app/serializers/wizard_serializer.rb b/app/serializers/wizard_serializer.rb new file mode 100644 index 000000000..ad790a45f --- /dev/null +++ b/app/serializers/wizard_serializer.rb @@ -0,0 +1,9 @@ +class WizardSerializer < ApplicationSerializer + attributes :start + + has_many :steps, serializer: WizardStepSerializer, embed: :objects + + def start + object.start.id + end +end diff --git a/app/serializers/wizard_step_serializer.rb b/app/serializers/wizard_step_serializer.rb new file mode 100644 index 000000000..90f54a917 --- /dev/null +++ b/app/serializers/wizard_step_serializer.rb @@ -0,0 +1,58 @@ +class WizardStepSerializer < ApplicationSerializer + + attributes :id, :next, :previous, :description, :title, :index, :banner + has_many :fields, serializer: WizardFieldSerializer, embed: :objects + + def id + object.id + end + + def index + object.index + end + + def next + object.next.id if object.next.present? + end + + def include_next? + object.next.present? + end + + def previous + object.previous.id if object.previous.present? + end + + def include_previous? + object.previous.present? + end + + def i18n_key + @i18n_key ||= "wizard.step.#{object.id}".underscore + end + + def description + I18n.t("#{i18n_key}.description", default: '') + end + + def include_description? + description.present? + end + + def title + I18n.t("#{i18n_key}.title", default: '') + end + + def include_title? + title.present? + end + + def banner + object.banner + end + + def include_banner? + object.banner.present? + end + +end diff --git a/app/services/color_scheme_revisor.rb b/app/services/color_scheme_revisor.rb index 1e864843f..5db7bb79d 100644 --- a/app/services/color_scheme_revisor.rb +++ b/app/services/color_scheme_revisor.rb @@ -21,6 +21,7 @@ class ColorSchemeRevisor @color_scheme.name = @params[:name] if @params.has_key?(:name) @color_scheme.enabled = @params[:enabled] if @params.has_key?(:enabled) + @color_scheme.theme_id = @params[:theme_id] if @params.has_key?(:theme_id) new_version = false if @params[:colors] @@ -30,7 +31,7 @@ class ColorSchemeRevisor end if new_version - old_version = ColorScheme.create( + ColorScheme.create( name: @color_scheme.name, enabled: false, colors: @color_scheme.colors_hashes, diff --git a/app/services/staff_action_logger.rb b/app/services/staff_action_logger.rb index 3beaf9bca..57c213b4e 100644 --- a/app/services/staff_action_logger.rb +++ b/app/services/staff_action_logger.rb @@ -353,6 +353,15 @@ class StaffActionLogger })) end + def log_wizard_step(step, opts={}) + raise Discourse::InvalidParameters.new(:step) unless step + UserHistory.create(params(opts).merge({ + action: UserHistory.actions[:wizard_step], + acting_user_id: @admin.id, + context: step.id + })) + end + private def params(opts=nil) diff --git a/app/views/layouts/_head.html.erb b/app/views/layouts/_head.html.erb index 6a5ab0ee6..1d1d10c3c 100644 --- a/app/views/layouts/_head.html.erb +++ b/app/views/layouts/_head.html.erb @@ -10,7 +10,11 @@ <link rel="icon" sizes="144x144" href="<%=SiteSetting.apple_touch_icon_url%>"> <%- end %> <meta name="theme-color" content="#<%= ColorScheme.hex_for_name('header_background') %>"> +<% if mobile_view? %> +<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"> +<% else %> <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=yes"> +<% end %> <%= canonical_link_tag %> <%= render_sitelinks_search_tag %> -<link rel="search" type="application/opensearchdescription+xml" href="<%= Discourse.base_url %>/opensearch.xml"> +<link rel="search" type="application/opensearchdescription+xml" href="<%= Discourse.base_url %>/opensearch.xml" title="<%= SiteSetting.title %> Search"> diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index af5e7df43..bfbb54ab5 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -30,6 +30,7 @@ <%= script "application" %> <%- if staff? %> + <script src="/extra-locales/admin"></script> <%= script "admin" %> <%- end %> diff --git a/app/views/metadata/opensearch.xml.erb b/app/views/metadata/opensearch.xml.erb index ff47bada5..4e237c65e 100644 --- a/app/views/metadata/opensearch.xml.erb +++ b/app/views/metadata/opensearch.xml.erb @@ -1,12 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"> -<ShortName><%= SiteSetting.title %> Search</ShortName> -<Description>Search for posts on <%= SiteSetting.title %></Description> -<Tags>discourse forum</Tags> -<% if SiteSetting.favicon_url =~ /\.ico$/ -%> + <ShortName><%= SiteSetting.title %> Search</ShortName> + <Description>Search for posts on <%= SiteSetting.title %></Description> + <Tags>discourse forum</Tags> + <% if SiteSetting.favicon_url =~ /\.ico$/ -%> <Image height="16" width="16" type="image/vnd.microsoft.icon"><%= UrlHelper.absolute SiteSetting.favicon_url %></Image> -<%- else -%> + <%- else -%> <Image type="image/png"><%= UrlHelper.absolute SiteSetting.favicon_url %></Image> -<%- end %> -<Url type="text/html" method="get" template="<%= Discourse.base_url %>/search?q={searchTerms}"/> -<Query role="example" searchTerms="search term"/> + <%- end %> + <Url type="application/opensearchdescription+xml" rel="self" template="<%= Discourse.base_url %>/opensearch.xml"/> + <Url type="text/html" template="<%= Discourse.base_url %>/search?q={searchTerms}"/> + <Query role="example" searchTerms="search term"/> </OpenSearchDescription> diff --git a/app/views/wizard/index.html.erb b/app/views/wizard/index.html.erb new file mode 100644 index 000000000..fad9c7d92 --- /dev/null +++ b/app/views/wizard/index.html.erb @@ -0,0 +1,26 @@ +<html> + <head> + <%= stylesheet_link_tag 'wizard' %> + <%= script 'ember_jquery' %> + <%= script 'wizard-vendor' %> + <%= script 'wizard-application' %> + <%= script "locales/#{I18n.locale}" %> + <%= render partial: "common/special_font_face" %> + <script src="/extra-locales/wizard"></script> + <%= csrf_meta_tags %> + + <%= render partial: "layouts/head" %> + <title><%= t 'wizard.title' %></title> + </head> + + <body class='wizard'> + <div id='wizard-main'></div> + + <script> + (function() { + var wizard = require('wizard/wizard').default.create(); + wizard.start(); + })(); + </script> + </body> +</html> diff --git a/app/views/wizard/qunit.html.erb b/app/views/wizard/qunit.html.erb new file mode 100644 index 000000000..2c4fa085e --- /dev/null +++ b/app/views/wizard/qunit.html.erb @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> + <head> + <title>QUnit Test Runner</title> + <%= stylesheet_link_tag "qunit" %> + <%= stylesheet_link_tag "test_helper" %> + <%= stylesheet_link_tag "wizard" %> + <%= javascript_include_tag "qunit" %> + <%= javascript_include_tag "wizard/test/test_helper" %> + <%= csrf_meta_tags %> + <script src="/extra-locales/wizard"></script> + </head> + <body> + <div id="qunit"></div> + <div id="qunit-fixture"></div> + </body> +</html> diff --git a/config/application.rb b/config/application.rb index 577d12799..70d4427f7 100644 --- a/config/application.rb +++ b/config/application.rb @@ -72,7 +72,8 @@ module Discourse config.assets.precompile += ['vendor.js', 'common.css', 'desktop.css', 'mobile.css', 'admin.js', 'admin.css', 'shiny/shiny.css', 'preload-store.js.es6', 'browser-update.js', 'embed.css', 'break_string.js', 'ember_jquery.js', - 'pretty-text-bundle.js'] + 'pretty-text-bundle.js', 'wizard.css', 'wizard-application.js', + 'wizard-vendor.js'] # Precompile all available locales Dir.glob("#{config.root}/app/assets/javascripts/locales/*.js.erb").each do |file| diff --git a/config/initializers/100-logster.rb b/config/initializers/100-logster.rb index 8e5e21e99..c39494f6a 100644 --- a/config/initializers/100-logster.rb +++ b/config/initializers/100-logster.rb @@ -85,3 +85,7 @@ RailsMultisite::ConnectionManagement.each_connection do end end end + +if Rails.configuration.multisite + Rails.logger.instance_variable_get(:@chained).first.formatter = RailsMultisite::Formatter.new +end diff --git a/config/locales/client.ar.yml b/config/locales/client.ar.yml index 8d0c41758..fb5382290 100644 --- a/config/locales/client.ar.yml +++ b/config/locales/client.ar.yml @@ -1300,7 +1300,7 @@ ar: toggle_information: "إظهار/إخفاء تفاصيل الموضوع" read_more_in_category: "أتريد قراءة المزيد؟ تصفح المواضيع الأخرى في {{catLink}} أو {{latestLink}}." read_more: "أتريد قراءة المزيد؟ {{catLink}} أو {{latestLink}}." - read_more_MF: "{UNREAD, plural, zero {} one {تبقى {BOTH, select, true {<a href='/unread'>موضوع واحد غير مقروء</a> و} false {<a href='/unread'>موضوع واحد غير مقروء</a>} other {}}} two {تبقى {BOTH, select, true {<a href='/unread'>موضوعان غير مقروءان</a> و} false {<a href='/unread'>موضوعان غير مقروءان</a>} other {}}} few {تبقت {BOTH, select, true {<a href='/unread'># مواضيع غير مقروءة</a> و} false {<a href='/unread'># مواضيع غير مقروءة</a>} other {}}} many {تبقى {BOTH, select, true {<a href='/unread'># موضوعا غير مقروء</a> و} false {}{<a href='/unread'># موضوعا غير مقروء</a>} other {}}} other {تبقى {BOTH, select, true {<a href='/unread'># موضوع غير مقروء</a> و} false {<a href='/unread'># موضوع غير مقروء</a>} other {}}}}{NEW, plural, zero {} one {{UNREAD, plural, zero {تبقى } one {} two {} few {} many {} other {}}<a href='/new'>موضوع واحد جديد</a>} two {{UNREAD, plural, zero {تبقى } one {} two {} few {} many {} other {}}<a href='/new'>موضوعان جديدان</a>} few {{UNREAD, plural, zero {تبقت } one {} two {} few {} many {} other {}}<a href='/new'># مواضيع جديدة</a>} many {{UNREAD, plural, zero {تبقى } one {} two {} few {} many {} other {}}<a href='/new'># موضوعا جديدا</a>} other {{UNREAD, plural, zero {تبقى } one {} two {} few {} many {} other {}}<a href='/new'># موضوع جديد</a>}}، أو {CATEGORY, select, true {تصفّح المواضيع الأخرى في {catLink}} false {{latestLink}} other {}}" + read_more_MF: "{UNREAD, plural, zero {} one {تبقى {BOTH, select, true {<a href='/unread'>موضوع واحد غير مقروء</a> و} false {<a href='/unread'>موضوع واحد غير مقروء</a>} other {}}} two {تبقى {BOTH, select, true {<a href='/unread'>موضوعان غير مقروءان</a> و} false {<a href='/unread'>موضوعان غير مقروءان</a>} other {}}} few {تبقت {BOTH, select, true {<a href='/unread'># مواضيع غير مقروءة</a> و} false {<a href='/unread'># مواضيع غير مقروءة</a>} other {}}} many {تبقى {BOTH, select, true {<a href='/unread'># موضوعا غير مقروء</a> و} false {<a href='/unread'># موضوعا غير مقروء</a>} other {}}} other {تبقى {BOTH, select, true {<a href='/unread'># موضوع غير مقروء</a> و} false {<a href='/unread'># موضوع غير مقروء</a>} other {}}}}{NEW, plural, zero {} one {{UNREAD, plural, zero {تبقى } one {} two {} few {} many {} other {}}<a href='/new'>موضوع واحد جديد</a>} two {{UNREAD, plural, zero {تبقى } one {} two {} few {} many {} other {}}<a href='/new'>موضوعان جديدان</a>} few {{UNREAD, plural, zero {تبقت } one {} two {} few {} many {} other {}}<a href='/new'># مواضيع جديدة</a>} many {{UNREAD, plural, zero {تبقى } one {} two {} few {} many {} other {}}<a href='/new'># موضوعا جديدا</a>} other {{UNREAD, plural, zero {تبقى } one {} two {} few {} many {} other {}}<a href='/new'># موضوع جديد</a>}}، أو {CATEGORY, select, true {تصفّح المواضيع الأخرى في {catLink}} false {{latestLink}} other {}}" browse_all_categories: تصفّح كل الفئات view_latest_topics: اعرض أحدث المواضيع suggest_create_topic: لمَ لا تكتب موضوعًا؟ diff --git a/config/locales/client.de.yml b/config/locales/client.de.yml index 84affe14d..018e1edc5 100644 --- a/config/locales/client.de.yml +++ b/config/locales/client.de.yml @@ -1626,8 +1626,8 @@ de: create: 'Neue Kategorie' create_long: 'Eine neue Kategorie erstellen' save: 'Kategorie speichern' - slug: 'Sprechender Name für URL' - slug_placeholder: '(Optional) mit Bindestrich getrennte Wörter für URL' + slug: 'Sprechender Name für URL (optional)' + slug_placeholder: 'Bindestrich getrennte Wörter für URL' creation_error: Beim Erstellen der Kategorie ist ein Fehler aufgetreten. save_error: Beim Speichern der Kategorie ist ein Fehler aufgetreten. name: "Name der Kategorie" @@ -1645,18 +1645,18 @@ de: list: "Kategorien auflisten" no_description: "Bitte füge eine Beschreibung für diese Kategorie hinzu." change_in_category_topic: "Beschreibung bearbeiten" - already_used: 'Diese Farbe wird bereits für eine andere Kategorie verwendet' + already_used: 'Diese Farbe wird bereits für eine andere Kategorie verwendet.' security: "Sicherheit" - special_warning: "Warnung: Diese Kategorie is eine pre-seeded Kategorie und die Sicherheitseinstellungen können nicht bearbeitet werden. Wenn du wünschst nicht diese Kategorie zu benutzen dann lösche sie anstatt sie zu wiederverwenden" + special_warning: "Warnung: Diese Kategorie wurde bei der Installation angelegt. Die Sicherheitseinstellungen können daher nicht verändert werden. Wenn du diese Kategorie nicht benötigst, dann solltest du sie löschen anstatt sie für andere Zwecke zu verwenden." images: "Bilder" auto_close_label: "Themen automatisch schließen nach:" auto_close_units: "Stunden" email_in: "Benutzerdefinierte Adresse für eingehende E-Mails:" - email_in_allow_strangers: "Akzeptiere E-Mails von nicht registrierten, anonymen Benutzern" + email_in_allow_strangers: "Akzeptiere E-Mails von anonymen Benutzern." email_in_disabled: "Das Erstellen von neuen Themen per E-Mail ist in den Website-Einstellungen deaktiviert. Um das Erstellen von neuen Themen per E-Mail zu erlauben," email_in_disabled_click: 'aktiviere die Einstellung „email in“.' - suppress_from_homepage: "Löse diese Kategorie von der Website." - allow_badges_label: "Erlaube das Verleihen von Abzeichen in dieser Kategorie" + suppress_from_homepage: "Löse diese Kategorie von der Startseite." + allow_badges_label: "Erlaube das Verleihen von Abzeichen in dieser Kategorie." edit_permissions: "Berechtigungen bearbeiten" add_permission: "Berechtigung hinzufügen" this_year: "dieses Jahr" @@ -1671,7 +1671,7 @@ de: description: "Du wirst automatisch alle neuen Themen in diesen Kategorien beobachten. Du wirst über alle neuen Beiträge in allen Themen benachrichtigt und die Anzahl der neuen Antworten wird angezeigt." watching_first_post: title: "Ersten Beitrag beobachten" - description: "Du erhältst eine Benachrichtigung fnur ür den ersten Beitrag in jedem neuen Thema in diesen Kategorien." + description: "Du erhältst eine Benachrichtigung nur für den ersten Beitrag in jedem neuen Thema in diesen Kategorien." tracking: title: "Verfolgen" description: "Du wirst automatisch alle neuen Themen in diesen Kategorien verfolgen. Du wirst benachrichtigt, wenn jemand deinen @name erwähnt oder dir antwortet, und die Anzahl der neuen Antworten wird angezeigt." @@ -2861,7 +2861,7 @@ de: image: "Bild" delete_confirm: "Möchtest du wirklich das :%{name}: Emoji löschen?" embedding: - get_started: "Wenn du Discourse in einer anderen Website einbetten möchtest, beginne mit dem hinzufügen des host. " + get_started: "Wenn du Discourse in einer anderen Website einbetten möchtest, beginne mit dem hinzufügen des Host. " confirm_delete: "Möchtest du wirklich diesen Host löschen?" sample: "Benutze den folgenden HTML code für deine Site um Discourse Beiträge zu erstellen und einzubetten. Ersetze <b>REPLACE_ME</b> mit der URL der Site in die du sie einbetten möchtest." title: "Einbettung" diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index fbe90abc7..b511279a1 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -165,6 +165,7 @@ en: topic_admin_menu: "topic admin actions" + wizard_required: "It's time to configure your forum! <a href='/wizard/' data-auto-route='true'>Start the Setup Wizard</a>!" emails_are_disabled: "All outgoing email has been globally disabled by an administrator. No email notifications of any kind will be sent." bootstrap_mode_enabled: "To make launching your new site easier, you are in bootstrap mode. All new users will be granted trust level 1 and have daily email digest updates enabled. This will be automatically turned off when total user count exceeds %{min_users} users." @@ -2411,7 +2412,7 @@ en: flair_color: "Avatar Flair Color" flair_color_placeholder: "(Optional) Hex color value" flair_preview: "Preview" - + flair_note: "Note: Flair will only show for a user's primary group." api: generate_master: "Generate Master API Key" @@ -2466,12 +2467,9 @@ en: post_event: name: "Post Event" details: "When there is a new reply, edit, deleted or recovered." - invitation_event: - name: "Invitation Event" - details: "When a invitation is sent or accepted." user_event: name: "User Event" - details: "When there is a user is created or changed." + details: "When a user is created or approved." delivery_status: title: "Delivery Status" inactive: "Inactive" @@ -2480,7 +2478,12 @@ en: events: none: "There are no related events." redeliver: "Redeliver" - completion: "Completed in %{seconds} seconds." + incoming: + one: "There is a new event." + other: "There are {{count}} new events." + completed_in: + one: "Completed in 1 second." + other: "Completed in {{count}} seconds." request: "Request" response: "Response" redeliver_confirm: "Are you sure you want to redeliver the same payload?" @@ -2491,6 +2494,11 @@ en: go_details: "Edit webhook" go_events: "Go to events" ping: "Ping" + status: "Status Code" + event_id: "ID" + timestamp: "Created" + completion: "Completion Time" + actions: "Actions" plugins: title: "Plugins" installed: "Installed Plugins" @@ -3218,5 +3226,26 @@ en: add: "Add" filter: "Search (URL or External URL)" -# WARNING! Keys added here will be in the admin_js section. -# Keys that don't belong in admin should be placed earlier in the file. + wizard_js: + wizard: + done: "Done" + back: "Back" + next: "Next" + step: "%{current} of %{total}" + upload: "Upload" + uploading: "Uploading..." + quit: "Maybe Later" + + staff_count: + one: "Your community has 1 staff member. " + other: "Your community has %{count} staff members." + + invites: + add_user: "add" + none_added: "You haven’t invited any staff. Are you sure you want to continue?" + roles: + admin: "Admin" + moderator: "Moderator" + regular: "Regular User" + + diff --git a/config/locales/client.fi.yml b/config/locales/client.fi.yml index 4c670c720..ddb919e74 100644 --- a/config/locales/client.fi.yml +++ b/config/locales/client.fi.yml @@ -492,7 +492,7 @@ fi: watched_first_post_tags: "Tarkkaillaan uusia ketjuja" watched_first_post_tags_instructions: "Saat ilmoituksen uusista ketjuista, joilla on joku näistä tunnisteista." muted_categories: "Vaimennetut" - muted_categories_instructions: "Et saa imoituksia uusista viesteistä näillä alueilla, eivätkä ne näy tuoreimmissa." + muted_categories_instructions: "Et saa ilmoituksia uusista viesteistä näillä alueilla, eivätkä ne näy tuoreimmissa." delete_account: "Poista tilini" delete_account_confirm: "Oletko varma, että haluat lopullisesti poistaa käyttäjätilisi? Tätä toimintoa ei voi perua!" deleted_yourself: "Käyttäjätilisi on poistettu." @@ -788,6 +788,8 @@ fi: one: "1 virhe/%{duration}" other: "%{count} virhettä/%{duration}" learn_more: "opi lisää..." + all_time: 'yhteensä' + all_time_desc: 'ketjuja luotu yhteensä' year: 'vuosi' year_desc: 'viimeisen 365 päivän aikana luodut ketjut' month: 'kuukausi' @@ -1985,7 +1987,7 @@ fi: description: "Saat ilmoituksen jos joku mainitsee @nimesi tai vastaa viestiisi." muted: title: "Vaimennettu" - description: "Et saa imoituksia uusista viesteistä tällä tunnisteella, eivätkä ne näy Lukematta-välilehdellä" + description: "Et saa ilmoituksia uusista viesteistä tällä tunnisteella, eivätkä ne näy Lukematta-välilehdellä" groups: title: "Tunnisteryhmät" about: "Lisää tunnisteita ryhmiin, jotta niitä on helpompi hallita" diff --git a/config/locales/client.fr.yml b/config/locales/client.fr.yml index b6d91e911..e67415b74 100644 --- a/config/locales/client.fr.yml +++ b/config/locales/client.fr.yml @@ -218,7 +218,7 @@ fr: contact: "Nous contacter" contact_info: "En cas de problème critique ou urgent sur ce site, veuillez nous contacter : %{contact_info}" bookmarked: - title: "Signet" + title: "Mettre un signet" clear_bookmarks: "Retirer les signets" help: bookmark: "Cliquer pour mettre un signet sur le premier message de ce sujet" @@ -823,7 +823,7 @@ fr: summary: enabled_description: "Vous visualisez un résumé de ce sujet : les messages les plus intéressants choisis par la communauté." description: "Il y a <b>{{replyCount}}</b> réponses." - description_time: "Il y a <b>{{replyCount}}</b> réponses avec un temps estimé de lecture de <b>{{readingTime}} minutes</b>." + description_time: "Il y a <b>{{replyCount}}</b> réponses avec un temps de lecture estimé à <b>{{readingTime}} minutes</b>." enable: 'Résumer ce sujet' disable: 'Afficher tous les messages' deleted_filter: @@ -1203,7 +1203,7 @@ fr: toggle_information: "afficher les détails de ce sujet" read_more_in_category: "Vous voulez en lire plus ? Afficher d'autres sujets dans {{catLink}} ou {{latestLink}}." read_more: "Vous voulez en lire plus ? {{catLink}} or {{latestLink}}." - read_more_MF: "Il y { UNREAD, plural, =0 {} one { a <a href='/unread'>1 sujet non lu</a> } other { a <a href='/unread'># sujets non lus</a> } } { NEW, plural, =0 {} one { {BOTH, select, true{et } false {a } other{}} <a href='/new'>1 nouveau</a> sujet} other { {BOTH, select, true{et } false {a } other{}} <a href='/new'># nouveaux</a> sujets} } restant, ou {CATEGORY, select, true {consulter les autres sujets dans {catLink}} false {{latestLink}} other {}}" + read_more_MF: "Il y { UNREAD, plural, =0 {} one { a <a href='/unread'>1 sujet non lu</a> } other { a <a href='/unread'># sujets non lus</a> } } { NEW, plural, =0 {} one { {BOTH, select, true{et } false {a } other{}} <a href='/new'>1 nouveau sujet</a> } other { {BOTH, select, true{et } false {a } other{}} <a href='/new'># nouveaux sujets</a> } } restant, ou {CATEGORY, select, true {consulter les autres sujets dans {catLink}} false {{latestLink}} other {}}" browse_all_categories: Voir toutes les catégories view_latest_topics: voir les derniers sujets suggest_create_topic: Pourquoi ne pas créer un sujet ? @@ -1689,6 +1689,7 @@ fr: notify_action: 'Message' official_warning: 'Avertissement officiel' delete_spammer: "Supprimer le spammeur" + delete_confirm_MF: "Vous êtes sur le point de supprimer {POSTS, plural, one {<b>1</b> message} other {<b>#</b> messages}} et {TOPICS, plural, one {<b>1</b> sujet} other {<b>#</b> sujets}} de cet utilisateur, supprimer son compte, bloquer les inscriptions depuis son adresse IP <b>{ip_address}</b> et ajouter son adresse courriel <b>{email}</b> à une liste de blocage permanent. Êtes-vous sûr que cet utilisateur est réellement un spammeur ?" yes_delete_spammer: "Oui, supprimer le spammeur" ip_address_missing: "(N/A)" hidden_email_address: "(masqué)" @@ -2206,6 +2207,76 @@ fr: info_html: "Cette clé vous permettra de créer et mettre à jour des sujets à l'aide d'appels JSON." all_users: "Tous les Utilisateurs" note_html: "Gardez cette clé <strong>secrète</strong> ! Tous les personnes qui la possède peuvent créer des messages au nom de n'import quel utilisateur." + web_hooks: + title: "Webhooks" + none: "Il n'y a aucun Webhook actuellement." + instruction: "Les Webhooks permettent à Discourse de notifier des services externes lorsque certains événements se produisent sur votre site. Quand un Webhook est déclenché, une requête POST est envoyée aux URLs fournies." + detailed_instruction: "Une requête POST sera envoyée à l'URL fournie lorsque l'événement choisi se produira." + new: "Nouveau Webhook" + create: "Créer" + save: "Sauvegarder" + destroy: "Supprimer" + description: "Description" + controls: "Contrôles" + go_back: "Retour à la liste" + payload_url: "URL cible" + payload_url_placeholder: "https://example.com/postreceive" + warn_local_payload_url: "Il semble que vous essayez de configurer le Webhook vers une URL locale. Les événements délivrés à une adresse locale peuvent causer des effets de bords ou des comportements inattendus. Continuer ?" + secret_invalid: "La clé secrète ne doit pas contenir d'espaces." + secret_too_short: "La clé secrète doit contenir au moins 12 caractères." + secret_placeholder: "Une chaîne de caractères facultative pour générer la signature" + event_type_missing: "Vous devez configurer au moins un type d'évènement." + content_type: "Type de contenu" + secret: "Clé secrète" + event_chooser: "Quels événements doivent déclencher ce Webhook ?" + wildcard_event: "Tout m'envoyer." + individual_event: "Sélectionner des événements individuels." + verify_certificate: "Vérifier le certificat TLS de l'URL cible" + active: "Actif" + active_notice: "Nous delivrerons les détails de l'évènement quand il se produit." + categories_filter_instructions: "Les Webhooks appropriés seront uniquement déclenchés si les événements sont liés aux catégories définies. Laisser vide pour les déclencher pour toutes les catégories." + categories_filter: "Catégories" + groups_filter_instructions: "Les Webhooks appropriés seront uniquement déclenchés si les événements sont liés aux groupes définis. Laisser vide pour les déclencher pour tous les groupes." + groups_filter: "Groupes" + delete_confirm: "Supprimer ce Webhook ?" + topic_event: + name: "Événement de sujet" + details: "Quand il y a un sujet nouveau, modifié ou supprimé." + post_event: + name: "Événement de message" + details: "Quand il y a une réponse nouvelle, modifiée, supprimée ou rétablie." + user_event: + name: "Événement d'utilisateur" + details: "Quand un utilisateur est créé ou approuvé." + delivery_status: + title: "État de l'envoi" + inactive: "Inactif" + failed: "Échec" + successful: "Succès" + events: + none: "Il n'y aucun évènement lié." + redeliver: "Redélivrer" + incoming: + one: "Il y a un nouvel événement." + other: "Il y a {{count}} nouveaux événements." + completed_in: + one: "Terminé en 1 seconde." + other: "Terminé en {{count}} secondes." + request: "Requête" + response: "Réponse" + redeliver_confirm: "Êtes-vous sûr de vouloir redélivrer les mêmes données ?" + headers: "Entêtes" + payload: "Données" + body: "Corps" + go_list: "Aller à la liste" + go_details: "Modifier le Webhook" + go_events: "Aller aux événements" + ping: "Ping" + status: "Code de retour" + event_id: "ID" + timestamp: "Créé" + completion: "Temps d'exécution" + actions: "Actions" plugins: title: "Extensions" installed: "Extensions installées" @@ -2589,6 +2660,7 @@ fr: suspend_reason: "Raison" suspended_by: "Suspendu par" delete_all_posts: "Supprimer tous les messages" + delete_all_posts_confirm_MF: "Vous êtes sur le point de supprimer {POSTS, plural, one {1 message} other {# messages}} et {TOPICS, plural, one {1 sujet} other {# sujets}}. Êtes-vous sûr ?" suspend: "Suspendre" unsuspend: "Annuler la suspension" suspended: "Suspendu ?" diff --git a/config/locales/client.he.yml b/config/locales/client.he.yml index 67aac53cd..a86dc270e 100644 --- a/config/locales/client.he.yml +++ b/config/locales/client.he.yml @@ -270,10 +270,10 @@ he: reject: 'לדחות' delete_user: 'מחק משתמש' title: "זקוק לאישור" - none: "לא נותרו הודעות לבדיקה" + none: "לא נותרו פוסטים לבדיקה" edit: "ערוך" cancel: "ביטול" - view_pending: "הצג הודעות ממתינות" + view_pending: "הצג פוסטים ממתינים" has_pending_posts: one: " בנושא זה ישנו פוסט אחד הממתין לאישור" other: "בנושא זה ישנם <b>{{count}}</b> פוסטים הממתינים לאישור" @@ -287,12 +287,12 @@ he: other: "יש לכם <strong>{{count}}</strong> פוסטים ממתינים." ok: "אשר" user_action: - user_posted_topic: "<a href='{{userUrl}}'>{{user}}</a> פרסם <a href='{{topicUrl}}'>את הפוסט</a>" - you_posted_topic: "<a href='{{userUrl}}'>את/ה</a> פרסמת <a href='{{topicUrl}}'>את הפוסט</a>" + user_posted_topic: "<a href='{{userUrl}}'>{{user}}</a> פרסם <a href='{{topicUrl}}'>את הנושא</a>" + you_posted_topic: "<a href='{{userUrl}}'>את/ה</a> פרסמת <a href='{{topicUrl}}'>את הנושא</a>" user_replied_to_post: "<a href='{{userUrl}}'>{{user}}</a> הגיב ל: <a href='{{postUrl}}'>{{post_number}}</a>" you_replied_to_post: "<a href='{{userUrl}}'>את/ה</a> הגבת ל: <a href='{{postUrl}}'>{{post_number}}</a>" - user_replied_to_topic: "<a href='{{userUrl}}'>{{user}}</a> הגיב <a href='{{topicUrl}}'>לפוסט הזה</a>" - you_replied_to_topic: "<a href='{{userUrl}}'>את/ה</a> הגבת <a href='{{topicUrl}}'>לפוסט הזה</a>" + user_replied_to_topic: "<a href='{{userUrl}}'>{{user}}</a> הגיב <a href='{{topicUrl}}'>לנושא הזה</a>" + you_replied_to_topic: "<a href='{{userUrl}}'>את/ה</a> הגבת <a href='{{topicUrl}}'>לנושא הזה</a>" user_mentioned_user: "<a href='{{user1Url}}'>{{user}}</a> הזכיר את <a href='{{user2Url}}'>{{another_user}}</a>" user_mentioned_you: "<a href='{{user1Url}}'>{{user}}</a> הזכיר <a href='{{user2Url}}'>אותך</a>" you_mentioned_user: "<a href='{{user1Url}}'>את/ה</a> הזכרת את <a href='{{user2Url}}'>{{another_user}}</a>" @@ -308,8 +308,8 @@ he: topics_entered: "נצפה" topics_entered_long: "נושאים שנצפו" time_read: "זמן קריאה" - topic_count: "פוסטים" - topic_count_long: "פוסטים שנוצרו" + topic_count: "נושאים" + topic_count_long: "נושאים שנוצרו" post_count: "תגובות" post_count_long: "תגובות שפורסמו" no_results: "לא נמצאו תוצאות" @@ -337,7 +337,7 @@ he: other: "קבוצות" members: "חברים" topics: "נושאים" - posts: "הודעות" + posts: "פוסטים" mentions: "אזכורים" messages: "הודעות" alias_levels: @@ -452,7 +452,7 @@ he: dismiss_notifications: "בטלו הכל" dismiss_notifications_tooltip: "סימון כל ההתראות שלא נקראו כהתראות שנקראו" disable_jump_reply: "אל תקפצו לפרסומים שלי לאחר שאני משיב/ה" - dynamic_favicon: "הצגת מספר פוסטים חדשים/מעודכנים על האייקון של הדפדפן" + dynamic_favicon: "הצגת מספר נושאים חדשים/מעודכנים על האייקון של הדפדפן" external_links_in_new_tab: "פתח את כל הקישורים החיצוניים בעמוד חדש" enable_quoting: "אפשרו תגובת ציטוט לטקסט מסומן" change: "שנה" @@ -503,7 +503,7 @@ he: muted_users_instructions: "להשבית כל התראה ממשתמשים אלו" muted_topics_link: "הצג נושאים שהושתקו" watched_topics_link: "הצגת נושאים נצפים" - automatically_unpin_topics: "בטל נעיצת נושאים באופן אוטומטי כאשר אני מגיע/ה לתחתית ההודעות בנושא." + automatically_unpin_topics: "בטל נעיצת נושאים באופן אוטומטי כאשר אני מגיע/ה לתחתית." apps: "אפליקציות" revoke_access: "שלילת גישה" undo_revoke_access: "ביטול שלילת גישה" @@ -513,8 +513,8 @@ he: api_read_write: "קריאה וכתיבה" staff_counters: flags_given: "דגלים שעוזרים" - flagged_posts: "הודעות מדוגלות" - deleted_posts: "הודעות שנמחקו" + flagged_posts: "פסטים מדוגלים" + deleted_posts: "פוסטים שנמחקו" suspensions: "השעיות" warnings_received: "אזהרות" messages: @@ -673,7 +673,7 @@ he: pending_tab: "ממתין" pending_tab_with_count: "ממתינות ({{count}})" topics_entered: "נושאים נצפו" - posts_read_count: "הודעות נקראו" + posts_read_count: "פוסטים נקראו" expired: "פג תוקף ההזמנה." rescind: "הסרה" rescinded: "הזמנה הוסרה" @@ -786,9 +786,9 @@ he: enabled: "אתר זה נמצא במצב קריאה בלבד. אנא המשיכו לשוטט, אך תגובות, לייקים, ופעולות נוספות כרגע אינם מאופשרים." login_disabled: "התחברות אינה מתאפשרת כשהאתר במצב קריאה בלבד." logout_disabled: "לא ניתן להתנתק בזמן שהאתר במצב של קריאה בלבד." - too_few_topics_and_posts_notice: "בואו <a href='http://blog.discourse.org/2014/08/building-a-discourse-community/'>נתחיל את הדיון הזה!</a> יש כרגע <strong>%{currentTopics} / %{requiredTopics}</strong> נושאים ו-<strong>%{currentPosts} / %{requiredPosts}</strong> הודעות. אורחים חדשים צריכים כמה דיונים לקרוא ולהגיב אליהם." + too_few_topics_and_posts_notice: "בואו <a href='http://blog.discourse.org/2014/08/building-a-discourse-community/'>נתחיל את הדיון הזה!</a> יש כרגע <strong>%{currentTopics} / %{requiredTopics}</strong> נושאים ו-<strong>%{currentPosts} / %{requiredPosts}</strong> פוסטים. אורחים חדשים צריכים כמה דיונים לקרוא ולהגיב אליהם." too_few_topics_notice: "בואו <a href='http://blog.discourse.org/2014/08/building-a-discourse-community/'>נתחיל את הדיון הזה!</a> יש כרגע <strong>%{currentTopics} / %{requiredTopics}</strong> נושאים. אורחים חדשים צריכים כמה דיונים לקרוא ולהגיב אליהם." - too_few_posts_notice: "בואו <a href='http://blog.discourse.org/2014/08/building-a-discourse-community/'>נתחיל את הדיון הזה!</a> יש כרגע <strong>%{currentPosts} / %{requiredPosts}</strong> הודעות. אורחים חדשים צריכים כמה דיונים לקרוא ולהגיב אליהם." + too_few_posts_notice: "בואו <a href='http://blog.discourse.org/2014/08/building-a-discourse-community/'>נתחיל את הדיון הזה!</a> יש כרגע <strong>%{currentPosts} / %{requiredPosts}</strong> פוסטים. אורחים חדשים צריכים כמה דיונים לקרוא ולהגיב אליהם." logs_error_rate_notice: reached: "<b>%{relativeAge}</b> – <a href='%{url}' target='_blank'>%{rate}</a>הגיע לגבול הגדרות האתר של %{siteSettingRate}." exceeded: "<b>%{relativeAge}</b> – <a href='%{url}' target='_blank'>%{rate}</a> עבר את הגבול של הגדרות האתר ב- %{siteSettingRate}." @@ -825,7 +825,7 @@ he: description: "ישנן <b>{{replyCount}}</b> תגובות." description_time: "יש <b>{{replyCount}}</b> תגובות עם זמן קריאה מוערך של <b>{{readingTime}} דקות</b>." enable: 'סכם נושא זה' - disable: 'הצג את כל ההודעות' + disable: 'הצג את כל הפוסטים' deleted_filter: enabled_description: "נושא זה מכיל פוסטים שנמחקו ולכן אינם מוצגים." disabled_description: "פוסטים שנמחקו בנושא זה מוצגים כעת." @@ -948,7 +948,7 @@ he: reply_here: "תגובה כאן" reply: "תגובה" cancel: "ביטול" - create_topic: "יצירת פוסט" + create_topic: "יצירת נושא" create_pm: "הודעה" title: "או לחצו Ctrl+Enter" users_placeholder: "הוספת משתמש" @@ -993,7 +993,7 @@ he: toggler: "הסתר או הצג את פאנל העריכה" modal_ok: "אישור" modal_cancel: "ביטול" - cant_send_pm: "מצטערים, אינכם יכולים לשלוח הודעה ל %{username}." + cant_send_pm: "מצטערים, אינכם יכולים לשלוח הודעה ל-%{username}." yourself_confirm: title: "שחכתם להוסיף נמענים?" body: "כרגע ההודעה הזו נשלחת רק אליכם!" @@ -1001,14 +1001,14 @@ he: auto_close: label: "מועד סגירה אוטומטית של נושא:" error: "הזינו בבקשה ערך תקין." - based_on_last_post: "לא לסגור עד שהפרסום האחרון בנושא זה יהיה לפחות בגיל זה." + based_on_last_post: "לא לסגור עד שהפוסט האחרון בנושא זה יהיה לפחות בגיל זה." all: examples: 'הזינו מספר שעות (24), שעה מדוייקת (17:30) או חותמת זמן (2013-11-22 14:00).' limited: units: "(# מספר שעות)" examples: 'הזינו מספר שעות (24).' notifications: - title: "התראות אודות אזכור @שם, תגובות לפוסטים ולנושאים שלכם, הודעות וכד'" + title: "התראות אודות אזכור @שם, תגובות לפוסטים ולנושאים שלכם, הודעות, וכד'" none: "לא ניתן לטעון כעת התראות." empty: "לא נמצאו התראות." more: "הצגת התראות ישנות יותר" @@ -1095,7 +1095,7 @@ he: category: "חפשו את הקטגוריה #{{category}}" topic: "חפשו בנושא זה" private_messages: "חיפוש הודעות" - hamburger_menu: "עבור לרשימת נושאים אחרת או קטגוריה" + hamburger_menu: "עיברו לרשימת נושאים אחרת או קטגוריה" new_item: "חדש" go_back: 'חזור אחורה' not_logged_in_user: 'עמוד משתמש עם סיכום פעילות נוכחית והעדפות' @@ -1104,7 +1104,7 @@ he: bulk: unlist_topics: "הסרת נושאים" reset_read: "איפוס נקראו" - delete: "מחיקת פוסטים" + delete: "מחיקת נושאים" dismiss: "ביטול" dismiss_read: "בטלו את כל אלו שלא-נקראו" dismiss_button: "ביטול..." @@ -1119,19 +1119,19 @@ he: notification_level: "שינוי רמת התראה" choose_new_category: "בחרו את הקטגוריה עבור הנושאים:" selected: - one: "בחרת נושא <b>אחד</b>." - other: "בחרת <b>{{count}}</b> נושאים." + one: "בחרתם נושא <b>אחד</b>." + other: "בחרתם <b>{{count}}</b> נושאים." change_tags: "שנו תגיות" choose_new_tags: "בחרו בתגיות חדשות עבור נושאים אלו:" changed_tags: "התגיות של נושאים אלו השתנו." none: unread: "אין לכם נושאים שלא נקראו." - new: "אין לך נושאים חדשים." - read: "עדיין לא קראת אף נושא." - posted: "עדיין לא פרסמת באף נושא." - latest: "אין פוסטים מדוברים. זה עצוב." - hot: "אין פוסטים חמים." - bookmarks: "אין לך עדיין סימניות לפוסטים." + new: "אין לכם נושאים חדשים." + read: "עדיין לא קראתם אף נושא." + posted: "עדיין לא פרסמתם באף נושא." + latest: "אין נושאים אחרונים. זה עצוב." + hot: "אין נושאים חמים." + bookmarks: "אין לך עדיין סימניות לנושאים." category: "אין נושאים בקטגוריה {{category}}." top: "אין נושאים מובילים." search: "אין תוצאות חיפוש" @@ -1183,10 +1183,10 @@ he: login_required: "עליכם להתחבר כדי לצפות בנושא זה." server_error: title: "שגיאה בטעינת הנושא" - description: "סליחה, לא יכולנו לטעון את הפוסט הזה, ייתכן שבשל תקלת תקשורת. אנא נסי שוב. אם הבעיה נמשכת, הודיעו לנו." + description: "סליחה, לא יכולנו לטעון את הנושא הזה, ייתכן שבשל תקלת תקשורת. אנא נסו שוב. אם הבעיה נמשכת, הודיעו לנו." not_found: title: "הנושא לא נמצא" - description: "סליחה, לא יכולנו למצוא את הנושא הזה. אולי הוא הוסר על ידי מנהל?" + description: "סליחה, לא יכולנו למצוא את הנושא הזה. אולי הוא הוסר על ידי מנחה?" total_unread_posts: one: "יש לכם פוסט אחד שלא נקרא בנושא זה" other: "יש לכם {{count}} פוסטים שלא נקראו בנושא זה" @@ -1198,25 +1198,25 @@ he: other: "יש {{count}} פוסטים חדשים בנושא זה מאז שקראתם אותו לאחרונה" likes: one: "יש לייק אחד בנושא הזה" - other: "יש {{count}} לייקים בפוסט הזה" - back_to_list: "חזרה לרשימת הפוסטים" - options: "אפשרויות פוסט" - show_links: "הצג קישורים בתוך הפוסט הזה" - toggle_information: "הצגת פרטי פוסט" - read_more_in_category: "רוצה לקרוא עוד? עיין פוסטים אחרים ב {{catLink}} או {{latestLink}}." + other: "יש {{count}} לייקים בנושא זה" + back_to_list: "חזרה לרשימת הנושאים" + options: "אפשרויות נושא" + show_links: "הצג קישורים בתוך הנושא הזה" + toggle_information: "הצגת פרטי נושא" + read_more_in_category: "רוצים לקרוא עוד? עיינו בנושאים אחרים ב {{catLink}} או {{latestLink}}." read_more: "רוצה לקרוא עוד? {{catLink}} or {{latestLink}}." read_more_MF: "There { UNREAD, plural, =0 {} one { is <a href='/unread'>1 unread</a> } other { are <a href='/unread'># unread</a> } } { NEW, plural, =0 {} one { {BOTH, select, true{and } false {is } other{}} <a href='/new'>1 new</a> topic} other { {BOTH, select, true{and } false {are } other{}} <a href='/new'># new</a> topics} } remaining, or {CATEGORY, select, true {browse other topics in {catLink}} false {{latestLink}} other {}}" browse_all_categories: עיין בכל הקטגוריות - view_latest_topics: הצגת פוסטים מדוברים - suggest_create_topic: לחצו כאן כדי ליצור פוסט חדש. + view_latest_topics: הצגת נושאים אחרונים + suggest_create_topic: למה לא ליצור נושא חדש? jump_reply_up: קפיצה לתגובה קודמת jump_reply_down: קפיצה לתגובה מאוחרת - deleted: "הפוסט הזה נמחק" - auto_close_notice: "הפוסט הזה ינעל אוטומטית %{timeLeft}." - auto_close_notice_based_on_last_post: "פוסט זה ייסגר %{duration} אחר התגובה האחרונה." + deleted: "הנושא הזה נמחק" + auto_close_notice: "הנושא הזה ינעל אוטומטית %{timeLeft}." + auto_close_notice_based_on_last_post: "נושא זה ייסגר %{duration} אחר התגובה האחרונה." auto_close_title: 'הגדרות נעילה אוטומטית' auto_close_save: "שמור" - auto_close_remove: "אל תנעל פוסט זה אוטומטית" + auto_close_remove: "אל תנעל נושא זה אוטומטית" auto_close_immediate: one: "הפוסט האחרון בנושא הוא כבר בן שעה, אז הנושא ייסגר מיידית." other: "הפוסט האחרון בנושא הוא כבר בן %{count} שעות, אז הנושא ייסגר אוטומטית." @@ -1225,7 +1225,7 @@ he: back_description: "חיזרו לפוסט האחרון שלא-נקרא על-ידיכם" replies_short: "%{current} / %{total}" progress: - title: התקדמות פוסט + title: התקדמות נושא go_top: "למעלה" go_bottom: "למטה" go: "קדימה" @@ -1233,7 +1233,7 @@ he: jump_prompt: "קפיצה לפוסט" jump_prompt_long: "לאיזה פוסט הייתם רוצים לקפוץ?" jump_bottom_with_number: "קפיצה לפוסט %{post_number}" - total: סך הכל הודעות + total: סך הכל הפוסטים current: פוסט נוכחי notifications: title: שנו את תדירות ההתראות על הנושא הזה @@ -1252,8 +1252,8 @@ he: '1_2': 'תקבלו התראה אם מישהו יזכיר את @שם_המשתמש/ת שלך או ישיב לפרסום שלך.' '1': 'תקבלו התראה אם מישהו יזכיר את @שם_המשתמש/ת שלך או ישיב לפרסום שלך.' '0_7': 'את/ה מתעלם/מתעלמת מכל ההתראות בקטגוריה זו.' - '0_2': 'אתם מתעלמים מכל ההתראות בפוסט זה.' - '0': 'אתם מתעלמים מכל ההתראות בפוסט זה.' + '0_2': 'אתם מתעלמים מכל ההתראות בנושא זה.' + '0': 'אתם מתעלמים מכל ההתראות בנושא זה.' watching_pm: title: "עוקב" description: "תקבלו התראה על כל תגובה חדשה בהודעה זו. בנוסף מספר התגובות שלא נקראו יופיעו ליד ההודעה." @@ -1265,7 +1265,7 @@ he: description: "ספירה של תגובות חדשות תופיע עבור הודעה זו. אתם תיודעו אם מישהו מזכיר את @שמכם או עונה לכם." tracking: title: "רגיל+" - description: "כמו רגיל, בנוסף מספר התגובות שלא נקראו יוצג לפוסט זה. " + description: "כמו רגיל, בנוסף מספר התגובות שלא נקראו יוצג לנושא זה." regular: title: "רגיל" description: "תקבלו התראה אם מישהו יזכיר את @שם_המשתמש/ת שלך או ישיב לפרסום שלך." @@ -1302,20 +1302,20 @@ he: remove_banner: "הסרת נושא באנר" reply: title: 'תגובה' - help: 'החל בכתיבת תגובה לנושא זה' + help: 'התחילו לכתוב תגובה לנושא זה' clear_pin: title: "נקה נעיצה" - help: "נקה סטטוס נעוץ של פוסט זה כדי שהוא לא יופיע עוד בראש רשימת הפוסטים שלך" + help: "נקה סטטוס נעוץ של נושא זה כדי שהוא לא יופיע עוד בראש רשימת הנושאים שלכם" share: title: 'שיתוף' - help: 'שתפו קישור לפוסט זה' + help: 'שתפו קישור לנושא זה' flag_topic: title: 'דגל' - help: 'דגלו פוסט זה באופן פרטי לתשומת לב או שלחו התראה פרטית בנוגע אליו' + help: 'דגלו נושא זה באופן פרטי לתשומת לב או שלחו התראה פרטית בנוגע אליו' success_message: 'דיגלתם נושא זה בהצלחה.' feature_topic: title: "המליצו על נושא זה" - pin: "גרמו לפוסט זה להופיע בראש קטגוריה {{categoryLink}} עד" + pin: "גרמו לנושא זה להופיע בראש קטגוריה {{categoryLink}} עד" confirm_pin: "יש לכם כבר {{count}} נושאים נעוצים. מספר גדול מידי של נושאים נעוצים עשויים להכביד על משתמשים חדשים או אנונימיים. האם אתם בטוחים שאתם רוצים לנעוץ נושא נוסף בקטגוריה זו? " unpin: "הסרת נושא זה מראש הקטגוריה {{categoryLink}}." unpin_until: "גרמו לנושא זה להופיע בראש הקטגוריה {{categoryLink}} או המתינו עד <strong>%{until}</strong>." @@ -1325,16 +1325,16 @@ he: already_pinned: one: "נושא שננעצו, נכון לעכשיו בקטגוריה {{categoryLink}}: <strong class='badge badge-notification unread'>1</strong>" other: "נושאים ננעצו, נכון לעכשיו, בקטגוריה {{categoryLink}}.: <strong class='badge badge-notification unread'>{{count}}</strong>" - pin_globally: "גרמו לפוסט זה להופיע בראש כל רשימות הפוסטים עד" - confirm_pin_globally: "יש לך כבר {{count}} פוסטים המוצמדים באופן גלובאלי. עודף פוסטים מוצמדים עשוי להכביד על משתמשים חדשים או אנונימיים. האם את/ה בטוחים שאתם מעוניינים להצמיד פוסט גלובאלי נוסף?" - unpin_globally: "הסרת פוסט זה מראש כל רשימות הפוסטים." - unpin_globally_until: "הסרת פוסט זה מראש כל רשימות הפוסטים או המתינו עד <strong>%{until}</strong>." - global_pin_note: "משתמשים יכולים להסיר את הצמדת הפוסט באופן עצמאי לעצמם." + pin_globally: "גרמו לנושא זה להופיע בראש כל רשימות הנושאים עד" + confirm_pin_globally: "יש לך כבר {{count}} נושאים הנעוצים באופן גלובאלי. עודף נושאים נעוצים עשוי להכביד על משתמשים חדשים או אנונימיים. האם אתם בטוחים שאתם מעוניינים לנעוץ נושא גלובאלי נוסף?" + unpin_globally: "הסרת נושא זה מראש כל רשימות הנושאים." + unpin_globally_until: "הסירו נושא זה מראש כל רשימות הנושאים או המתינו עד <strong>%{until}</strong>." + global_pin_note: "משתמשים יכולים להסיר את הצמדת הנושא באופן עצמאי לעצמם." not_pinned_globally: "אין נושאים נעוצים גלובאלית." already_pinned_globally: one: "נושאים שכרגע נעוצים גלובאלית: <strong class='badge badge-notification unread'>1</strong>" other: "נושאים שכרגע נעוצים גלובאלית: <strong class='badge badge-notification unread'>{{count}}</strong>" - make_banner: "הפכו פוסט זה לבאנר אשר מופיע בראש כל העמודים." + make_banner: "הפכו נושא זה לבאנר אשר מופיע בראש כל העמודים." remove_banner: "הסרת הבאנר שמופיע בראש כל העמודים." banner_note: "משתמשים יכולים לבטל את הבאנר על ידי סגירתו. רק פוסט אחד יכול לשמש כבאנר בזמן נתון." no_banner_exists: "אין נושא באנר" @@ -1355,16 +1355,16 @@ he: title: 'הזמנה' username_placeholder: "שם משתמש" action: 'שלח הזמנה' - help: 'הזמינו אנשים אחרים לפוסט זה דרך דואר אלקטרוני או התראות' + help: 'הזמינו אנשים אחרים לנושא זה דרך דואר אלקטרוני או התראות' to_forum: "נשלח מייל קצר המאפשר לחברך להצטרף באופן מיידי באמצעות לחיצה על קישור, ללא צורך בהתחברות למערכת הפורומים." - sso_enabled: "הכנס את שם המשתמש של האדם שברצונך להזמין לפוסט זה." - to_topic_blank: "הכנס את שם המשתמש או כתובת דואר האלקטרוני של האדם שברצונך להזמין לפוסט זה." - to_topic_email: "הזנת כתובת אימייל. אנחנו נשלח הזמנה שתאפשר לחברך להשיב לפוסט הזה." - to_topic_username: "הזנת שם משתמש/ת. נשלח התראה עם לינק הזמנה לפוסט הזה. " - to_username: "הכנסת את שם המשתמש של האדם שברצונך להזמין. אנו נשלח התראה למשתמש זה עם קישור המזמין אותו לפוסט זה." + sso_enabled: "הכניסו את שם המשתמש של האדם שברצונכם להזמין לנושא זה." + to_topic_blank: "הכניסו את שם המשתמש או כתובת הדואר האלקטרוני של האדם שברצונכם להזמין לנושא זה." + to_topic_email: "הזנת כתובת אימייל. אנחנו נשלח הזמנה שתאפשר לחברך להשיב לנושא הזה." + to_topic_username: "הזנת שם משתמש/ת. נשלח התראה עם לינק הזמנה לנושא הזה. " + to_username: "הכנסתם את שם המשתמש של האדם שברצונכם להזמין. אנו נשלח התראה למשתמש זה עם קישור המזמין אותו לנושא זה." email_placeholder: 'name@example.com' success_email: "שלחנו הזמנה ל: <b>{{emailOrUsername}}</b>. נודיע לך כשהזמנה תענה. בדוק את טאב ההזמנות בעמוד המשתמש שלך בשביל לעקוב אחרי ההזמנות ששלחת. " - success_username: "הזמנו את המשתמש להשתתף בפוסט." + success_username: "הזמנו את המשתמש להשתתף בנושא." error: "מצטערים, לא יכלנו להזמין האיש הזה. אולי הוא כבר הוזמן בעבר? (תדירות שליחת ההזמנות מוגבלת)" login_reply: 'התחברו כדי להשיב' filters: @@ -1373,17 +1373,17 @@ he: other: "{{count}} פוסטים" cancel: "הסרת הסינון" split_topic: - title: "העבר לפוסט חדש" - action: "העבר לפוסט חדש" - topic_name: "שם הפוסט החדש" - error: "הייתה שגיאה בהעברת ההודעות לפוסט החדש." + title: "העבר לנושא חדש" + action: "העבר לנושא חדש" + topic_name: "שם הנושא החדש" + error: "הייתה שגיאה בהעברת הפוסטים לנושא החדש." instructions: one: "אתם עומדים ליצור נושא חדש ולמלא אותו עם הפוסטים שבחרתם." other: "אתם עומדים ליצור נושא חדש ולמלא אותו עם <b>{{count}}</b> הפוסטים שבחרתם." merge_topic: - title: "העבר לפוסט קיים" - action: "העבר לפוסט קיים" - error: "התרחשה שגיאה בהעברת ההודעות לפוסט הזה." + title: "העבר לנושא קיים" + action: "העבר לנושא קיים" + error: "התרחשה שגיאה בהעברת הפוסטים לנושא הזה." instructions: one: "בבקשה בחרו נושא אליו הייתם רוצים להעביר את הפוסט." other: "בבקשה בחרו את הנושא אליו תרצה להעביר את <b>{{count}}</b> הפוסטים." @@ -1392,14 +1392,14 @@ he: action: "מיזוג פוסטים שנבחרו" error: "ארעה שגיאה במיזוג הפוסטים שנבחרו." change_owner: - title: "שנה בעלים של הודעות" + title: "שנו בעלים של פוסטים" action: "שנה בעלות" error: "התרחשה שגיאה בשינוי הבעלות של ההדעות." - label: "בעלים חדש של ההודעות" + label: "בעלים חדשים של פוסטים" placeholder: "שם המשתמש של הבעלים החדש" instructions: - one: "אנא בחר את הבעלים החדש של ההודעות מאת <b>{{old_user}}</b>." - other: "אנא בחר את הבעלים החדש של {{count}} ההודעות מאת <b>{{old_user}}</b>." + one: "אנא בחר את הבעלים החדש של הפוסטים מאת <b>{{old_user}}</b>." + other: "אנא בחרו את הבעלים החדש של {{count}} הפוסטים מאת <b>{{old_user}}</b>." instructions_warn: "יש לשים לב שהתראות על פוסט זה יועברו למשתמש החדש רטרואקטיבית.<br>זהירות: כרגע, שום מידע תלוי-פוסט אינו מועבר למשתמש החדש. השתמשו בזהירות." change_timestamp: title: "שנה חותמת זמן" @@ -1426,7 +1426,7 @@ he: edit_reason: "סיבה: " post_number: "פוסט {{number}}" last_edited_on: "הפוסט נערך לאחרונה ב" - reply_as_new_topic: "תגובה כפוסט מקושר" + reply_as_new_topic: "תגובה כנושא מקושר" continue_discussion: "ממשיך את הדיון מ {{postLink}}:" follow_quote: "מעבר לפוסט המצוטט" show_full: "הצגת פוסט מלא" @@ -1493,7 +1493,7 @@ he: other: "אתם רוצים למחוק את {{count}} התגובות הישירות לפוסט זה?" yes_value: "כן, מחק גם את התגובות" no_value: "לא, רק את הפוסט" - admin: "פרסום פעולות מנהלים" + admin: "פעולות ניהול של הפוסט" wiki: "יצירת wiki" unwiki: "הסרת ה-Wiki" convert_to_moderator: "הוספת צבע צוות" @@ -1598,7 +1598,7 @@ he: hide: "הסתרת שינויים" show: "הצגת שינויים" revert: "חזרה לגרסה זו" - comparing_previous_to_current_out_of_total: "<strong>{{קודם}}</strong> <i class='fa fa-arrows-h'></i> <strong>{{נוכחי}}</strong> / {כוללl}}" + comparing_previous_to_current_out_of_total: "<strong>{{previous}}</strong> <i class='fa fa-arrows-h'></i> <strong>{{current}}</strong> / {{total}}" displays: inline: title: "הצג את הפלט עם תוספות והסרות בתוכו" @@ -1616,10 +1616,10 @@ he: choose: 'בחר קטגוריה…' edit: 'ערוך' edit_long: "עריכה" - view: 'הצג פוסטים בקטגוריה' + view: 'הצגת נושאים בקטגוריה' general: 'כללי' settings: 'הגדרות' - topic_template: "תבנית פוסט" + topic_template: "תבנית נושא" tags: "תגיות" tags_allowed_tags: "תגיות שניתנות לשימוש בקטגוריה זו בלבד:" tags_allowed_tag_groups: "קבוצות תגים שניתנות לשימוש בקטגוריה זו:" @@ -1720,7 +1720,7 @@ he: action: "דגלו נושא" notify_action: "הודעה" topic_map: - title: "סיכום פוסט" + title: "סיכום נושא" participants_title: "מפרסמים מתמידים" links_title: "לינקים פופלארים" links_shown: "הצגת קישורים נוספים..." @@ -1736,26 +1736,26 @@ he: warning: help: "זוהי אזהרה רשמית." bookmarked: - help: "יצרת סימניה לפוסט זה" + help: "יצרתם סימניה לנושא זה" locked: - help: "הפוסט הזה נעול, הוא לא מקבל יותר תגובות חדשות" + help: "הנושא הזה נעול, הוא לא מקבל יותר תגובות חדשות" archived: - help: "הפוסט הזה אוכסן בארכיון; הוא הוקפא ולא ניתן לשנותו" + help: "הנושא הזה אוכסן בארכיון; הוא הוקפא ולא ניתן לשנותו" locked_and_archived: - help: "הפוסט הזה סגור ומאורכב. לא ניתן להגיב בו יותר או לשנות אותו. " + help: "הנושא הזה סגור ומאורכב. לא ניתן להגיב בו יותר או לשנות אותו. " unpinned: title: "הורד מנעיצה" - help: "פוסט זה אינו מקובע עבורך; הוא יופיע בסדר הרגיל" + help: "נושא זה אינו מקובע עבורכם; הוא יופיע בסדר הרגיל" pinned_globally: title: "נעוץ גלובאלית" help: "הנושא הזה נעוץ בכל האתר; הוא יוצג בראש הקטגוריה שלו כחדש ביותר" pinned: title: "נעוץ" - help: "פוסט זה מקובע עבורך, הוא יופיע בראש הקטגוריה" + help: "נושא זה ננעץ עבורכם, הוא יופיע בראש הקטגוריה" invisible: - help: "פוסט זה מוסתר; הוא לא יוצג ברשימות הפוסטים, וזמין רק באמצעות קישור ישיר." - posts: "הודעות" - posts_long: "יש {{number}} הודעות בפוסט הזה" + help: "נושא זה מוסתר; הוא לא יוצג ברשימות הנושאים, וזמין רק באמצעות קישור ישיר." + posts: "פוסטים" + posts_long: "יש {{number}} פוסטים בנושא הזה" posts_likes_MF: | לנושא זה יש {count, plural, one {פרסום אחד} other {# פרסומים}} נמוך {עם יחס גבוה של לייקים לפרסום} @@ -1768,13 +1768,13 @@ he: one: "צפיה" other: "צפיות" replies: "תגובות" - views_long: "הפוסט הזה נצפה {{number}} פעמים" + views_long: "הנושא הזה נצפה {{number}} פעמים" activity: "פעילות" likes: "לייקים" likes_lowercase: one: "לייק" other: "לייקים" - likes_long: "יש {{number}} לייקים לפוסט הזה" + likes_long: "יש {{number}} לייקים לנושא הזה" users: "משתמשים" users_lowercase: one: "משתמש" @@ -1787,33 +1787,33 @@ he: not_available: "לא זמין!" categories_list: "רשימת קטגוריות" filters: - with_topics: "%{filter} פוסטים" - with_category: "%{filter} %{category} פוסטים" + with_topics: "%{filter} נושאים" + with_category: "%{filter} %{category} נושאים" latest: title: "פורסמו לאחרונה" title_with_count: one: "האחרון (1)" other: "({{count}}) פורסמו לאחרונה" - help: "פוסטים עם תגובות לאחרונה" + help: "נושאים עם תגובות לאחרונה" hot: title: "חם" - help: "מבחר הפוסטים החמים ביותר" + help: "מבחר הנושאים החמים ביותר" read: title: "נקרא" - help: "פוסטים שקראת, לפי סדר קריאתם" + help: "נושאים שקראתם, לפי סדר קריאתם" search: title: "חיפוש" - help: "חיפוש בכל הפוסטים" + help: "חיפוש בכל הנושאים" categories: title: "קטגוריות" title_in: "קטגוריה - {{categoryName}}" - help: "כל הפוסטים תחת הקטגוריה הזו" + help: "כל הנושאים תחת הקטגוריה הזו" unread: title: "לא-נקראו" title_with_count: one: "לא נקרא(1)" other: "לא-נקראו ({{count}})" - help: "פוסטים שאתם כרגע צופים או עוקבים אחריהם עם פרסומים שלא נקראו" + help: "נושאים שאתם כרגע צופים או עוקבים אחריהם עם פוסטים שלא נקראו" lower_title_with_count: one: "לא נקרא (1)" other: "לא-נקראו {{count}} " @@ -1826,19 +1826,19 @@ he: title_with_count: one: "חדש (1)" other: "חדשים ({{count}})" - help: "פרסומים שנוצרו בימים האחרונים" + help: "נושאים שנוצרו בימים האחרונים" posted: - title: "ההודעות שלי" - help: "פוסטים בהם פרסמת" + title: "הפוסטים שלי" + help: "נושאים בהם פרסמת" bookmarks: title: "סימניות" - help: "פוסטים עבורם יצרת סימניות" + help: "נושאים עבורם יצרתם סימניות" category: title: "{{categoryName}}" title_with_count: one: "{{categoryName}} (1)" other: "{{categoryName}} ({{count}})" - help: "פוסטים מדוברים בקטגוריה {{categoryName}}" + help: "נושאים מדוברים בקטגוריה {{categoryName}}" top: title: "מובילים" help: "הפוסטים הפעילים ביותר בשנה, חודש, שבוע או יום האחרונים" @@ -2116,13 +2116,13 @@ he: delete_post_agree_flag_title: "מחיקת פוסט; אם זהו הפוסט הראשון, מחיקת הנושא" delete_flag_modal_title: "מחיקה ו..." delete_spammer: "מחיקת ספאמר" - delete_spammer_title: "הסרת המשתמש/ת וכל הפרסומים והפוסטים של משתמש/ת אלו." + delete_spammer_title: "הסרת המשתמש/ת וכל הפוסטים והנושאים של משתמש/ת אלו." disagree_flag_unhide_post: "אי-קבלה (הצגה מחדש של הפוסט)" disagree_flag_unhide_post_title: "הסרה של כל הדגלים מהפוסט הזה והחזרתו למצב תצוגה" disagree_flag: "אי קבלה" disagree_flag_title: "התעלמות מהדגל היות שאינו תקין או אינו נכון" clear_topic_flags: "סיום" - clear_topic_flags_title: "הפוסט נבדק והבעיה נפתרה. לחצו על סיום כדי להסיר את הדגלים." + clear_topic_flags_title: "הנושא נבדק והבעיה נפתרה. לחצו על סיום כדי להסיר את הדגלים." more: "(עוד תגובות...)" dispositions: agreed: "התקבל" @@ -2135,8 +2135,8 @@ he: error: "משהו השתבש" reply_message: "תגובה" no_results: "אין דגלים." - topic_flagged: "<strong>הפוסט</strong> הזה דוגל." - visit_topic: "בקרו בפוסט כדי לנקוט פעולה" + topic_flagged: "<strong>נושא</strong> זה דוגל." + visit_topic: "בקרו בנושא כדי לנקוט פעולה" was_edited: "הפוסט נערך לאחר הדיגול הראשון" previous_flags_count: "פוסט זה כבר דוגל {{count}} פעמים." summary: @@ -2206,9 +2206,24 @@ he: revoke: "שלול" confirm_regen: "אתה בטוח שברצונך להחליף את מפתח ה-API באחד חדש?" confirm_revoke: "אתם בטוחים שברצונכם לשלול את המפתח הזה?" - info_html: "מפתח הAPI שלך יאפשר לך ליצור ולעדכן פוסטים בעזרת קריאות JSON." + info_html: "מפתח הAPI שלך יאפשר לך ליצור ולעדכן נושאים בעזרת קריאות JSON." all_users: "כל המשתמשים" note_html: "שמרו על מפתח זה <strong>סודי</strong>, כל משתמש שיחזיק בו יוכל לייצר פרסומים שרירותית, כאילו היה כל משתמש/ת אחרים." + web_hooks: + event_type_missing: "אתם צריכים לקבוע לפחות סוג אירועים אחד." + content_type: "סוג תוכן" + secret: "סוד" + events: + body: "גוף" + go_list: "לכו לרשימה" + go_details: "עריכת webhook" + go_events: "לכו לארועים" + ping: "פינג" + status: "קוד סטטוס" + event_id: "מזהה" + timestamp: "נוצר" + completion: "זמן השלמה" + actions: "פעולות" plugins: title: "הרחבות (Plugins)" installed: "הרחבות מותקנות" @@ -2275,7 +2290,7 @@ he: confirm: "האם אתם בטוחים שאתם מעוניינים להשיב את בסיס הנתונים למצב קודם?" export_csv: user_archive_confirm: "האם אתם בטוחים שאתם רוצים להוריד את הפרסומים שלכם?" - success: "יצוא החל, תקבלו הודעה כשהתהליך יסתיים" + success: "יצוא החל, תקבלו התראה כשהתהליך יסתיים" failed: "הייצוא נכשל. אנא בדקו ברישומי הלוג." rate_limit_error: "ניתן להוריד פרסומים פעם ביום, אנא נסו שוב מחר." button_text: "ייצוא" @@ -2365,10 +2380,10 @@ he: description: "טקסט ואייקונים בכותרת האתר." highlight: name: 'הדגשה' - description: 'צבע הרקע של אלמנטים מודגשים בעמוד, כמו הודעות ופוסטים.' + description: 'צבע הרקע של אלמנטים מודגשים בעמוד, כמו פוסטים ונושאים.' danger: name: 'זהירות' - description: 'צבע הדגשה של פעולות כמו מחיקת הודעות ופוסטים.' + description: 'צבע הדגשה של פעולות כמו מחיקת פוסטים ונושאים.' success: name: 'הצלחה' description: 'משמש כדי לסמן פעולה מוצלחת.' @@ -2441,7 +2456,7 @@ he: last_match_at: "הותאם לאחרונה" match_count: "תואם" ip_address: "IP" - topic_id: "זהות (ID) פוסט" + topic_id: "זהות (ID) נושא" post_id: "מזהה פוסט" category_id: "מזהה קטגוריה" delete: 'מחק' @@ -2480,7 +2495,7 @@ he: grant_badge: "העניקו עיטור" revoke_badge: "שללו עיטור" check_email: "בדיקת דוא\"ל" - delete_topic: "מחיקת פוסט" + delete_topic: "מחיקת נושא" delete_post: "מחיקת פוסט" impersonate: "התחזה" anonymize_user: "הפיכת משתמש/ת לאנונימיים" @@ -2506,7 +2521,7 @@ he: allow: "לאפשר" screened_urls: title: "כתובות מסוננות" - description: "הכתובות הרשומות כאן היו בשימוש בהודעות מאת משתמשים שזוהו כספאמרים." + description: "הכתובות הרשומות כאן היו בשימוש בפוסטים מאת משתמשים שזוהו כספאמרים." url: "כתובת" domain: "שם מתחם" screened_ips: @@ -2591,7 +2606,7 @@ he: suspend_reason_label: "מדוע אתה משעה? הטקסט הזה <b>יהיה נראה לכולם</b> בעמוד המשתמש הזה, ויוצג למשתמש כשינסה להתחבר. נסה לשמור עליו קצר." suspend_reason: "סיבה" suspended_by: "הושעה על ידי" - delete_all_posts: "מחק את כל ההודעות" + delete_all_posts: "מחק את כל הפוסטים" delete_all_posts_confirm_MF: "אתם עומדים למחוק {POSTS, plural, one {פוסט אחד} other {# פסוטים}} ו{TOPICS, plural, one {נושא אחד} other {# נושאים}}. האם אתם בטוחים?" suspend: "השעה" unsuspend: "בטל השעייה" @@ -2621,10 +2636,10 @@ he: activity: פעילות like_count: לייקים שהוענקו / התקבלו last_100_days: 'ב-100 הימים האחרונים' - private_topics_count: פוסטים פרטיים - posts_read_count: הודעות שנקראו - post_count: הודעות שנוצרו - topics_entered: פוסטים שנצפו + private_topics_count: נושאים פרטיים + posts_read_count: פוסטים שנקראו + post_count: פוסטים שנוצרו + topics_entered: נושאים שנצפו flags_given_count: דגלים שניתנו flags_received_count: דגלים שהתקבלו warnings_received_count: התקבלו אזהרות @@ -2643,10 +2658,10 @@ he: delete_posts_forbidden_because_staff: "לא ניתן למחוק את כל הפרסומים של מנהלי מערכת ומפקחים." delete_forbidden: one: "לא ניתן למחוק משתמשים אם יש להם הודעות. מחקו את כל ההודעות לפני ניסיון מחיקה של משתמש. (הודעות ישנות יותר מיום אחד לא ניתן למחוק.)" - other: "לא ניתן למחוק משתמשים אם יש להם הודעות. מחקו את כל ההודעות לפני ניסיון מחיקה של משתמש. (הודעות ישנות יותר מ-%{count} ימים לא ניתן למחוק.)" + other: "לא ניתן למחוק משתמשים אם יש להם פוסטים. מחקו את כל הפוסטים לפני ניסיון מחיקה של משתמש. (פוסטים ישנים יותר מ-%{count} ימים לא ניתן למחוק.)" cant_delete_all_posts: one: "לא ניתן למחוק את כל ההודעות. חלק מההודעות ישנות יותר מ-%{count} ימים. (הגדרת delete_user_max_post_age.)" - other: "לא ניתן למחוק את כל ההודעות. חלק מההודעות ישנות יותר מ-%{count} ימים. (הגדרת delete_user_max_post_age.)" + other: "לא ניתן למחוק את כל הפוסטים. חלק מפוסטים ישנים יותר מ-%{count} ימים. (הגדרת delete_user_max_post_age.)" cant_delete_all_too_many_posts: one: "לא ניתן למחוק את כל הפוסטים מפני שלמשתמשים יותר מפוסט אחד. (delete_all_posts_max)" other: "לא ניתן למחוק את כל הפוסטים בגלל שלמשתמשים יותר מ %{count} פוסטים. (delete_all_posts_max)" @@ -2654,7 +2669,7 @@ he: delete_and_block: "מחיקה ו<b>חסימת</b> כתובת דוא\"ל וכתובת IP אלה" delete_dont_block: "מחיקה בלבד" deleted: "המשתמש נמחק." - delete_failed: "הייתה שגיאה במחיקת המשתמש. יש לוודא שכל ההודעות נמחקו לפני ניסיון למחוק את המשתמש." + delete_failed: "הייתה שגיאה במחיקת המשתמש. יש לוודא שכל הפוסטים נמחקו לפני ניסיון למחוק את המשתמש." send_activation_email: "שלח הודעת הפעלת חשבון" activation_email_sent: "נשלחה הודעת הפעלת חשבון" send_activation_email_failed: "הייתה בעיה בשליחת הודעת האישור. %{error}" @@ -2664,7 +2679,7 @@ he: deactivate_failed: "הייתה בעיה בנטרול חשבון המשתמש." unblock_failed: 'הייתה בעיה בביטול חסימת המשתמש.' block_failed: 'הייתה בעיה בחסימת המשתמש.' - block_confirm: 'האם אתם בטוחים שאתם מעוניינים לחסום משתמש זה? הם לא יוכלו ליצור נושאים או פוסטים נוספים.' + block_confirm: 'האם אתם בטוחים שאתם מעוניינים לחסום משתמש זה? הם לא יוכלו ליצור נושאים חדשים או פוסטים.' block_accept: 'כן, חסום משתמש זה' bounce_score: "ניקוד-החזר" reset_bounce_score: @@ -2672,7 +2687,7 @@ he: title: "איפוס ניקוד-החזר" deactivate_explanation: "חשבון משתמש מנוטרל נדרש לוודא דואר אלקטרוני מחדש." suspended_explanation: "משתמש מושעה לא יכול להתחבר." - block_explanation: "משתמש חסום לא יכול לפרסם הודעות או פוסטים." + block_explanation: "משתמש חסום לא יכול לפרסם או להתחיל נושאים." staged_explanation: "משתמש מועמד יכול לפרסם רק באמצעות מייל בנושאים ספציפיים." bounce_score_explanation: none: "לא התקבלו החזרים לאחרונה מהמייל הזה." @@ -2695,12 +2710,12 @@ he: requirement_heading: "דרישה" visits: "ביקורים" days: "ימים" - topics_replied_to: "פוסטים להם הגיבו" - topics_viewed: "פוסטים שנצפו" - topics_viewed_all_time: "פוסטים שנצפו (בכל זמן)" + topics_replied_to: "נושאים להם הגיבו" + topics_viewed: "נושאים שנצפו" + topics_viewed_all_time: "נושאים שנצפו (בכל זמן)" posts_read: "פרסומים שנקראו" posts_read_all_time: "פרסומים שנקראו (בכל זמן)" - flagged_posts: "הודעות מדוגלות" + flagged_posts: "פוסטים מדוגלים" flagged_by_users: "משתמשים שדיגלו" likes_given: "לייקים שהוענקו" likes_received: "לייקים שהתקבלו" @@ -2888,7 +2903,7 @@ he: feed_description: "לספק פיד RSS/ATOM לאתרך יכול לשפר את היכולת של דיסקורס ליבא את התוכן שלך." crawling_settings: "הגדרות זחלן" crawling_description: "כאשר Discourse יוצר נושאים חדשים עבור פוסטים שלכם, אם לא קיים RSS/ATOM הוא ינסה לפענח את התוכן מתוך ה HTML שלכם. לפעמים זה מאתגר לחלץ את התכנים שלכם אז אנחנו מספקים את האפשרות להגדיר כללי CSS כדי שהחילוץ יהיה קל יותר." - embed_by_username: "שם משתמש ליצירת פוסט" + embed_by_username: "שם משתמש ליצירת נושא" embed_post_limit: "מספר מקסימלי של פרסומים להטמעה." embed_username_key_from_feed: "מפתח למשיכת שם המשתמש ב-discourse מהפיד." embed_title_scrubber: "ביטוי רגולרי שמשמש כדי לנקות את הכותרת של פוסטים" @@ -2902,8 +2917,8 @@ he: permalink: title: "קישורים קבועים" url: "כתובת" - topic_id: "מזהה לפוסט" - topic_title: "פוסט" + topic_id: "מזהה נושא" + topic_title: "נושא" post_id: "מזהה פוסט" post_title: "פוסט" category_id: "מזהה לקטגוריה" diff --git a/config/locales/client.it.yml b/config/locales/client.it.yml index 7b4fec6da..d2584ad25 100644 --- a/config/locales/client.it.yml +++ b/config/locales/client.it.yml @@ -1781,6 +1781,23 @@ it: log_out: '<b>shift</b>+<b>z</b> <b>shift</b>+<b>z</b> Disconnetti' actions: title: 'Azioni' + bookmark_topic: '<b>f</b> Aggiungi/togli argomento nei segnalibri' + pin_unpin_topic: '<b>shift</b>+<b>p</b> Appunta/Spunta argomento' + share_topic: '<b>shift</b>+<b>s</b> Condividi argomento' + share_post: '<b>s</b> Condividi messaggio' + reply_as_new_topic: '<b>t</b> Rispondi con argomento collegato' + reply_topic: '<b>shift</b>+<b>r</b> Rispondi all''argomento' + reply_post: '<b>r</b> Rispondi al messaggio' + quote_post: '<b>q</b> Quota messaggio' + like: '<b>l</b> Metti "Mi piace" al messaggio' + flag: '<b>!</b> Segnala il messaggio' + bookmark: '<b>b</b> Aggiungi un segnalibro al messaggio' + edit: '<b>e</b> Modifica il messaggio' + delete: '<b>d</b> Cancella il messaggio' + mark_muted: '<b>m</b>, <b>m</b> Ignora argomento' + mark_regular: '<b>m</b>, <b>r</b> Argomento normale (default)' + mark_tracking: '<b>m</b>, <b>t</b> Segui argomento' + mark_watching: '<b>m</b>, <b>w</b> Osserva argomento' badges: earned_n_times: one: "Guadagnato questo distintivo 1 volta" @@ -1789,10 +1806,32 @@ it: others_count: "Altri utenti con questo distintivo (%{count})" title: Distintivi allow_title: "titolo disponibile" + multiple_grant: "assegnata più volte" badge_count: one: "1 Distintivo" other: "%{count} Distintivi" select_badge_for_title: Seleziona un distintivo da usare come tuo titolo + none: "<none>" + badge_grouping: + getting_started: + name: Inizia + community: + name: Community + trust_level: + name: Livello Esperienza + other: + name: Altro + posting: + name: Pubblicazione + google_search: | + <h3>Cerca con Google</h3> + <p> + <form action='//google.com/search' id='google-search' onsubmit="document.getElementById('google-query').value = 'site:' + window.location.host + ' ' + document.getElementById('user-query').value; return true;"> + <input type="text" id='user-query' value=""> + <input type='hidden' id='google-query' name="q"> + <button class="btn btn-primary">Google</button> + </form> + </p> tagging: all_tags: "Etichette" selector_all_tags: "tutte le etichette" @@ -1804,6 +1843,7 @@ it: delete_confirm: "Sicuro di voler cancellare questa etichetta?" rename_tag: "Rinomina Etichetta" rename_instructions: "Scegli un altro nome per l'etichetta:" + sort_by_name: "nome" manage_groups: "Gestisci Gruppi Etichette" manage_groups_description: "Definisci gruppi per organizzare le etichette" filters: @@ -1811,6 +1851,22 @@ it: with_category: "%{filter} %{tag} argomenti in %{category}" untagged_without_category: "%{filter} argomenti non etichettati" untagged_with_category: "%{filter} argomenti non etichettati in %{category}" + notifications: + watching: + title: "In osservazione" + description: "Visualizzerai automaticamente tutti gli argomenti di questa categoria. Riceverai una notifica per tutti i nuovi messaggi e argomenti. Inoltre, accanto all'argomento apparirà il conteggio dei messaggi non letti e di quelli nuovi." + watching_first_post: + title: "Osservando Primo Messaggio" + description: "Riceverai solo la notifica per il primo messaggio di ogni nuovo argomenti in questa categoria." + tracking: + title: "Tracking" + description: "Seguirai automaticamente tutti gli argomenti di questa categoria. Accanto all'argomento visualizzerai un conteggio dei messaggi non letti e di quelli nuovi." + regular: + title: "Normale" + description: "Riceverai una notifica se qualcuno tagga il tuo @nome o risponde ad un tuo messaggio." + muted: + title: "Silenziato" + description: "Non riceverai nessuna notifiche dei nuovi argomenti in questa categoria, e non comparirà il tab dei messaggi non letti." groups: title: "Gruppi Etichette" about: "Aggiungi etichette a gruppi per poterle gestire più facilmente." @@ -1845,6 +1901,11 @@ it: top: "Non ci sono ulteriori argomenti di punta." bookmarks: "Non ci sono ulteriori argomenti nei segnalibri." search: "Non ci sono ulteriori risultati di ricerca." + invite: + custom_message: "Rendi il tuo invito un po' più personale scrivendo un" + custom_message_link: "messaggio personalizzato" + custom_message_placeholder: "Inserisci il tuo messaggio personalizzato" + custom_message_template_forum: "Hey, unisciti a questo forum!" admin_js: type_to_filter: "digita per filtrare..." admin: @@ -1994,6 +2055,14 @@ it: add_owners: Aggiungi proprietari incoming_email: "Indirizzo email personalizzato" incoming_email_placeholder: "inserisci l'indirizzo e-mail" + flair_url: "Immagine Avatar" + flair_url_placeholder: "(Facoltativo) URL Immagine o categoria Font Awesome" + flair_bg_color: "Colore di sfondo Avatar" + flair_bg_color_placeholder: "(Facoltativo) Codice Hex colore" + flair_color: "Colore Avatar" + flair_color_placeholder: "(Facoltativo) Codice Hex colore" + flair_preview: "Anteprima" + flair_note: "Nota: l'Avatar verrà mostrato solo per il gruppo principale dell'utente." api: generate_master: "Genera una Master API Key" none: "Non ci sono chiavi API attive al momento." @@ -2008,6 +2077,20 @@ it: info_html: "La tua chiave API ti permetterà di creare e aggiornare gli argomenti usando chiamate JSON." all_users: "Tutti gli Utenti" note_html: "Mantieni <strong>segreta</strong> questa chiave, tutti gli utenti che la possiedono possono creare messaggi per conto di altri." + web_hooks: + title: "Webhook" + none: "Non ci sono webhook disponibili adesso." + instruction: "Webhook consente a Discourse di notificare servizi esterni quando sul tuo sito si verificano determinati eventi. Quando un webhook viene innescato, una richiesta di MESSAGGIO viene inviata agli URL forniti." + detailed_instruction: "Una richiesta di MESSAGGIO verrà inviata agli URL forniti quando si verifica un evento scelto." + new: "Nuovo Webhook" + create: "Crea" + save: "Salva" + destroy: "Elimina" + description: "Descrizione" + controls: "Controlli" + go_back: "Torna all'elenco" + payload_url: "Aggiungi URL" + payload_url_placeholder: "https://example.com/postreceive" plugins: title: "Plugin" installed: "Plugin Installati" diff --git a/config/locales/client.ja.yml b/config/locales/client.ja.yml index 801d953f8..7a12445fe 100644 --- a/config/locales/client.ja.yml +++ b/config/locales/client.ja.yml @@ -92,8 +92,8 @@ ja: google+: 'Google+ でこのリンクを共有する' email: 'メールでこのリンクを送る' action_codes: - public_topic: "%{when} にこのトピックは公開されました" - private_topic: "%{when} にこのトピックは非公開にされました" + public_topic: "トピックを公開しました: %{when} " + private_topic: "トピックを非公開にしました: %{when}" invited_user: "%{who} から招待されました: %{when}" removed_user: "%{who}が %{when}に削除しました" autoclosed: @@ -106,7 +106,7 @@ ja: enabled: '%{when}にアーカイブしました' disabled: '%{when}にアーカイブを解除しました' pinned: - enabled: '%{when}に固定しました' + enabled: '固定しました: %{when}' disabled: '%{when}に固定を解除しました' pinned_globally: enabled: '%{when}に全体への固定をしました' @@ -116,6 +116,8 @@ ja: disabled: 'リストから非表示: %{when}' topic_admin_menu: "トピックの管理" emails_are_disabled: "メールアドレスの送信は管理者によって無効化されています。全てのメール通知は行われません" + bootstrap_mode_enabled: "かんたんにサイトを立ち上げられるようにするため、ブートストラップモードが有効になっています。新しいユーザーは全員、トラストレベル1を付与し、毎日更新がメールで届けられます。これらの機能は総ユーザー数が%{min_users}を超えた時にオフになります。" + bootstrap_mode_disabled: "ブートストラップモードは24時間後に無効化されます。" s3: regions: us_east_1: "US East (N. Virginia)" @@ -157,7 +159,7 @@ ja: or: "あるいは" now: "たった今" read_more: 'もっと読む' - more: "More" + more: "もっと見る" less: "Less" never: "never" every_30_minutes: "30分毎" @@ -204,7 +206,7 @@ ja: remove: "ブックマークを削除" confirm_clear: "このトピックの全てのブックマークを削除してもよいですか?" topic_count_latest: - other: "{{count}} 個の新規または更新されたトピック。" + other: "{{count}}件の新規/更新トピックがあります。" topic_count_unread: other: "{{count}} 個の未読トピック。" topic_count_new: @@ -402,13 +404,13 @@ ja: each_browser_note: "注意: 利用するすべてのブラウザでこの設定を変更する必要があります" dismiss_notifications_tooltip: "全ての未読の通知を既読にします" disable_jump_reply: "返信した後に投稿へ移動しない" - dynamic_favicon: "新規または更新されたトピックのカウントをブラウザアイコンに表示する" + dynamic_favicon: "新規/更新トピックの件数をブラウザのアイコンに表示する" external_links_in_new_tab: "外部リンクをすべて別のタブで開く" enable_quoting: "選択したテキストを引用して返信する" change: "変更" moderator: "{{user}} はモデレータです" admin: "{{user}} は管理者です" - moderator_tooltip: "このユーザはモデレータであり" + moderator_tooltip: "このユーザはモデレータです" admin_tooltip: "このユーザは管理者です" blocked_tooltip: "このユーザはブロックされています" suspended_notice: "このユーザは {{date}} まで凍結状態です。" @@ -964,7 +966,7 @@ ja: top: "トップトピックはありません。" search: "検索結果はありません。" educate: - new: '<p>新しいトピックがここに表示されます。</p><p>デフォルトで、新しいトピックがある場合は2日間、 <span class="badge new-topic badge-notification" style="vertical-align:middle;line-height:inherit;">new</span> が表示されます。</p><p>設定は<a href="%{userPrefsUrl}">プロフィール設定</a>から変更できます。</p>' + new: '<p>新しいトピックがここに表示されます。</p><p>デフォルトでは新しいトピックがある場合に2日間、<span class="badge new-topic badge-notification" style="vertical-align:middle;line-height:inherit;">new</span>が表示されます。</p><p>設定は<a href="%{userPrefsUrl}">プロフィール設定</a>から変更できます。</p>' unread: '<p>新しいトピックがここに表示されます。</p><p>未読のトピックがある場合は、<span class="badge new-posts badge-notification">1</span>が表示されます。 もし、</p><ul><li>トピックを作る</li><li>トピックに返信</li><li>トピックを4分以上読む</li></ul><p>などを行った場合、トピックを追跡してそれぞれのトピックの下にある通知の設定を経由してウォッチします。</p><p><a href="%{userPrefsUrl}">プロフィール</a>から変更できます。</p>' bottom: latest: "最新のトピックは以上です。" @@ -1379,7 +1381,7 @@ ja: delete_confirm: "このカテゴリを削除してもよろしいですか?" delete_error: "カテゴリ削除に失敗しました。" list: "カテゴリをリストする" - no_description: "このカテゴリの説明はありません。トピック定義を編集してください。" + no_description: "このカテゴリの説明はありません。" change_in_category_topic: "カテゴリ内容を編集" already_used: 'この色は他のカテゴリで利用しています' security: "セキュリティ" @@ -1607,7 +1609,10 @@ ja: mark_tracking: '<b>m</b>, <b>t</b> トピックを追跡する' mark_watching: '<b>m</b>, <b>w</b> トピックをウォッチする' badges: + granted_on: "%{date}にゲット!" title: バッジ + allow_title: "タイトルに使える" + multiple_grant: "何回もゲット出来る" badge_count: other: "%{count}個のバッジ" tagging: @@ -1731,7 +1736,7 @@ ja: no_primary: "(プライマリーグループなし)" title: "グループ" edit: "グループの編集" - refresh: "リフレッシュ" + refresh: "更新" new: "新規" selector_placeholder: "ユーザ名を入力" name_placeholder: "グループ名を入力 (ユーザ名同様にスペースなし)" @@ -2133,7 +2138,7 @@ ja: show_admin_profile: "アカウントの管理" edit_title: "タイトルを編集" save_title: "タイトルを保存" - refresh_browsers: "ブラウザを強制リフレッシュ" + refresh_browsers: "ブラウザを強制更新" refresh_browsers_message: "全てのクライアントにメッセージが送信されました!" show_public_profile: "パブリックプロフィールを見る" impersonate: 'このユーザになりすます' @@ -2268,8 +2273,13 @@ ja: confirm: '確認' dropdown: "ドロップダウン" site_text: + description: "フォーラム上のテキストを編集することができます。下のフォームで検索する事ができます:" + search: "編集したいものを入力して検索" title: 'テキストコンテンツ' edit: '編集' + go_back: "戻る" + recommended: "それぞれにあわせて、文章を変えることをオススメします:" + show_overriden: '上書き部分のみ表示' site_settings: show_overriden: '上書き部分のみ表示' title: '設定' diff --git a/config/locales/client.ro.yml b/config/locales/client.ro.yml index 4097c1f35..65516e1f6 100644 --- a/config/locales/client.ro.yml +++ b/config/locales/client.ro.yml @@ -2096,7 +2096,7 @@ ro: change_site_customization: "schimbă preferințele site-ului" delete_site_customization: "șterge preferințele site-ului" change_site_text: "schimbă textul site-ului" - suspend_user: "suspendă utilizator" + suspend_user: "suspendă utilizatorul" unsuspend_user: "reactivează utilizator" grant_badge: "acordă insignă" revoke_badge: "revocă insignă" @@ -2208,7 +2208,7 @@ ro: suspend_reason: "Motiv" suspended_by: "Suspendat de" delete_all_posts: "Șterge toate postările" - suspend: "Suspendat" + suspend: "Suspendă" unsuspend: "Activat" suspended: "Suspendat?" moderator: "Moderator?" diff --git a/config/locales/client.ru.yml b/config/locales/client.ru.yml index 53fd062b3..e016411c1 100644 --- a/config/locales/client.ru.yml +++ b/config/locales/client.ru.yml @@ -1224,6 +1224,8 @@ ru: auto_close_title: 'Настройки закрытия темы' auto_close_save: "Сохранить" auto_close_remove: "Не закрывать тему автоматически" + timeline: + back: "Вернуться" progress: title: текущее местоположение в теме go_top: "перейти наверх" @@ -1234,6 +1236,7 @@ ru: total: всего сообщений current: текущее сообщение notifications: + title: изменить частоту уведомлений об этой теме reasons: '3_6': 'Вы будете получать уведомления, т.к. наблюдаете за этим разделом.' '3_5': 'Вы будете получать уведомления, т.к. наблюдение темы началось автоматически.' @@ -1287,6 +1290,8 @@ ru: invisible: "Исключить из списков" visible: "Включить в списки" reset_read: "Сбросить счетчики" + make_public: "Сделать тему публичной" + make_private: "Сделать тему приватной" feature: pin: "Закрепить тему" unpin: "Открепить тему" @@ -1941,6 +1946,8 @@ ru: mark_regular: '<b>m</b>, <b>r</b> Стандартные уведомления в теме (по-умолчанию)' mark_tracking: '<b>m</b>, <b>t</b> Следить за темой' mark_watching: '<b>m</b>, <b>w</b> Наблюдать за темой' + badges: + title: Награды tagging: all_tags: "Все теги" selector_all_tags: "Все теги" diff --git a/config/locales/client.sk.yml b/config/locales/client.sk.yml index 790d919fb..036ad6a54 100644 --- a/config/locales/client.sk.yml +++ b/config/locales/client.sk.yml @@ -28,6 +28,7 @@ sk: millions: "{{number}}mil" dates: time: "h:mm a" + timeline_date: "MMM YYYY" long_no_year: "MMM D h:mm a" long_no_year_no_time: "MMM D" full_no_year_no_time: "MMMM Do" @@ -39,6 +40,7 @@ sk: long_date_with_year_without_time: "MMM D, 'YY" long_date_without_year_with_linebreak: "MMM D <br/>LT" long_date_with_year_with_linebreak: "MMM D, 'YY <br/>LT" + wrap_ago: "pred %{date}" tiny: half_a_minute: "< 1m" less_than_x_seconds: @@ -149,6 +151,8 @@ sk: disabled: 'stiahnuté %{when}' topic_admin_menu: "akcie administrátora témy" emails_are_disabled: "Odosielanie emailov bolo globálne vypnuté administrátorom. Žiadne emailové notifikácie nebudú odoslané." + bootstrap_mode_enabled: "Pre zjednodušenie spustenia Vašej novej stránky sa nachádzate v zavádzacom režime. Všetci noví používatelia budú mať pridelený stupeň dôvery 1 a budú mať zapnutý denný emailový výber aktualít. Toto bude automaticky vypnuté keď celkový počet používateľov presiahne %{min_users}." + bootstrap_mode_disabled: "Zavádzací režim bude zrušený v priebehu nasledujúcich 24 hodín." s3: regions: us_east_1: "USA Východ (S. Virginia)" @@ -162,11 +166,12 @@ sk: ap_northeast_1: "Ázia Tichomorie (Tokio)" ap_northeast_2: "Asia Pacific (Soul)" sa_east_1: "Južná Amerika (Sao Paulo)" + cn_north_1: "Čína (Peking)" edit: 'upraviť názov a kategóriu témy' - not_implemented: "Táto funkcia ešte bohužiaľ nie je implementovaná." + not_implemented: "Ľutujeme, táto funkcia ešte nie je implementovaná." no_value: "Nie" yes_value: "Áno" - generic_error: "Bohužiaľ nastala chyba." + generic_error: "Ľutujeme, nastala chyba." generic_error_with_reason: "Nastala chyba: %{error}" sign_up: "Registrácia" log_in: "Prihlásenie" @@ -234,7 +239,7 @@ sk: bookmark: "Kliknutím vložíte záložku na prvý príspevok tejto témy" unbookmark: "Kliknutím odstánite všetky záložky v tejto téme" bookmarks: - not_logged_in: "pre pridanie záložky sa musíte prihlásiť" + not_logged_in: "ľutujeme, pre pridanie záložky sa musíte prihlásiť" created: "záložka bola pridaná" not_bookmarked: "príspevok je prečítaný, kliknite pre pridanie záložky" last_read: "toto je posledný prečítaný príspevok, kliknite pre pridanie záložky" @@ -267,6 +272,8 @@ sk: undo: "Späť" revert: "Vrátiť zmeny" failed: "Nepodarilo sa" + switch_to_anon: "Vstúpiť do anonymného režimu" + switch_from_anon: "Opustiť anonymný režim" banner: close: "Zamietnuť tento banner." edit: "Upraviť tento banner >>" @@ -290,7 +297,7 @@ sk: few: "Téma má <b>{{count}}</b> príspevky čakajúce na schválenie" other: "Téma má <b>{{count}}</b> príspevkov čakajúcich na schválenie" confirm: "Uložiť zmeny" - delete_prompt: "Táto akcia zmaže všetky príspevky, zablokuje e-mail a IP adresu užívateľa <b>%{username}</b>. Ste si istý, že chcete zmazať tohto užívateľa? " + delete_prompt: "Táto akcia zmaže všetky príspevky, zablokuje e-mail a IP adresu používateľa <b>%{username}</b>. Ste si istý, že chcete zmazať tohto používateľa? " approval: title: "Príspevok vyžaduje schválenie" description: "Váš príspevok sme obdžali, ale skôr než bude zverejnený musí byť schválený moderátorom. Prosíme o trpezlivosť." @@ -306,9 +313,9 @@ sk: you_replied_to_post: "<a href='{{userUrl}}'>Vy</a> ste odpovedali na <a href='{{postUrl}}'>{{post_number}}</a>" user_replied_to_topic: "<a href='{{userUrl}}'>{{user}}</a> odpovedal na <a href='{{topicUrl}}'>tému</a>" you_replied_to_topic: "<a href='{{userUrl}}'>Vy</a> ste odpovedali na<a href='{{topicUrl}}'>tému</a>" - user_mentioned_user: "<a href='{{user1Url}}'>{{user}}</a> spomenul <a href='{{user2Url}}'>{{another_user}}</a>" - user_mentioned_you: "<a href='{{user1Url}}'>{{user}}</a> spomenul <a href='{{user2Url}}'>Vás</a>" - you_mentioned_user: "<a href='{{user1Url}}'>Vy</a> ste spomenuli <a href='{{user2Url}}'>{{another_user}}</a>" + user_mentioned_user: "<a href='{{user1Url}}'>{{user}}</a> zmienil <a href='{{user2Url}}'>{{another_user}}</a>" + user_mentioned_you: "<a href='{{user1Url}}'>{{user}}</a> zmienil <a href='{{user2Url}}'>Vás</a>" + you_mentioned_user: "<a href='{{user1Url}}'>Vy</a> ste zmienili <a href='{{user2Url}}'>{{another_user}}</a>" posted_by_user: "Príspevok od <a href='{{userUrl}}'>{{user}}</a>" posted_by_you: "Príspevok od <a href='{{userUrl}}'>Vás</a>" sent_by_user: "Poslané od <a href='{{userUrl}}'>{{user}}</a>" @@ -318,6 +325,8 @@ sk: title: "Používatelia" likes_given: "Rozdané" likes_received: "Prijaté" + topics_entered: "Zobrazených" + topics_entered_long: "Zobrazených tém" time_read: "Čas strávený čítaním" topic_count: "Témy" topic_count_long: "Vytvorených tém" @@ -329,14 +338,14 @@ sk: posts_read: "Prečítané" posts_read_long: "Prečítaných príspevkov" total_rows: - one: "1 užívateľ" - few: "%{count} užívatelia" - other: "%{count} užívateľov" + one: "1 používateľ" + few: "%{count} používatelia" + other: "%{count} používateľov" groups: empty: posts: "Neexistuje žiadny príspevok od člena tejto skupiny." members: "Táto skupina neobsahuje žiadnych členov." - mentions: "Táto skupina nieje nikde spomenutá." + mentions: "Táto skupina nieje nikde zmienená." messages: "Neexistujú žiadne správy pre túto skupinu." topics: "Neexistuje žiadna téma od členov tejto skupiny." add: "Pridať" @@ -354,25 +363,28 @@ sk: mentions: "Zmienky" messages: "Správy" alias_levels: - title: "Kto môže poslať správu a @spomenúť túto skupinu?" + title: "Kto môže poslať správu a @zmieniť túto skupinu?" nobody: "Nikto" only_admins: "Iba administrátori" mods_and_admins: "Iba moderátori a administrátori" members_mods_and_admins: "Iba členovia skupiny, moderátori a administrátori" everyone: "Každý" trust_levels: - title: "Stupeň dôvery automaticky pridelený členom po ich pridaní:" + title: "Stupeň dôvery automaticky udelený členom po ich pridaní:" none: "Žiadny" notifications: watching: title: "Pozerať" description: "Budete upozornený na každý nový príspevok vo všetkých správach a zobrazí sa počet nových odpovedí." + watching_first_post: + title: "Pozerať prvý príspevok" + description: "Budete upozornený iba na prvý príspevok v každej téme v tejto skupine." tracking: title: "Sledovať" - description: "Budete upozornený ak niekto spomenie Vaše @meno alebo Vám odpovie a zobrazí sa počet nových odpovedí." + description: "Budete upozornený ak niekto zmieni Vaše @meno alebo Vám odpovie a zobrazí sa počet nových odpovedí." regular: title: "Bežný" - description: "Budete upozornený ak niekto spomenie Vaše @meno alebo Vám odpovie." + description: "Budete upozornený ak niekto zmieni Vaše @meno alebo Vám odpovie." muted: title: "Ignorovaný" description: "Nikdy nebudete upozornení na nič ohľadom nových tém v tejto skupine." @@ -409,6 +421,10 @@ sk: latest_by: "najnovšie podľa" toggle_ordering: "zmeniť radenie" subcategories: "Podkategórie" + topic_sentence: + one: "1 téma" + few: "%{count} témy" + other: "%{count} tém" topic_stat_sentence: one: "%{count} nová téma za posledných %{unit}." few: "%{count} nové témy za posledných %{unit}." @@ -450,7 +466,7 @@ sk: statistics: "Štatistiky" desktop_notifications: label: "Upozornenia na pracovnej ploche" - not_supported: "Tento prehliadač nepodporuje upozornenia. Prepáčte." + not_supported: "Ľutujeme, tento prehliadač nepodporuje upozornenia." perm_default: "Zapnúť upozornenia" perm_denied_btn: "Prístup zamietnutý" perm_denied_expl: "Povolenie pre zobrazenie notifikácií ste zakázali. Notifikácie povolíte v nastaveniach vášho prehliadača." @@ -461,7 +477,7 @@ sk: dismiss_notifications_tooltip: "Označiť všetky neprečítané upozornenia ako prečítané" disable_jump_reply: "Neskočiť na môj príspevok po odpovedi" dynamic_favicon: "Zobraziť počet nových/upravených tém na ikone prehliadača" - external_links_in_new_tab: "Otvoriť všekty externé odkazy v novej záložke" + external_links_in_new_tab: "Otvárať všekty externé odkazy na novej karte" enable_quoting: "Umožniť odpoveď s citáciou z označeného textu" change: "zmeniť" moderator: "{{user}} je moderátor" @@ -472,12 +488,26 @@ sk: suspended_notice: "Tento používateľ je suspendovaný do {{date}}" suspended_reason: "Dôvod:" github_profile: "Github" + email_activity_summary: "Zhrnutie aktivít" mailing_list_mode: + label: "Režim mailing listu" + enabled: "Zapnúť režim mailing listu" + daily: "Posielať denné aktualizácie" individual: "Pošli email pri každom novom príspevku" many_per_day: "Pošli mi email pri každom novom príspevku (cca {{dailyEmailEstimate}} denne)" few_per_day: "Pošli mi email pri každom novom príspevku (cca 2 denne)" - watched_categories: "Sledované" + tag_settings: "Štítky" + watched_tags: "Pozerané" + watched_tags_instructions: "Budete automaticky pozerať všetky témy s týmito štítkami. Budete upozornený na všetky nové príspevky a témy, a zároveň bude vedľa témy zobrazený počet nových príspevkov." + tracked_tags: "Sledované" + tracked_tags_instructions: "Budete automaticky sledovať všetky témy s týmito štítkami. Počet nových príspevkov sa bude zobrazovať vedľa témy." + muted_tags: "Stíšené" + watched_categories: "Pozerané" + watched_categories_instructions: "Budete automaticky pozerať všetky témy v týchto kategóriách. Budete upozornený na všetky nové príspevky a témy, a zároveň bude vedľa témy zobrazený počet nových príspevkov." tracked_categories: "Sledované" + tracked_categories_instructions: "Budete automaticky sledovať všetky témy v tejto kategórii. Počet nových príspevkov sa bude zobrazovať vedľa témy." + watched_first_post_categories: "Pozerať prvý príspevok" + watched_first_post_tags: "Pozerať prvý príspevok" muted_categories: "Ignorovaný" muted_categories_instructions: "Nebudete informovaní o udalostiach v nových témach týchto kategórií. Tieto témy sa zároveň nebudú zobrazovať v zozname posledných udalostí." delete_account: "Vymazať môj účet" @@ -488,8 +518,9 @@ sk: admin_delete: "Vymazať" users: "Používatelia" muted_users: "Ignorovaný" - muted_users_instructions: "Pozastaviť všetky notifikácie od týchto užívateľov." + muted_users_instructions: "Pozastaviť všetky notifikácie od týchto používateľov." muted_topics_link: "Zobraziť umlčané témy" + watched_topics_link: "Zobraziť pozerané témy" apps: "Appky" revoke_access: "Odvolať prístup" undo_revoke_access: "Zrušiť odvolanie prístupu" @@ -524,13 +555,14 @@ sk: title: "Upraviť O mne" error: "Nastala chyba pri zmene tejto hodnoty." change_username: - title: "Zmeniť užívateľské meno" - taken: "Sorry, toto užívateľské meno je obsadené." - error: "Pri zmene užívateľského mena prišlo k chybe." - invalid: "Toto užívateľské meno nie je platné. Musí obsahovať iba znaky a čísla." + title: "Zmeniť používateľské meno" + confirm: "Ak zmeníte svoje používateľské meno, všetky predchádzajúce citácie Vašich príspevkov a všetky @zmienky búdú porušené. Ste si absolútne istý, že to chcete?" + taken: "Ľutujeme, toto používateľské meno je obsadené." + error: "Pri zmene používateľského mena prišlo k chybe." + invalid: "Toto používateľské meno nie je platné. Musí obsahovať iba znaky a čísla." change_email: title: "Zmeniť email" - taken: "Prepáčte, tento email je už obsadený." + taken: "Ľutujeme, tento email nie je k dispozícii." error: "Pri zmene emailu nastala chyba. Je možné, že je email už použitý?" success: "Na email sme odoslali správu. Nasledujte prosím inštrukcie pre potvrdenie." change_avatar: @@ -569,18 +601,18 @@ sk: too_short: "Vaše meno je prikrátke" ok: "Vaše meno je v poriadku" username: - title: "Užívateľské meno" + title: "Používateľské meno" instructions: "Unikátne, bez medzier, krátke" - short_instructions: "Ostatní vás môžu označiť ako @{{username}}" - available: "Vaše užívateľské meno je voľné" - global_match: "Email zodpovedá registrovanému užívateľskému menu" + short_instructions: "Ostatní vás môžu zmieniť ako @{{username}}" + available: "Vaše používateľské meno je voľné" + global_match: "Email zodpovedá registrovanému používateľskému menu" global_mismatch: "Už zaregistrované. Skúste {{suggestion}}?" not_available: "Nie je k dispozícii. Skúste {{suggestion}}?" - too_short: "Vaše užívateľské meno je prikrátke" - too_long: "Vaše užívateľské meno je pridlhé" - checking: "Kontrolujeme dostupnosť užívateľského meno" - enter_email: 'Užívateľské meno nájdené, zadajte zodpovedajúci email' - prefilled: "Email zodpovedá tomuto registrovanému užívateľskému menu" + too_short: "Vaše používateľské meno je prikrátke" + too_long: "Vaše používateľské meno je pridlhé" + checking: "Kontrolujeme dostupnosť používateľského meno" + enter_email: 'Používateľské meno nájdené, zadajte zodpovedajúci email' + prefilled: "Email zodpovedá tomuto registrovanému používateľskému menu" locale: title: "Jazyk rozhrania" instructions: "Jazyk úžívateľského rozhrania. Zmení sa po obnovení stránky." @@ -594,7 +626,7 @@ sk: log_out: "Odhlásiť sa" location: "Poloha" card_badge: - title: "Odznak karty užívateľa" + title: "Odznak karty používateľa" website: "Webová stránka" email_settings: "Email" like_notification_frequency: @@ -611,7 +643,7 @@ sk: every_three_days: "každé tri dni" weekly: "týždenne" every_two_weeks: "každé dva týždne" - email_direct: "Pošlite mi email ak ma niekto cituje, odpovie na môj príspevok, spomenie moje @užívateľské meno alebo ma pozve do témy." + email_direct: "Pošlite mi email ak ma niekto cituje, odpovie na môj príspevok, zmieni moje @meno alebo ma pozve do témy." email_private_messages: "Pošlite mi email keď mi niekto pošle správu" email_always: "Pošlite mi emailovú notifikáciu aj keď som aktívny na stránke" other_settings: "Ostatné" @@ -638,7 +670,7 @@ sk: invited: search: "začni písať pre hľadanie pozvánok" title: "Pozvánky" - user: "Pozvaný užívateľ" + user: "Pozvaný používateľ" sent: "Odoslané" none: "Nemáte žiadne čakajúce pozvánky." truncated: @@ -682,8 +714,9 @@ sk: ok: "Vaše heslo je v poriadku." instructions: "Minimálne %{count} znakov." summary: - title: "Sumarizácia" + title: "Zhrnutie" stats: "Štatistiky" + time_read: "doba čítania" topic_count: one: "vytvorená téma" few: "vytvorené témy" @@ -700,6 +733,10 @@ sk: one: "<i class='fa fa-heart'></i> získaný" few: "<i class='fa fa-heart'></i> získané" other: "<i class='fa fa-heart'></i> získaných" + days_visited: + one: "deň na stránke" + few: "dni na stránke" + other: "dní na stránke" posts_read: one: "prečítaný príspevok" few: "prečítané príspevky" @@ -717,8 +754,11 @@ sk: top_badges: "Najvýznamnejšie odznaky" no_badges: "Zatiaľ žiadne odznaky." more_badges: "Viac odznakov" - top_links: "Najvýznamnejšie linky" - no_links: "Zatiaľ žiadne linky." + top_links: "Najvýznamnejšie odkazy" + no_links: "Zatiaľ žiadne odkazy." + most_liked_by: "Najviac lajkov od" + most_liked_users: "Najviac lajkované" + most_replied_to_users: "Najviac reakcií na" no_likes: "Zatiaľ žiadne lajky." associated_accounts: "Prihlásenia" ip_address: @@ -769,6 +809,8 @@ sk: too_few_topics_notice: "<a href='http://blog.discourse.org/2014/08/building-a-discourse-community/'>Začnime diskusiu!</a> Je tu <strong>%{currentTopics} / %{requiredTopics}</strong> tém. Noví návštevníci potrebujú mať témy, ktoré môžu čítať a na ktoré budú reagovať." too_few_posts_notice: "<a href='http://blog.discourse.org/2014/08/building-a-discourse-community/'>Začnime diskusiu!</a> Je tu <strong>%{currentPosts} / %{requiredPosts}</strong> príspevkov. Noví návštevníci potrebujú mať témy, ktoré môžu čítať a na ktoré budú reagovať." learn_more: "zistiť viac..." + all_time: 'celkovo' + all_time_desc: 'celkovo vytvorených tém' year: 'rok' year_desc: 'témy vytvorené za posledných 365 dní' month: 'mesiac' @@ -794,6 +836,8 @@ sk: value_prop: "Keď si vytvoríte účet, zapamätáme si čo ste čítali, takže sa môžete vrátiť presne tam, kde ste prestali. Okrem toho dostanete upozornenie tu, aj na váš e-mail, vždy keď pribudnú nové príspevky. A môžete označiť príspevky ktoré sa vám páčia. :heartbeat:" summary: enabled_description: "Pozeráte sa na zhrnutie tejto témy: najzaujímavejšie príspevky podľa výberu komunity." + description: "<b>{{replyCount}}</b> odpovedí." + description_time: "<b>{{replyCount}}</b> odpovedí s odhadovaným časom čítania <b>{{readingTime}} minút</b>." enable: 'Zhrnutie tejto témy' disable: 'Zobraziť všetky príspevky' deleted_filter: @@ -841,7 +885,7 @@ sk: authenticating: "Prebieha overovanie..." awaiting_confirmation: "Váš účet čaká na aktiváciu. Ak chcete zaslať aktivačný e-mail znova, použite odkaz pre zabudnuté heslo." awaiting_approval: "Váš účet zatiaľ nebol schválený členom tímu. Keď bude schválený, dostanete e-mail." - requires_invite: "Prepáčte, ale prístup k tomuto fóru majú iba pozvaní používatelia." + requires_invite: "Ľutujeme, ale prístup k tomuto fóru majú iba pozvaní používatelia." not_activated: "Systém vás nemôže prihlásiť. Na emailovú adresu <b>{{sentTo}}</b> sme vám poslali aktivačný email. Prosím, postupujte podľa inštrukcií na aktiváciu účtu, ktoré sú uvedené v tomto emaile." not_allowed_from_ip_address: "Nie je možné prihlásenie z tejto IP adresy." admin_not_allowed_from_ip_address: "Nie je možné prihlásenie ako admin z tejto IP adresy." @@ -871,6 +915,15 @@ sk: github: title: "pomocou GitHub" message: "Prihlásenie pomocou GitHub účtu (prosím uistite sa, že vyskakovacie okná sú povolené)" + emoji_set: + apple_international: "Apple/Medzinárodné" + google: "Google" + twitter: "Twitter" + emoji_one: "Emoji One" + win10: "Win10" + category_page_style: + categories_only: "Iba kategórie" + categories_and_latest_topics: "Kategórie a najnovšie témy" shortcut_modifier_key: shift: 'Shift' ctrl: 'Ctrl' @@ -888,6 +941,10 @@ sk: saved_local_draft_tip: "uložené lokálne" similar_topics: "Vaša téma je podobná..." drafts_offline: "offline koncepty" + group_mentioned: + one: "Zmienením {{group}}, upozorníte <a href='{{group_link}}'>1 človeka</a> – ste si istý?" + few: "Zmienením {{group}}, upozorníte <a href='{{group_link}}'>{{count}} ľudí</a> – ste si istý?" + other: "Zmienením {{group}}, upozorníte <a href='{{group_link}}'>{{count}} ľudí</a> – ste si istý?" error: title_missing: "Názov je povinný" title_too_short: "Názov musí mať minimálne {{min}} znakov" @@ -917,23 +974,28 @@ sk: show_preview: 'zobraziť náhľad »' hide_preview: '» skryť náhľad' quote_post_title: "Citovať celý príspevok" + bold_label: "B" bold_title: "Výrazne" bold_text: "výrazný text" + italic_label: "I" italic_title: "Zdôraznene" italic_text: "zdôraznený text" link_title: "Hyperlink" link_description: "tu zadaj popis odkazu" link_dialog_title: "Vložte hyperlink" link_optional_text: "nepovinný názov" + link_url_placeholder: "http://example.com" quote_title: "Úvodzovky" quote_text: "Úvodzovky" code_title: "Preformátovaný text" code_text: "Odsaďte preformátovaný text 4 medzerami" + paste_code_text: "sem zadajte alebo vložte kód" upload_title: "Upload" upload_description: "tu zadajte popis uploadu" olist_title: "Číslované odrážky" ulist_title: "Odrážky" list_item: "Položka zoznamu" + heading_label: "H" heading_title: "Nadpis" heading_text: "Nadpis" hr_title: "Horizonálny oddeľovač" @@ -941,7 +1003,7 @@ sk: toggler: "skryť alebo zobraziť panel úprav" modal_ok: "OK" modal_cancel: "Zrušiť" - cant_send_pm: "Ľutujeme, nemôžete poslať správu pre %{username}." + cant_send_pm: "Ľutujeme, nemôžete poslať správu používateľovi %{username}." admin_options_title: "Nepovinné zamestnanecké nastavenia pre túto tému" auto_close: label: "Čas na automatické uzavretie témy:" @@ -953,12 +1015,13 @@ sk: units: "(# hodín)" examples: 'Zadajte počet hodín (24).' notifications: - title: "oznámenia o zmienkach pomocou @name, odpovede na vaše príspevky a témy, správy atď." + title: "oznámenia o zmienkach pomocou @meno, odpovede na Vaše príspevky a témy, správy, atď." none: "Notifikácie sa nepodarilo načítať" + empty: "Žiadne upozornenia sa nenašli." more: "zobraziť staršie upozornenia" total_flagged: "označených príspevkov celkom" - mentioned: "<i title='mentioned' class='fa fa-at'></i><p><span>{{username}}</span> {{description}}</p>" - group_mentioned: "<i title='group mentioned' class='fa fa-at'></i><p><span>{{username}}</span> {{description}}</p>" + mentioned: "<i title='zmienený' class='fa fa-at'></i><p><span>{{username}}</span> {{description}}</p>" + group_mentioned: "<i title='zmienená skupina' class='fa fa-at'></i><p><span>{{username}}</span> {{description}}</p>" quoted: "<i title='quoted' class='fa fa-quote-right'></i><p><span>{{username}}</span> {{description}}</p>" replied: "<i title='replied' class='fa fa-reply'></i><p><span>{{username}}</span> {{description}}</p>" edited: "<i title='edited' class='fa fa-pencil'></i><p><span>{{username}}</span> {{description}}</p>" @@ -968,13 +1031,13 @@ sk: invited_to_topic: "<i title='invited to topic' class='fa fa-hand-o-right'></i><p><span>{{username}}</span> {{description}}</p>" invitee_accepted: "<i title='accepted your invitation' class='fa fa-user'></i><p><span>{{username}}</span> prijal Vaše pozvanie</p>" moved_post: "<i title='moved post' class='fa fa-sign-out'></i><p><span>{{username}}</span> presunul {{description}}</p>" - granted_badge: "<i title='badge granted' class='fa fa-certificate'></i><p>Získal '{{description}}'</p>" + granted_badge: "<i title='udelený odznak' class='fa fa-certificate'></i><p>Získal '{{description}}'</p>" group_message_summary: one: "<i title='messages in group inbox' class='fa fa-group'></i><p> {{count}} správa vo vašej {{group_name}} schránke</p>" few: "<i title='messages in group inbox' class='fa fa-group'></i><p> {{count}} správy vo vašej {{group_name}} schránke</p>" other: "<i title='messages in group inbox' class='fa fa-group'></i><p> {{count}} správ vo vašej {{group_name}} schránke</p>" alt: - mentioned: "Spomenutý od" + mentioned: "Zmienený od" quoted: "Citovaný od" replied: "Odpovedané" posted: "Príspevok od" @@ -986,11 +1049,11 @@ sk: invitee_accepted: "Pozvánka akceptovaná " moved_post: "Váš príspevok bol presunutý " linked: "Odkaz na váš príspevok" - granted_badge: "Priznaný odznak" + granted_badge: "Udelený odznak" group_message_summary: "Správy v skupinovej schránke" popup: - mentioned: '{{username}} vás spomenul v "{{topic}}" - {{site_title}}' - group_mentioned: '{{username}} vás spomenul v "{{topic}}" - {{site_title}}' + mentioned: '{{username}} Vás zmienil v "{{topic}}" - {{site_title}}' + group_mentioned: '{{username}} Vás zmienil v "{{topic}}" - {{site_title}}' quoted: '{{username}} vás citoval v "{{topic}}" - {{site_title}}' replied: '{{username}} vám odpovedal v "{{topic}}" - {{site_title}}' posted: '{{username}} prispel v "{{topic}}" - {{site_title}}' @@ -1018,11 +1081,12 @@ sk: most_liked: "Najviac sa páčia" select_all: "Označ všetky" clear_all: "Odznač všetky" + too_short: "Vyhladávací termín je príliš krátky." result_count: one: "1 výsledok pre <span class='term'>\"{{term}}\"</span>" few: "{{count}} výsledky pre <span class='term'>\"{{term}}\"</span>" other: "{{count}} výsledkov pre <span class='term'>\"{{term}}\"</span>" - title: "hľadaj témy, príspevky, užívateľov, alebo kategórie" + title: "hľadaj témy, príspevky, používateľov, alebo kategórie" no_results: "Žiadne výsledky" no_more_results: "Nenašlo sa viac výsledkov" search_help: Pomoc pri vyhľadávaní @@ -1030,12 +1094,13 @@ sk: post_format: "#{{post_number}} podľa {{username}}" context: user: "Vyhľadávanie podľa @{{username}}" + category: "Vyhľadať kategóriu #{{category}}" topic: "Hľadaj v tejto téme" private_messages: "Hľadaj správy" hamburger_menu: "prejsť na iné témy, alebo kategórie" new_item: "nový" go_back: 'späť' - not_logged_in_user: 'užívateľská stránka so súhrnom aktivít a nastavení' + not_logged_in_user: 'používateľská stránka so súhrnom aktivít a nastavení' current_user: 'prejsť na Vašu uťívateľskú stránku' topics: bulk: @@ -1059,6 +1124,9 @@ sk: one: "Označíli ste <b>1</b> tému." few: "Označíli ste <b>{{count}}</b> tém.y" other: "Označíli ste <b>{{count}}</b> tém." + change_tags: "Zmeniť štítky" + choose_new_tags: "Vyberte pre tému nové štítky:" + changed_tags: "Štítky tém boli zmenené." none: unread: "Nemáte neprečítanú tému" new: "Nemáte žiadnu novú tému" @@ -1085,6 +1153,10 @@ sk: unsubscribe: stop_notifications: "Teraz budete dostávať menej upozornení na <strong>{{title}}</strong>" change_notification_state: "Váš súčasný stav upozornení je" + filter_to: + one: "1 príspevok k téme" + few: "{{count}} príspevky k téme" + other: "{{count}} príspevkov k téme" create: 'Nová téma' create_long: 'Vytvoriť novú tému' private_message: 'Vytvoríť správu' @@ -1108,14 +1180,14 @@ sk: title: 'Témy' invalid_access: title: "Téma je súkromná" - description: "Prepáčte, nemáte prístup k tejto téme!" + description: "Ľutujeme, nemáte prístup k tejto téme!" login_required: "Musíte sa prihlásiť, aby ste videli túto tému." server_error: title: "Tému sa nepodarilo načítať" - description: "Prepáčte, nepodarllo sa nám načítať túto tému, možno je problém s Vaším pripojením. Prosim skúste znova. Ak problém pretrváva, dajte nám vedieť" + description: "Ľutujeme, nepodarllo sa nám načítať túto tému, možno je problém s Vaším pripojením. Prosím, skúste to znova. Ak problém pretrváva, dajte nám vedieť." not_found: title: "Téma sa nenašla" - description: "Prepáčte, hľadaná téma nebola nájdená. Nebola odstránená moderátorom?" + description: "Ľutujeme, hľadaná téma nebola nájdená. Možno bola odstránená moderátorom?" total_unread_posts: one: "máte 1 neprečítaný príspevok k tejto téme" few: "máte {{count}} neprečítanépríspevky k tejto téme" @@ -1150,49 +1222,57 @@ sk: auto_close_title: 'Nastavenia automatického zatvárania' auto_close_save: "Uložiť" auto_close_remove: "Neuzatvárať túto tému automaticky" + auto_close_immediate: + one: "Posledný príspevok k téme je starý už 1 hodinu, takže téma bude okamžite uzavretá. " + few: "Posledný príspevok k téme je starý už %{hours} hodiny, takže téma bude okamžite uzavretá. " + other: "Posledný príspevok k téme je starý už %{hours} hodín, takže téma bude okamžite uzavretá. " + timeline: + back: "Späť" progress: title: pozícia v téme go_top: "na začiatok" go_bottom: "na spodok" go: "Choď" jump_bottom: "choď na posledný príspevok" + jump_prompt: "choď na príspevok" jump_bottom_with_number: "choď na príspevok číslo %{post_number}" total: Všetkých príspevkov current: tento príspevok notifications: reasons: - '3_6': 'Budete dostávať upozornenia, pretože sa pozeráte na túto kategóriu.' - '3_5': 'Budete automaticky dostávať upozornenie pretože ste začali pozorovať túto tému.' - '3_2': 'Budete dostávať upozornenia, pretože sa pozeráte na túto tému.' + '3_10': 'Budete dostávať upozornenia, pretože pozeráte štítok na tejto téme.' + '3_6': 'Budete dostávať upozornenia, pretože pozeráte túto kategóriu.' + '3_5': 'Budete automaticky dostávať upozornenie pretože ste začali pozerať túto tému.' + '3_2': 'Budete dostávať upozornenia, pretože pozeráte túto tému.' '3_1': 'Budete dostávať upozornenia, pretože ste vytvorili túto tému.' - '3': 'Budete dostávať upozornenia, pretože sa pozeráte na túto tému.' + '3': 'Budete dostávať upozornenia, pretože pozeráte túto tému.' '2_8': 'Budete dostávať upozornenia, pretože sledujete túto kategóriu.' '2_4': 'Budete dostávať upozornenia, pretože ste zaslali odpoveď na túto tému.' '2_2': 'Budete dostávať upozornenia, pretože sledujete túto tému.' '2': 'Budete dostávať upozornenia, pretože ste <a href="/users/{{username}}/preferences">čítali túto tému</a>.' - '1_2': 'Budete upozornený ak niekto spomenie Vaše @meno alebo Vám odpovie.' - '1': 'Budete upozornený ak niekto spomenie Vaše @meno alebo Vám odpovie.' + '1_2': 'Budete upozornený ak niekto zmieni Vaše @meno alebo Vám odpovie.' + '1': 'Budete upozornený ak niekto zmieni Vaše @meno alebo Vám odpovie.' '0_7': 'Ignorujete všetky upozornenia v tejto kategórii.' '0_2': 'Ignorujete všetky upozornenia k tejto téme.' '0': 'Ignorujete všetky upozornenia k tejto téme.' watching_pm: title: "Pozerať" - description: "Budete upozornený na každú novu dopoveť na túto správu, a zobrazí sa počet nových odpovedí" + description: "Budete upozornený na každú novú odpoveď na túto správu a zobrazí sa počet nových odpovedí." watching: title: "Pozerať" - description: "Budete upozornený na každú novu dopoveť na túto tému, a zobrazí sa počet nových odpovedí" + description: "Budete upozornený na každú novu odpoveď na túto tému a zobrazí sa počet nových odpovedí." tracking_pm: title: "Sledovať" - description: "Zobrazí počet nových odpovedí na túto správu. Budete upozornený ak niekto spomenie Vaše @meno alebo Vám odpovie." + description: "Zobrazí počet nových odpovedí na túto správu. Budete upozornený ak niekto zmieni Vaše @meno alebo Vám odpovie." tracking: title: "Sledovať" - description: "Zobrazí počet nových odpovedí na túto tému. Budete upozornený ak niekto spomenie Vaše @meno alebo Vám odpovie." + description: "Zobrazí počet nových odpovedí na túto tému. Budete upozornený ak niekto zmieni Vaše @meno alebo Vám odpovie." regular: title: "Bežný" - description: "Budete upozornený ak niekto spomenie Vaše @meno alebo Vám odpovie." + description: "Budete upozornený ak niekto zmieni Vaše @meno alebo Vám odpovie." regular_pm: title: "Bežný" - description: "Budete upozornený ak niekto spomenie Vaše @meno alebo Vám odpovie." + description: "Budete upozornený ak niekto zmieni Vaše @meno alebo Vám odpovie." muted_pm: title: "Stíšené" description: "Nikdy nebudete upozornení na nič ohľadom tejto správy" @@ -1213,6 +1293,8 @@ sk: invisible: "Skyť" visible: "Zobraziť" reset_read: "Zrušiť načítané údaje" + make_public: "Spraviť verejnou témou" + make_private: "Spraviť súkromnou správou" feature: pin: "Pripni tému" unpin: "Odopni tému" @@ -1235,7 +1317,7 @@ sk: feature_topic: title: "Vyzdvihni túto tému" pin: "Zobrazuj túto tému na vrchu {{categoryLink}} kategórie do" - confirm_pin: "Máte už {{count}} pripnutých tém. Príliš veľa pripnutých tém môže byť na príťaž pre nových a anonymných užívateľov. Ste si istý že chcete pripnúť ďalšiu tému v tejto kategórii?" + confirm_pin: "Máte už {{count}} pripnutých tém. Príliš veľa pripnutých tém môže byť na príťaž pre nových a anonymných používateľov. Ste si istý že chcete pripnúť ďalšiu tému v tejto kategórii?" unpin: "Zruš túto tému z vrcholu kategórie {{categoryLink}} . " unpin_until: "Zruš túto tému z vrcholu kategórie {{categoryLink}} , alebo počkaj do <strong>%{until}</strong>." pin_note: "Užívatelia si môžu sami odopnúť tému " @@ -1246,7 +1328,7 @@ sk: few: "Témy pripnuté ku {{categoryLink}}: <strong class='badge badge-notification unread'>{{count}}</strong>" other: "Tém pripnutých k {{categoryLink}}: <strong class='badge badge-notification unread'>{{count}}</strong>" pin_globally: "Zobrazuj túto tému na vrchu všetkých zoznamov tém do" - confirm_pin_globally: "Máte už {{count}} globálne pripnutých tém. Príliš veľa pripnutých tém môže byť na príťaž pre nových a anonymných užívateľov. Ste si istý že chcete pripnúť ďalšiu globálnu tému?" + confirm_pin_globally: "Máte už {{count}} globálne pripnutých tém. Príliš veľa pripnutých tém môže byť na príťaž pre nových a anonymných používateľov. Ste si istý že chcete pripnúť ďalšiu globálnu tému?" unpin_globally: "Zruš túto tému z vrcholu všetkých zoznamov tém. " unpin_globally_until: "Zruš túto tému z vrcholu všetkých zoznamov tém, alebo počkaj do <strong>%{until}</strong>." global_pin_note: "Užívatelia si môžu sami odopnúť tému." @@ -1263,11 +1345,11 @@ sk: inviting: "Pozývam..." invite_private: title: 'Pozvať do konverzácie' - email_or_username: "Email, alebo užívateľské meno pozvaného" - email_or_username_placeholder: "emailova adresa alebo uťívateľské meno" + email_or_username: "Email, alebo používateľské meno pozvaného" + email_or_username_placeholder: "emailova adresa alebo používateľské meno" action: "Pozvi" success: "Pozvali sme tohoto uťívateľa aby sa podieľal na tejto správe" - error: "Prepáčte, pri pozývaní tohto užívateľa nastala chyba." + error: "Ľutujeme, pri pozývaní tohto používateľa nastala chyba." group_name: "názov skupiny" controls: "Ovládacie prvky Témy" invite_reply: @@ -1276,15 +1358,15 @@ sk: action: 'Pošli pozvánku' help: 'pozvite ostatných k tejto téme prostredníctvom emailu, alebo upozornení' to_forum: "Pošleme krátký email dovoľujúci Vášmu priateľovi okamžité pripojenie kliknutím na odkaz bez potreby prihlasovania" - sso_enabled: "Zadajte uťívateľské meno osoby, ktorú by ste radi pozvali k tejto téme" - to_topic_blank: "Zadajte uťívateľské meno alebo email osoby, ktorú by ste radi pozvali k tejto téme" + sso_enabled: "Zadajte používateľské meno osoby, ktorú by ste radi pozvali k tejto téme" + to_topic_blank: "Zadajte používateľské meno alebo email osoby, ktorú by ste radi pozvali k tejto téme" to_topic_email: "Zadali ste emailovú adresu. Pošleme pozvánku ktorá umožní Vášmu priateľovi okamžitú odpoveď k tejto téme." - to_topic_username: "Zadali ste užívateľské meno. Pošleme mu pozvánku s odkazom na túto tému." - to_username: "Zadajte užívateľské meno osoby, ktorú chcete pozvať. Pošleme mu pozvánku s odkazom na túto tému." + to_topic_username: "Zadali ste používateľské meno. Pošleme mu pozvánku s odkazom na túto tému." + to_username: "Zadajte používateľské meno osoby, ktorú chcete pozvať. Pošleme mu pozvánku s odkazom na túto tému." email_placeholder: 'name@example.com' - success_email: "Poslali sme email s pozvánkou na <b>{{emailOrUsername}}</b>. Upozorníme vas keď bude pozvánka použítá. Svoje pozvánky môžte sledovať v tabuľke pozvánok vo svojom užívateľskom profile." + success_email: "Poslali sme email s pozvánkou na <b>{{emailOrUsername}}</b>. Upozorníme vas keď bude pozvánka použítá. Svoje pozvánky môžete sledovať na karte pozvánok vo svojom používateľskom profile." success_username: "Pozvali sme tohoto uťívateľa aby sa podieľal na tejto téme." - error: "Prepáčte, Nepodarilo sa nám pozvať túto osobu. Nebola už náhodou pozvaná ? (Počet opakovaných pozvánok je obmedzený)" + error: "Ľutujeme, nepodarilo sa nám pozvať túto osobu. Nebola už náhodou pozvaná? (Počet opakovaných pozvánok je obmedzený)" login_reply: 'Príhláste sa ak chcete odpovedať' filters: n_posts: @@ -1309,17 +1391,20 @@ sk: one: "Prosím vyberte tému do ktorej chcete presunúť tento príspevok." few: "Prosím vyberte tému do ktorej chcete presunúť tieto <b>{{count}}</b> príspevky." other: "Prosím vyberte tému do ktorej chcete presunúť týchto <b>{{count}}</b> príspevkov." + merge_posts: + title: "Spojiť označené príspevky" + action: "spojiť označené príspevky" change_owner: title: "Zmeň vlástníka príspevkov" action: "zmeň vlastníka" error: "Nastala chyba pri zmene vlastníka príspevkov." label: "Príspevky nového vlastníka" - placeholder: "užívateľske meno nového vlastnika" + placeholder: "používateľske meno nového vlastnika" instructions: one: "Prosím vyberte nového vlastníka príspevku vytvoreného <b>{{old_user}}</b>." few: "Prosím vyberte nového vlastníka {{count}} príspevkov vytvorených <b>{{old_user}}</b>." other: "Prosím vyberte nového vlastníka {{count}} príspevkov vytvorených <b>{{old_user}}</b>." - instructions_warn: "Poznámka: Žiadne upozornenie o tomto príspevku nebude spätne zaslané novým užívateľom<br>Upozornenie: Momentálne nie sú prenášané žiadne dáta vťahujúce sa k príspevku na nových užívateľov. Používajte opatrne." + instructions_warn: "Poznámka: Žiadne upozornenie o tomto príspevku nebude spätne zaslané novým používateľom<br>Upozornenie: Momentálne nie sú prenášané žiadne dáta vťahujúce sa k príspevku na nových užívateľov. Používajte opatrne." change_timestamp: title: "Nastavte časovú značku" action: "nastavte časovú značku" @@ -1382,7 +1467,9 @@ sk: create: "Ľutujeme, pri vytváraní príspevku nastala chyba. Prosím, skúste znovu." edit: "Ľutujeme, pri úprave príspevku nastala chyba. Prosím, skúste znovu." upload: "Ľutujeme, pri nahrávaní súboru nastala chyba. Prosím, skúste znovu." - too_many_uploads: "Ľutujeme, ale naraz je možné nahrať len jeden súbor." + file_too_large: "Ľutujeme, daný súbor je príliš veľký (maximálna veľkosť je {{max_size_kb}}kB). Čo takto nahrať ten súbor na zdielané cloudové úložisko a nazdielať odkaz?" + too_many_uploads: "Ľutujeme, ale naraz je možné nahrať iba jeden súbor." + too_many_dragged_and_dropped_files: "Ľutujeme, ale naraz je možné nahrať iba 10 súborov." upload_not_authorized: "Ľutujeme, súbor, ktorý sa pokúšate nahrať nemá povolenú príponu (povolené prípony sú: {{authorized_extensions}})." image_upload_not_allowed_for_new_user: "Ľutujeme, noví použivatelia nemôžu nahrávať obrázky." attachment_upload_not_allowed_for_new_user: "Ľutujeme, noví používatelia nemôžu nahrávať prílohy." @@ -1444,7 +1531,7 @@ sk: spam: "Označíli ste to ako spam" inappropriate: "Označíli ste to ako nevhodné" notify_moderators: "Označíli ste to pre moderátora" - notify_user: "Poslali ste správu užívateľovi " + notify_user: "Poslali ste správu používateľovi " bookmark: "Vytvorili ste si záložku na tento príspevok" like: "Páči sa Vám to" vote: "Hlasoval ste za tento príspevok" @@ -1468,7 +1555,7 @@ sk: notify_user: one: "Vy a jedna ďalšia osoba poslala správu tomuto užívateľovi" few: "Vy a ďalšie {{count}} osoby poslali správu tomuto užívateľovi" - other: "Vy a ďalších {{count}} osôb poslalo správu tomuto užívateľovi" + other: "Vy a ďalších {{count}} osôb poslalo správu tomuto používateľovi" bookmark: one: "Vy a jedna ďalšia osoba si vytvorilo záložku na tento príspevok" few: "Vy a ďalšie {{count}} osoby si vytvorili záložku na tento príspevok" @@ -1499,9 +1586,9 @@ sk: few: "{{count}} osoby to označili na moderovanie" other: "{{count}} osôb to označilo na moderovanie" notify_user: - one: "1 osoba poslala správu tomuto užívateľovi" - few: "{{count}} osoby poslali správu tomuto užívateľovi" - other: "{{count}} osôb poslalo správu tomuto užívateľovi" + one: "1 osoba poslala správu tomuto používateľovi" + few: "{{count}} osoby poslali správu tomuto používateľovi" + other: "{{count}} osôb poslalo správu tomuto používateľovi" bookmark: one: "1 osoba si vytvorila záložku na tento príspevok" few: "{{count}} osoby si vytvorili záložku na tento príspevok" @@ -1549,6 +1636,11 @@ sk: general: 'Všeobecné' settings: 'Nastavenia' topic_template: "Formulár témy" + tags: "Štítky" + tags_allowed_tags: "Štítky, ktoré môžu byť použité iba v tejto kategórii:" + tags_allowed_tag_groups: "Skupiny štítkov, ktoré môžu byť použité iba v tejto kategórii:" + tags_placeholder: "(Voliteľné) zoznam povolených štítkov" + tag_groups_placeholder: "(Voliteľné) zoznam povolených skupín štítkov" delete: 'Odstrániť kategóriu' create: 'Nová kategória' create_long: 'Vytvoriť novú kategóriu' @@ -1579,7 +1671,7 @@ sk: auto_close_label: "Automaticky uzavrieť tému po:" auto_close_units: "hodinách" email_in: "Vlastná e-mailová adresa pre príchodziu poštu:" - email_in_allow_strangers: "Prijímať emaily od anonymných užívateľov bez účtu" + email_in_allow_strangers: "Prijímať emaily od anonymných používateľov bez účtu" email_in_disabled: "Vkladanie nových tém cez email je zablokované v Nastaveniach stránky. Ak chcete povoliť vkladanie nových téme cez email," email_in_disabled_click: 'povoľte nastavenie "email in"' suppress_from_homepage: "Pozastaviť kategóriu z domovskej stránky." @@ -1595,11 +1687,15 @@ sk: notifications: watching: title: "Pozerať" + description: "Budete automaticky pozerať všetky témy v týchto kategóriách. Budete upozornený na každý nový príspevok v každej téme. Zároveň bude zobrazený počet nových odpovedí." + watching_first_post: + title: "Pozerať prvý príspevok" tracking: title: "Sledovať" + description: "Budete automaticky sledovať všetky témy v týchto kategóriách. Budete upozornený ak niekto zmieni Vaše @meno alebo Vám odpovie. Zároveň bude zobrazený počet nových odpovedí." regular: title: "Bežný" - description: "Budete upozornený ak niekto spomenie Vaše @meno alebo Vám odpovie." + description: "Budete upozornený ak niekto zmieni Vaše @meno alebo Vám odpovie." muted: title: "Stíšené" description: "Nikdy nebudete informovaní o udalostiach v nových témach týchto kategórií. Tieto témy sa zároveň nebudú zobrazovať v zozname posledných udalostí." @@ -1608,6 +1704,7 @@ sk: action: 'Označ príspevok' take_action: "Vykonať akciu" notify_action: 'Správa' + official_warning: 'Oficiálne varovanie' delete_spammer: "Zmazať spammera" yes_delete_spammer: "Áno, zmazať spammera" ip_address_missing: "(nedostupné)" @@ -1615,12 +1712,22 @@ sk: submit_tooltip: "Odoslať súkromné označenie" take_action_tooltip: "Dosiahnuť okamžite limit označení, namiesto čakania na ďalšie označenia od komunity" cant: "Ľutujeme, ale tento príspevok sa teraz nedá označiť ." + notify_staff: 'Súkromne upozorniť zamestnancov' formatted_name: off_topic: "Je to mimo témy" inappropriate: "Je to nevhodné" spam: "Je to spam" custom_placeholder_notify_user: "Buďte konkrétny, buďte konštruktívny a buďte vždy milý." custom_placeholder_notify_moderators: "Dajte nám vedieť, z čoho konkrétne máte obavy, a priložte príslušné odkazy a príklady, ak je to možné." + custom_message: + more: + one: "ešte 1 ..." + few: "ešte {{count}} ..." + other: "ešte {{count}} ..." + left: + one: "1 zostáva" + few: "{{count}} zostávajú" + other: "{{count}} zostáva" flagging_topic: title: "Ďakujeme, že pomáhate udržiavať slušnosť v našej komunite!" action: "Označ príspevok" @@ -1629,10 +1736,16 @@ sk: title: "Zhrnutie článku" participants_title: "Častí prispievatelia" links_title: "Populárne odkazy" + links_shown: "zobraz viac odkazov..." clicks: one: "%{count} kilk" few: "%{count} kliky" other: "%{count} klikov" + post_links: + title: + one: "1 ďalší" + few: "%{count} ďalšie" + other: "%{count} ďalších" topic_statuses: warning: help: "Toto je oficiálne varovanie." @@ -1680,9 +1793,9 @@ sk: likes_long: "v tejto téme je {{number}} \"Páči sa\"" users: "Používatelia" users_lowercase: - one: "užívateľ" - few: "užívatelia" - other: "užívatelia" + one: "používateľ" + few: "používatelia" + other: "používateľov" category_title: "Kategória" history: "História" changed_by: "od {{author}}" @@ -1730,7 +1843,7 @@ sk: few: "{{count}} nové" other: "{{count}} nových" lower_title: "nový" - title: "Nový" + title: "Nové" title_with_count: one: "Nová (1)" few: "Nové ({{count}})" @@ -1750,7 +1863,7 @@ sk: other: "{{categoryName}} ({{count}})" help: "najnovšie témy v kategórii {{categoryName}}" top: - title: "Vrch" + title: "Najvýznamnejšie" help: "najaktívnejšie témy za posledný rok, mesiac, týždeň, alebo deň" all: title: "Za celú dobu" @@ -1776,8 +1889,155 @@ sk: full: "Vytvor / Odpovedz / Zobraz" create_post: "Odpovedz / Zobraz" readonly: "Zobraz" + lightbox: + download: "stiahnuť" + search_help: + title: 'Pomoc pri vyhľadávaní' + keyboard_shortcuts_help: + title: 'Klávesové skratky' + jump_to: + title: 'Choď na' + home: '<b>g</b>, <b>h</b> Domov' + latest: '<b>g</b>, <b>l</b> Najnovšie' + new: '<b>g</b>, <b>n</b> Nové' + unread: '<b>g</b>, <b>u</b> Neprečítané' + categories: '<b>g</b>, <b>c</b> Kategórie' + top: '<b>g</b>, <b>t</b> Najvýznamnejšie' + bookmarks: '<b>g</b>, <b>b</b> Záložky' + profile: '<b>g</b>, <b>p</b> Profil' + messages: '<b>g</b>, <b>m</b> Správy' + navigation: + title: 'Navigácia' + jump: '<b>#</b> Choď na príspevok #' + back: '<b>u</b> Späť' + up_down: '<b>k</b>/<b>j</b> Presuň označené ↑ ↓' + open: '<b>o</b> or <b>Enter</b>Otvoriť zvolenú tému' + next_prev: '<b>shift</b>+<b>j</b>/<b>shift</b>+<b>k</b> Nasledujúca/predchádzajúca sekcia' + application: + title: 'Aplikácia' + create: '<b>c</b> Vytvoriť novú tému' + notifications: '<b>n</b> Otvor upozornenia' + hamburger_menu: '<b>=</b> Otvoriť hamburger menu' + user_profile_menu: '<b>p</b> Otvor užívateľské menu' + show_incoming_updated_topics: '<b>.</b> Zobraz aktualizované témy' + search: '<b>/</b> Hľadať' + help: '<b>?</b> Pomoc s klávesovými skratkami' + dismiss_new_posts: '<b>x</b>, <b>r</b> Zahodiť Nové/Príspevky' + dismiss_topics: '<b>x</b>, <b>t</b> Zahodiť témy' + log_out: '<b>shift</b>+<b>z</b> <b>shift</b>+<b>z</b> Odhlásiť sa' + actions: + title: 'Akcie' + bookmark_topic: '<b>f</b> Prepnúť zazáložkovanie témy' + pin_unpin_topic: '<b>shift</b>+<b>p</b> Pripnúť/Odopnúť tému' + share_topic: '<b>shift</b>+<b>s</b> Zdielať tému' + share_post: '<b>s</b> Zdielať príspevok' + reply_as_new_topic: '<b>t</b> Odpovedať formou prepojenej témy' + reply_topic: '<b>shift</b>+<b>r</b> Odpovedať na tému' + reply_post: '<b>r</b> Odpovedať na príspevok' + quote_post: '<b>q</b> Citovať príspevok' + like: '<b>l</b> Označiť príspevok "Páči sa"' + flag: '<b>!</b> Nahlásiť príspevok ' + bookmark: '<b>b</b> Pridať príspevok do záložiek' + edit: '<b>e</b> Upraviť príspevok' + delete: '<b>d</b> Zmazať príspevok' + mark_muted: '<b>m</b>, <b>m</b> Umlčať tému' + mark_regular: '<b>m</b>, <b>r</b> Obyčajná (preddefinovaná) téma' + mark_tracking: '<b>m</b>, <b>t</b> Sledovať tému' + mark_watching: '<b>m</b>, <b>w</b> Pozerať tému' badges: + earned_n_times: + one: "Získal tento odkaz 1-krát" + few: "Získal tento odkaz %{count}-krát" + other: "Získal tento odkaz %{count}-krát" + granted_on: "Udelený dňa %{date}" + others_count: "Ostatní s týmto odznakom (%{count})" title: Odznaky + allow_title: "dostupný názov" + granted: + one: "1 udelený" + few: "%{count} udelené" + other: "%{count} udelených" + none: "<žiadne>" + badge_grouping: + getting_started: + name: Začíname + community: + name: Komunita + trust_level: + name: Stupeň dôvery + other: + name: Ostatné + posting: + name: Prispievanie + tagging: + all_tags: "Všetky štítky" + selector_all_tags: "všetky štítky" + selector_no_tags: "žiadne štítky" + changed: "zmenené štítky:" + tags: "Štítky" + choose_for_topic: "Zvoľte voliteľné štítky pre túto tému" + delete_tag: "Zmazať štítok" + delete_confirm: "Ste si istý, že chcete zmazať tento štítok?" + rename_tag: "Premenovať štítok" + rename_instructions: "Vyberte nové meno pre štítok:" + sort_by: "Zoradiť podľa:" + sort_by_count: "počtu" + sort_by_name: "mena" + manage_groups: "Spravovať skupinu štítkov" + manage_groups_description: "Zadefinujte skupiny pre usporiadanie štítkov" + notifications: + watching: + title: "Pozerať" + description: "Budete automaticky pozerať všetky témy s týmto štítkom. Budete upozornený na všetky nové príspevky a témy, navyše počet neprečítaných a nových príspevok bude zobrazený pri téme." + watching_first_post: + title: "Pozerať prvý príspevok" + description: "Budete upozornený iba na prvý príspevok v každej téme s týmto štítkom." + tracking: + title: "Sledovať" + description: "Budete automaticky sledovať všetky témy s týmto štítkom. Počet neprečítaných a nových príspevkov sa bude zobrazovať vedľa témy." + regular: + title: "Bežné" + description: "Budete upozornený ak niekto zmieni Vaše @meno alebo odpovie na Váš príspevok." + muted: + title: "Stíšené" + description: "Nebudete upozornený ohľadom nových tém s týmto štítkom a nebudú sa zobrazovať na vašej karte s neprečítanými." + groups: + title: "Skupiny štítkov" + about: "Pridajte štítky do skupín, aby sa ľahšie spravovali." + new: "Nová skupina" + tags_label: "Štítky v tejto skupine:" + parent_tag_label: "Nadradený štítok" + parent_tag_placeholder: "Voliteľné" + parent_tag_description: "Štítky z tejto skupiny nemôžu byť použité pokiaľ nie je použitý nadradený štítok." + one_per_topic_label: "Obmedziť na jeden štítok na tému z tejto skupiny" + new_name: "Nová skupina štítkov" + save: "Uložiť" + delete: "Vymazať" + confirm_delete: "Ste si istý, že chcete zmazať túto skupinu štítkov?" + topics: + none: + unread: "Nemáte žiadnu neprečítanú tému" + new: "Nemáte žiadnu novú tému" + read: "Neprečítali ste ešte žiadnu tému." + posted: "Neprispeli ste ešte do žiadnej témy." + latest: "Nie sú žiadne najnovšie témy." + hot: "Nie sú žiadne horúce témy." + bookmarks: "Nemáte ešte žiadne zazáložkované témy." + top: "Nie sú žiadne najvýznamnejšie témy." + search: "Nenašli sa žiadne výsledky" + bottom: + latest: "Žiadne ďalšie najnovšie témy." + hot: "Žiadne ďalšie horúce témy." + posted: "Žiadne ďalšie témy na čítanie." + read: "Žiadne ďalšie prečítané témy." + new: "Žiadne ďalšie nové témy." + unread: "Žiadne ďalšie neprečítané témy." + top: "Žiadne ďalšie navýznamnejšie témy." + bookmarks: "Žiadne ďalšie zazáložkované témy." + search: "Žiadne ďalšie výsledky vyhľadávania." + invite: + custom_message_link: "vlastná správa" + custom_message_placeholder: "Zadajte Vašu vlastnú správu" admin_js: type_to_filter: "zadajte, čo chcete filtrovať ..." admin: @@ -1825,6 +2085,7 @@ sk: 30_days_ago: "Pred 30 dňami" all: "Všetky" view_table: "tabuľka" + view_graph: "graf" refresh_report: "Obnoviť report" start_date: "Od" end_date: "Do" @@ -1855,7 +2116,7 @@ sk: delete_post_agree_flag_title: "Zmazať prípspevok; ak ide o prvý príspevok, zmazať aj tému" delete_flag_modal_title: "Zmazať a..." delete_spammer: "Zmazať spammera" - delete_spammer_title: "Zmazať užívateľa aj všetky príspevky a témy ktoré vytvoril." + delete_spammer_title: "Zmazať používateľa aj všetky príspevky a témy ktoré vytvoril." disagree_flag_unhide_post: "Nesúhlasiť (odkryť príspevok)" disagree_flag_unhide_post_title: "Zrušíť všetky označenia z príspevku a znova odkryť príspevok" disagree_flag: "Nesúhlasiť" @@ -1925,13 +2186,14 @@ sk: bulk_select: "(vyberte skupinu)" automatic: "Automaticky" automatic_membership_email_domains: "Užívatelia, ktorí sa zaregistrovali s emailovou doménou uvedenou v zozname budú automaticky pridaní do tejto skupiny. " - automatic_membership_retroactive: "Použi pravidlo rovnakej emailovej domény pre pridanie registrovaných užívateľov" + automatic_membership_retroactive: "Použi pravidlo rovnakej emailovej domény pre pridanie registrovaných používateľov" default_title: "Štandardné označenie pre všetkých používateľov v tejto skupine" primary_group: "Automaticky nastav ako hlavnú skupinu" group_owners: Vlastníci add_owners: Pridať vlastníkov incoming_email: "Vlastná e-mailová adresa pre príchodziu poštu" incoming_email_placeholder: "zadajte emailovú adresu" + flair_preview: "Náhľad" api: generate_master: "Vygenerovať Master API kľúč" none: "V súčasnosti neexistujú žiadne aktívne API kľúče." @@ -1945,7 +2207,7 @@ sk: confirm_revoke: "Ste si istý, že chcete obnoviť tento kľúč?" info_html: "Váš API kľúč Vám umožní vytváranie a aktualizovanie tém prostredníctvom volaní JSON." all_users: "Všetci používatelia" - note_html: "Držte tento kľúč <strong>v tajnosti</strong>, všetci užívatelia ktorí ho vlastnia môžu vytvárať ľubovoľné príspevky pod ľubovoľným užívateľským menom. " + note_html: "Držte tento kľúč <strong>v tajnosti</strong>, všetci užívatelia ktorí ho vlastnia môžu vytvárať ľubovoľné príspevky pod ľubovoľným používateľským menom. " plugins: title: "Pluginy" installed: "Nainštalované pluginy" @@ -1964,6 +2226,14 @@ sk: backups: "Zálohy" logs: "Logy" none: "Nie je dostupná žiadna záloha." + read_only: + enable: + title: "Zapnúť režim len na čítanie" + label: "Zapnúť len čítanie" + confirm: "Ste si istý, že chcete zapnúť režim len na čítanie?" + disable: + title: "Vypnúť režim len na čítanie" + label: "Vypnúť len čítanie" logs: none: "Zatiaľ žiadne logy..." columns: @@ -1997,6 +2267,7 @@ sk: is_disabled: "Obnovenie je vypnuté na Nastaveniach stránky." label: "Obnoviť" title: "Obnoviť zálohu" + confirm: "Ste si istý, že chcete obnoviť túto zálohu?" rollback: label: "Vrátiť späť" title: "Vrátiť databázu do predchádzajúceho funkčného stavu" @@ -2123,12 +2394,12 @@ sk: send_test: "Odoslať testovací email" sent_test: "odoslané!" delivery_method: "Spôsob doručenia" - preview_digest_desc: "Náhľad obsahu súhrnných emailov zaslaných neaktívnym užívateľom." + preview_digest_desc: "Náhľad obsahu súhrnných emailov zaslaných neaktívnym používateľom." refresh: "Obnoviť" format: "Formát" html: "html" text: "text" - last_seen_user: "Posledný videný užívateľ" + last_seen_user: "Posledný videný používateľ" reply_key: "Tlačidlo odpovedať" skipped_reason: "Preskočiť zdôvodnenie" incoming_emails: @@ -2140,6 +2411,8 @@ sk: none: "Nenájdené žiadne ďalšie emaily." modal: error: "Chyba" + headers: "Hlavičky" + subject: "Predmet" filters: from_placeholder: "from@example.com" to_placeholder: "to@example.com" @@ -2173,7 +2446,7 @@ sk: do_nothing: "nerob nič" staff_actions: title: "Akcie personálu" - instructions: "Vyberte uťívateľské meno a akcie na filtrovanie zoznamu. Kliknite na profilovú fotku pre navigáciu na užívateľské stránky." + instructions: "Vyberte používateľské meno a akcie na filtrovanie zoznamu. Kliknite na profilovú fotku pre navigáciu na užívateľské stránky." clear_filters: "Ukázať všetko" staff_user: "Člen redakcie" target_user: "Cieľový používateľ" @@ -2196,8 +2469,8 @@ sk: change_site_customization: "zmeniť úpravy webu" delete_site_customization: "zmazať úpravy webu" change_site_text: "zmeniť text stránky" - suspend_user: "zruš práva užívateľovi" - unsuspend_user: "obnov práva užívateľovi" + suspend_user: "zruš práva používateľovi" + unsuspend_user: "obnov práva používateľovi" grant_badge: "udeliť odznak" revoke_badge: "odobrať odznak" check_email: "skontrolovať email" @@ -2211,10 +2484,12 @@ sk: create_category: "vytvoriť kategóriu" block_user: "blokovať používateľa" unblock_user: "odblokovať používateľa" - grant_admin: "udeliť admin" + grant_admin: "udeliť administrátorské práva" revoke_admin: "odobrať admin" - grant_moderation: "udeliť moderovanie" + grant_moderation: "udeliť moderátorské práva" revoke_moderation: "odvolať moderovanie" + deleted_tag: "zmazaný štítok" + renamed_tag: "premenovaný štítok" screened_emails: title: "Kontrolované emaily" description: "Keď niekto skúsi vytvoriť nový účet, nasledujúce emailove adresy budú preverené a registrácia bude zablokovaná, alebo bude vykonaná nejaka iná akcia. " @@ -2223,7 +2498,7 @@ sk: allow: "Povoliť" screened_urls: title: "Kontrolované URL adresy" - description: "URL adresy v tomto zozname boli použité v príspevkoch užívateľov, ktorí boli identifikovaní ako spameri." + description: "URL adresy v tomto zozname boli použité v príspevkoch používateľov, ktorí boli identifikovaní ako spameri." url: "URL" domain: "Doména" screened_ips: @@ -2249,15 +2524,15 @@ sk: title: "Chybové Logy" impersonate: title: "Privlastniť" - help: "Použite tento nástroj na privlastnenie si užívateľského účtu na účely debugovania. Po skončení sa budete musieť odhlásiť." + help: "Použite tento nástroj na privlastnenie si používateľského účtu na účely debugovania. Po skončení sa budete musieť odhlásiť." not_found: "Tento používateľ sa nenašiel." - invalid: "Ľutujeme, nesmiete si privlatniť tohto užívateľa." + invalid: "Ľutujeme, nesmiete si privlatniť tohto používateľa." users: title: 'Používatelia' create: 'Pridať admin používateľa' last_emailed: "Posledný odemailovaný" - not_found: "Prepáčte, toto užívateľské meno sa nenachádza v našom systéme." - id_not_found: "Prepáčte, toto užívateľské id sa nenachádza v našom systéme." + not_found: "Prepáčte, toto používateľské meno sa nenachádza v našom systéme." + id_not_found: "Prepáčte, toto používateľské id sa nenachádza v našom systéme." active: "Aktívny" show_emails: "Ukázať Emaily" nav: @@ -2270,22 +2545,22 @@ sk: suspect: 'Podozrivý' approved: "Schválený?" approved_selected: - one: "schváliť užívateľa" - few: "schváliť ({{count}}) užívateľov " - other: "schváliť ({{count}}) užívateľov " + one: "schváliť používateľa" + few: "schváliť ({{count}}) používateľov " + other: "schváliť ({{count}}) používateľov " reject_selected: - one: "zamietnuť užívateľa" - few: "zamietnuť ({{count}}) užívateľov " - other: "zamietnuť ({{count}}) užívateľov " + one: "zamietnuť používateľa" + few: "zamietnuť ({{count}}) používateľov " + other: "zamietnuť ({{count}}) používateľov " titles: active: 'Aktívni používatelia' new: 'Noví používatelia' pending: 'Užívatelia čakajúci na kontrolu' - newuser: 'Užívatelia na Stupni dôvery 0 (Noví užívatelia)' - basic: 'Užívatelia na Stupni dôvery 1 (Bežný užívateľ)' - member: 'Užívatelia na Stupni dôvery 2 (Člen)' - regular: 'Užívatelia na Stupni dôvery 3 (Stály člen)' - leader: 'Užívatelia na Stupni dôvery 4 (Vodca)' + newuser: 'Používatelia na stupni dôvery 0 (Nový používateľ)' + basic: 'Používatelia na stupni dôvery 1 (Bežný používateľ)' + member: 'Používatelia na stupni dôvery 2 (Člen)' + regular: 'Používatelia na stupni dôvery 3 (Stály člen)' + leader: 'Používatelia na stupni dôvery 4 (Vodca)' staff: "Zamestnanci" admins: 'Admin používatelia' moderators: 'Moderátori' @@ -2293,23 +2568,23 @@ sk: suspended: 'Užívatelia s odobratými právami' suspect: 'Podozriví užívatelia' reject_successful: - one: "Úspešne zamietnutý užívateľ" - few: "Úspešne zamietnutí %{count} užívatelia" - other: "Úspešne zamietnutých %{count} užívateľov" + one: "Úspešne zamietnutý používateľ" + few: "Úspešne zamietnutí %{count} používatelia" + other: "Úspešne zamietnutých %{count} používateľov" reject_failures: - one: "Nepodarilo sa zamietnuť 1 užívateľa" - few: "Nepodarilo sa zamietnuť %{count} užívateľov" - other: "Nepodarilo sa zamietnuť %{count} užívateľov" + one: "Nepodarilo sa zamietnuť 1 používateľa" + few: "Nepodarilo sa zamietnuť %{count} používateľov" + other: "Nepodarilo sa zamietnuť %{count} používateľov" not_verified: "Neoverený" check_email: title: "Odhaliť emailovú adresu tohto používateľa" text: "Zobraziť" user: - suspend_failed: "Niečo sa pokazilo pri odoberaní práv tomuto užívateľovi {{error}}" - unsuspend_failed: "Niečo sa pokazilo pri obnovovaní práv tomuto užívateľovi {{error}}" - suspend_duration: "Ako dlho budú užívateľovi odobrate práva?" + suspend_failed: "Niečo sa pokazilo pri odoberaní práv tomuto používateľovi {{error}}" + unsuspend_failed: "Niečo sa pokazilo pri obnovovaní práv tomuto používateľovi {{error}}" + suspend_duration: "Ako dlho budú používateľovi odobrate práva?" suspend_duration_units: "(dni)" - suspend_reason_label: "Prečo mu odoberáte práva? Tento text <b>sa zobrazí každému</b> na stránke profilu užívateľa a bude zobrazený užívateľovi pri pokuse o prihlásenie. Buďte strucný." + suspend_reason_label: "Prečo mu odoberáte práva? Tento text <b>sa zobrazí každému</b> na stránke profilu používateľa a bude zobrazený užívateľovi pri pokuse o prihlásenie. Buďte strucný." suspend_reason: "Dôvod" suspended_by: "Práva odobraté" delete_all_posts: "Zmazať všetky príspevky" @@ -2329,7 +2604,7 @@ sk: impersonate: 'Privlastniť' ip_lookup: "Vyhľadávanie IP" log_out: "Odhlásiť sa" - logged_out: "Užívateľ bol odhlásený na všetkých zariadeniach" + logged_out: "Používateľ bol odhlásený na všetkých zariadeniach" revoke_admin: 'Odobrať admin' grant_admin: 'Udeliť admin' revoke_moderation: 'Odobrať moderovanie' @@ -2355,7 +2630,7 @@ sk: approve_bulk_success: "Úspech! Všetci vybraní uťívateľia boli schválení a oboznáamení." time_read: "Doba Čítania" anonymize: "Anonymizovať používateľa" - anonymize_confirm: "Ste si istý že chcete zmeniť tento účet na anonymný? Zmeni to užívateľské meno, email a zmažú sa všetky informácie z profilu. " + anonymize_confirm: "Ste si istý že chcete zmeniť tento účet na anonymný? Zmeni to používateľské meno, email a zmažú sa všetky informácie z profilu. " anonymize_yes: "Áno, zmeň tento účet na anonymný" anonymize_failed: "Nastala chyba pri anonymizovaní účtu." delete: "Odstrániť používateľa" @@ -2364,16 +2639,16 @@ sk: delete_forbidden: one: "Užívatelia nemôžu byť vymazaní ak majú príspevky. Najprv zmažte príspevky až potom užívateľa. (Príspevky staršie ako %{count} deň nemožno zmazať)" few: "Užívatelia nemôžu byť vymazaní ak majú príspevky. Najprv zmažte príspevky až potom užívateľa. (Príspevky staršie ako %{count} dni nemožno zmazať)" - other: "Užívatelia nemôžu byť vymazaní ak majú príspevky. Najprv zmažte príspevky až potom užívateľa. (Príspevky staršie ako %{count} dní nemožno zmazať)" + other: "Užívatelia nemôžu byť vymazaní ak majú príspevky. Najprv zmažte príspevky až potom používateľa. (Príspevky staršie ako %{count} dní nemožno zmazať)" cant_delete_all_posts: one: "Nepodarilo sa zmazať všetky príspevky. Niektoré príspevky sú staršie ako %{count} deň. (Nastavenie delete_user_max_post_age )" few: "Nepodarilo sa zmazať všetky príspevky. Niektoré príspevky sú staršie ako %{count} dni. (Nastavenie delete_user_max_post_age )" other: "Nepodarilo sa zmazať všetky príspevky. Niektoré príspevky sú staršie ako %{count} dní. (Nastavenie delete_user_max_post_age )" cant_delete_all_too_many_posts: - one: "Nedá sa zmazať všetky píspevky, pretože užívateľ má viac ako 1 príspevok. (delete_all_posts_max)" - few: "Nedá sa zmazať všetky píspevky, pretože užívateľ má viac ako %{count} príspevky. (delete_all_posts_max)" - other: "Nedá sa zmazať všetky píspevky, pretože užívateľ má viac ako %{count} príspevkov. (delete_all_posts_max)" - delete_confirm: "Ste si ISTÝ, že chcete zmazať tohoto užívateľa? Už sa to nedá obnoviť!" + one: "Nedá sa zmazať všetky píspevky, pretože používateľ má viac ako 1 príspevok. (delete_all_posts_max)" + few: "Nedá sa zmazať všetky píspevky, pretože používateľ má viac ako %{count} príspevky. (delete_all_posts_max)" + other: "Nedá sa zmazať všetky píspevky, pretože používateľ má viac ako %{count} príspevkov. (delete_all_posts_max)" + delete_confirm: "Ste si ISTÝ, že chcete zmazať tohoto používateľa? Už sa to nedá obnoviť!" delete_and_block: "Zazať a <b>zablokovať</b> tento email a IP adresu" delete_dont_block: "Iba vymazať" deleted: "Používateľ bol vymazaný." @@ -2385,19 +2660,20 @@ sk: activate_failed: "Počas aktivácie používateľa nastala chyba." deactivate_account: "Deaktivovať účet" deactivate_failed: "Počas deaktivácie používateľa nastala chyba." - unblock_failed: 'Nastala chyba pri odblokovaní užívateľa.' - block_failed: 'Nastala chyba pri zablokovaní užívateľa.' + unblock_failed: 'Nastala chyba pri odblokovaní používateľa.' + block_failed: 'Nastala chyba pri zablokovaní používateľa.' block_confirm: 'Ste si istý tým, že chcete zablokovať tohoto používateľa? Nebude môcť vytvárať žiadne nové témy alebo príspevky.' block_accept: 'Ano, zablokovať používateľa' - deactivate_explanation: "Deaktivovaý užívateľ musí znovu overiť svoj email" + deactivate_explanation: "Deaktivovaý používateľ musí znovu overiť svoj email" suspended_explanation: "Suspendovaní užívatelia sa nemôžu prihlasovať." block_explanation: "Zablokovaní uťívatelia nemôžu zakladať témy ani pridávať príspevky." - trust_level_change_failed: "Nastala chyba pri zmene úrovne dôveryhodnosti užívateľa." - suspend_modal_title: "Zruš práva užívateľovi" - trust_level_2_users: "Užívatelia na 2 Stupni dôvery" - trust_level_3_requirements: "Požiadavky pre 3 stupeň" - trust_level_locked_tip: "stupeň dôvery je zamknutý, systém užívateľovi stupeň nezvýši ani nezníži " - trust_level_unlocked_tip: "stupeň dôvery je odomknutý, systém môže užívateľovi stupeň zvýšiť alebo znížiť" + staged_explanation: "Dočasný používateľ môže iba prispievať emailom do vybraných tém." + trust_level_change_failed: "Nastala chyba pri zmene stupňa dôvery používateľa." + suspend_modal_title: "Zruš práva používateľovi" + trust_level_2_users: "Používatelia na stupni dôvery 2" + trust_level_3_requirements: "Požiadavky pre 3 stupeň dôvery" + trust_level_locked_tip: "stupeň dôvery je zamknutý, systém používateľovi stupeň nezvýši ani nezníži " + trust_level_unlocked_tip: "stupeň dôvery je odomknutý, systém môže používateľovi stupeň zvýšiť alebo znížiť" lock_trust_level: "Zamknúť stupeň dôvery" unlock_trust_level: "Odomknúť stupeň dôvery" tl3_requirements: @@ -2416,14 +2692,14 @@ sk: likes_given: "Rozdaných 'páči sa mi'" likes_received: "Obdržaných 'páči sa mi'" likes_received_days: "Obdržaných 'páči sa mi' na jednotlivé dni" - likes_received_users: "Obdržaných 'páči sa mi' na jednotlivých užívateľov" + likes_received_users: "Obdržaných 'páči sa mi' na jednotlivých používateľov" qualifies: "Spĺňa požiadavky pre stupeň dôvery 3" does_not_qualify: "Nespĺňa požiadavky pre stupeň dôvery 3" will_be_promoted: "Bude čoskoro povýšený" will_be_demoted: "Čoskoro bude degradovaný" on_grace_period: "V súčastnosti je v povyšovacej skúšobnej dobe, nebude degradovaný." locked_will_not_be_promoted: "Stupeň dôvery je zamknutý. Nikdy nebude povýšený." - locked_will_not_be_demoted: "Stupeň dôvery je zamknutý. Nikdy nebude degradovaný" + locked_will_not_be_demoted: "Stupeň dôvery je zamknutý. Nikdy nebude degradovaný." sso: title: "Jednotné prihlásenie" external_id: "Externé ID" @@ -2432,9 +2708,9 @@ sk: external_email: "Email" external_avatar_url: "URL profilovej fotky" user_fields: - title: "Užívateľské polia" + title: "Používateľské polia" help: "Pridaj polia, ktoré môžu užívatelia vyplniť" - create: "Vytvor užívateľske pole" + create: "Vytvor používateľske pole" untitled: "Bez názvu" name: "Názov poľa" type: "Typ poľa" @@ -2443,7 +2719,7 @@ sk: edit: "Upraviť" delete: "Odstrániť" cancel: "Zrušiť" - delete_confirm: "Ste si istý, že chcete zmazať toto užívateľské pole?" + delete_confirm: "Ste si istý, že chcete zmazať toto používateľské pole?" options: "Možnosti" required: title: "Požadované pri registrácii?" @@ -2501,7 +2777,8 @@ sk: backups: "Zálohy" login: "Prihlásenie" plugins: "Pluginy" - user_preferences: "Užívateľské Nastavenia" + user_preferences: "Používateľské Nastavenia" + tags: "Štítky" badges: title: Odznaky new_badge: Nový odznak @@ -2514,8 +2791,8 @@ sk: badge_grouping: Skupina badge_groupings: modal_title: Zoskupovanie odznakov - granted_by: Pridelené užívateľom - granted_at: Pridelené na + granted_by: Udelené používateľom + granted_at: Udelené dňa reason_help: (Odkaze na príspevok, alebo tému) save: Uložiť delete: Odstrániť @@ -2525,14 +2802,14 @@ sk: expand: Rozbaliť … revoke_confirm: Ste si istý, že chcete obnoviť tento odznak? edit_badges: Upraviť odznaky - grant_badge: Prideliť odznaky - granted_badges: Pridelené odznaky - grant: Prideliť - no_user_badges: "%{name} nebol pridelený žiaden odznak." - no_badges: Nie sú žiadne odznaky, ktoré môžu byť pridelené. + grant_badge: Udeliť odznak + granted_badges: Udelené odznaky + grant: Udeliť + no_user_badges: "Používateľovi %{name} nebol udelený žiaden odznak." + no_badges: Nie sú žiadne odznaky, ktoré môžu byť udelené. none_selected: "Vyberte odznak, aby ste mohli začať" allow_title: Povoliť použitie odznaku namiesto názvu - multiple_grant: Môže byť pridelené viacnásobne + multiple_grant: Môže byť udelené viacnásobne listable: Zobraziť odznak na stránke verejných odznakov enabled: Povoliť odznak icon: Ikona @@ -2541,16 +2818,16 @@ sk: query: Požiadavka na Odznak (SQL) target_posts: Požiadavka cieli príspevky auto_revoke: Spúšťať stornovaciu požiadavku denne - show_posts: Zobraziť príspevok o pridelení odznaku na stránke odznakov + show_posts: Zobraziť príspevok o udelení odznaku na stránke odznakov trigger: Spúšťač trigger_type: none: "Obnovovať denne" - post_action: "Keď užívateľ zareaguje na príspevok" - post_revision: "Keď užívateľ vytvorí príspevok" - trust_level_change: "Keď užívateľ zmení stupeň dôvery" - user_change: "Keď je užívateľ vytvorený, alebo upravený" + post_action: "Keď používateľ zareaguje na príspevok" + post_revision: "Keď používateľ vytvorí príspevok" + trust_level_change: "Keď používateľ zmení stupeň dôvery" + user_change: "Keď je používateľ vytvorený, alebo upravený" preview: - link_text: "Prezerať pridelené odznaky" + link_text: "Prehliadnuť udelené odznaky" plan_text: "Náhľad na plán požiadaviek" modal_title: "Požiadavka na Odznak Prezeranie" sql_error_header: "Nastala chyba s požiadavkou." @@ -2586,18 +2863,18 @@ sk: category: "Prispievať do kategórií" add_host: "Pridať hostiteľa" settings: "Nastavenia vkladania" - feed_settings: "Nastavenie zdrojov" - feed_description: "Zadaním RSS/ATOM kanálu Vašich stránok zlepší schopnosť Discourse vladať Váš obsah." + feed_settings: "Nastavenie kanálov" + feed_description: "Zadaním RSS/ATOM kanála Vašich stránok zlepší schopnosť Discourse vladať Váš obsah." crawling_settings: "Nastavenia vyhľadávača" crawling_description: "Ak Discourse vytvorí tému pre Váš príspevok a neexistuje žiadny RSS/ATOM kanál tak sa pokúsime získať Váš obsah z HTML. Získanie obsahu môže byt niekedy výzva a preto poskytujeme možnosť špecifikovať CSS pravidlá na uľahčenie získania obsahu." - embed_by_username: "Užívateľské meno pre vytváranie tém" + embed_by_username: "Používateľské meno pre vytváranie tém" embed_post_limit: "Maximálny počet vložených príspevkov" - embed_username_key_from_feed: "Kľúč na získanie užívateľského mena discourse zo zdroja" + embed_username_key_from_feed: "Kľúč na získanie používateľského mena discourse z kanála" embed_truncate: "Skrátiť vložené príspevky" embed_whitelist_selector: "CSS selector pre elementy ktoré je možné vkladať" embed_blacklist_selector: "CSS selector pre elementy ktoré nie je možné vkladať" feed_polling_enabled: "importovať príspevky cez RSS/ATOM" - feed_polling_url: "URL adresa zdroja RSS/ATOM na preskúmanie" + feed_polling_url: "URL adresa RSS/ATOM kanála na preskúmanie" save: "Uložiť Nastavenia vkladania" permalink: title: "Trvalé odkazy" diff --git a/config/locales/client.sq.yml b/config/locales/client.sq.yml index 5c7de50d6..b97527b20 100644 --- a/config/locales/client.sq.yml +++ b/config/locales/client.sq.yml @@ -212,8 +212,8 @@ sq: like_count: "Pëlqime" topic_count: "Tema" post_count: "Postime" - user_count: "Anëtarët e rinj" - active_user_count: "Anëtarët aktivë" + user_count: "Përdorues të Rinj" + active_user_count: "Përdorues Aktivë" contact: "Na kontaktoni" contact_info: "Në rast të një problemi madhor ose të një çështjeje urgjente që prek faqen, ju lutemi të kontaktoni %{contact_info}." bookmarked: @@ -395,8 +395,11 @@ sq: posts: "Postime" topics: "Tema" latest: "Të fundit" - latest_by: "të fundit sipas" + latest_by: "e fundit nga" subcategories: "Nënkategori" + topic_sentence: + one: "1 temë" + other: "%{count} tema" topic_stat_sentence: one: "%{count} temë e re gjatë %{unit} të fundit." other: "%{count} tema të reja gjatë %{unit} të fundit." @@ -493,9 +496,11 @@ sq: muted_topics_link: "Trego temat e heshtura" watched_topics_link: "Trego temat e vëzhguara" automatically_unpin_topics: "Çngjiti temat automatikisht kur arrij fundin e faqes." + api_read: "lexuar" + api_read_write: "lexim e shkrim" staff_counters: flags_given: "sinjalizime të dobishme" - flagged_posts: "postimet e raportuara" + flagged_posts: "postimet e sinjalizuara" deleted_posts: "postimet e fshira" suspensions: "pezullimet" warnings_received: "paralajmërimet" @@ -581,7 +586,7 @@ sq: password_confirmation: title: "Rishkruani fjalëkalimin" last_posted: "Postimi i fundit" - last_emailed: "Emaili i fundit" + last_emailed: "Emaili i Fundit" last_seen: "Parë" created: "Regjistruar" log_out: "Shkëputu" @@ -611,6 +616,8 @@ sq: include_tl0_in_digests: "Përfshini dhe postime nga anëtarët e rinj" email_in_reply_to: "Përfshi një copëz të përgjigjeve ndaj postimit në email" email_direct: "Më dërgo një email kur dikush më citon, i përgjigjet një postimi tim, më përmend me @username, ose më fton në një temë" + email_private_messages: "Më dërgo një email kur dikush më dërgon një mesazh" + email_always: "Më dërgo njoftim me email edhe kur jam aktiv në faqe" other_settings: "Tjetër" categories_settings: "Kategoritë" new_topic_duration: @@ -666,6 +673,7 @@ sq: none: "Ju nuk keni ftuar askënd deri tani. Mund të dërgoni ftesa individuale ose mund të ftoni një grup personash duke <a href='https://meta.discourse.org/t/send-bulk-invites/16468'>ngarkuar skedarin</a>." text: "Skedari për ftesat në grup" uploading: "Duke ngarkuar..." + error: "Pati një gabi gjatë ngarkimit të skedarit '{{filename}}': {{message}}" password: title: "Fjalëkalimi" too_short: "Fjalëkalimi është shumë i shkurër." @@ -705,10 +713,10 @@ sq: top_topics: "Temat popullore" no_topics: "Nuk ka ende tema." more_topics: "Më shumë tema" - top_badges: "Stemat Kryesore" + top_badges: "Stemat popullore" no_badges: "Ende asnjë stemë." - more_badges: "Më shumë Stema" - top_links: "Lidhjet Top" + more_badges: "Më shumë stema" + top_links: "Lidhjet Kryesore" no_links: "Nuk ka ende lidhje." most_liked_by: "Pëlqyer më shumë nga" most_liked_users: "Më të pëlqyer" @@ -757,6 +765,8 @@ sq: refresh: "Rifresko" read_only_mode: enabled: "Faqja lejon vetëm leximet per momentin. Mund të vazhdoni të shfletoni, por përgjigjet, pëlqimet dhe veprime të tjera janë të çaktivizuara përkohësisht." + login_disabled: "Nuk mund të hyni në faqe sepse faqja është përkohësisht në formatin vetëm-lexim." + logout_disabled: "Nuk mund të shkëputeni nga faqja sepse faqja është përkohësisht në formatin vetëm-lexim." too_few_topics_and_posts_notice: "Hajt ta nisim <a href='http://blog.discourse.org/2014/08/building-a-discourse-community/'>mbarë diskutimin!</a> Keni krijuar <strong>%{currentTopics} / %{requiredTopics}</strong> tema dhe <strong>%{currentPosts} / %{requiredPosts}</strong> postime në faqe. Vizitorët e rinj të faqes kanë nevojë për diskutime në faqe. " too_few_topics_notice: "Hajt ta nisim <a href='http://blog.discourse.org/2014/08/building-a-discourse-community/'>mbarë diskutimin!</a> Keni krijuar <strong>%{currentTopics} / %{requiredTopics}</strong> tema. Vizitorët e rinj të faqes kanë nevojë për diskutime në faqe. " too_few_posts_notice: "Hajt ta nisim <a href='http://blog.discourse.org/2014/08/building-a-discourse-community/'>mbarë diskutimin!</a> Keni krijuar <strong>%{currentPosts} / %{requiredPosts}</strong> postime në faqe. Vizitorët e rinj të faqes kanë nevojë për diskutime në faqe. " @@ -765,6 +775,8 @@ sq: one: "1 gabim/%{duration}" other: "%{count} gabime/%{duration}" learn_more: "mëso më shumë..." + all_time: 'total' + all_time_desc: 'totali i temave të krijuara' year: 'vit' year_desc: 'temat e krijuara në 365 ditët e fundit' month: 'muaj' @@ -773,6 +785,7 @@ sq: week_desc: 'temat e krijuara në 7 ditët e fundit' day: 'ditë' first_post: Postimi i parë + mute: Hesht unmute: Çaktivizo heshtjen last_post: Postimi i fundit last_reply_lowercase: përgjigja e fundit @@ -796,10 +809,11 @@ sq: enabled_description: "Kjo temë përmban postime të fshira, që tani janë fshehur." disabled_description: "Postimet e fshira në këtë temë janë të dukshme." enable: "Fshehi postimet e fshira" - disable: "Trego postimet e fshira" + disable: "Shfaq postimet e fshira" private_message_info: title: "Mesazh" invite: "Fto të tjerë..." + remove_allowed_user: "A doni vërtet të hiqni {{name}} nga ky mesazh?" remove_allowed_group: "Doni me të vërtetë të hiqni {{name}} nga ky mesazh? " email: 'Email' username: 'Emri i përdoruesit' @@ -816,6 +830,12 @@ sq: action: "Kam harruar fjalëkalimin" invite: "Shkruani emrin e përdoruesit ose adresen email dhe ne do t'ju nisim një email për të rivendosur një fjalëkalim të ri." reset: "Rivendos fjalëkalimin" + complete_username: "Nëse në faqe ka një llogari me emër përdoruesi <b>%{username}</b> ju do të merrni një email me udhëzimet sesi mund të rikuperoni fjalëkalimin." + complete_email: "Në në faqe ka një llogari me adresë emaili <b>%{email}</b> ju do të merrni një email me udhëzimet mbi rivendosjen e fjalëkalimit." + complete_username_found: "Gjetëm një llogari që i përket emrit të përdoruesit <b>%{email}</b>, një email me udhëzime sesi të rivendosni fjalëkalimin duhet t'ju vijë së shpejti." + complete_email_found: "Gjetëm një llogari që i përket <b>%{email}</b>, një email me udhëzime sesi të rivendosni fjalëkalimin duhet t'ju vijë së shpejti." + complete_username_not_found: "Nuk ka llogari me emër përdoruesi <b>%{username}</b>" + complete_email_not_found: "Nuk ka llogari për <b>%{email}</b>" login: title: "Identifikohu" username: "Anëtari" @@ -832,7 +852,10 @@ sq: awaiting_confirmation: "Llogaria juaj është në pritje të aktivizimit, përdorni butonin e fjalëkalimit të humbur që të merrni një email të ri me kodin e aktivizimit." awaiting_approval: "Llogaria juaj nuk është aprovuar ende nga një admin. Do t'ju dërgojmë një email kur të aprovohet. " requires_invite: "Na vjen keq, ky forum është vetëm për anëtarë të ftuar. " + not_activated: "Nuk mund të identifikoheni akoma. Ju kemi dërguar një email aktivizimi tek <b>{{sentTo}}</b>. Ndiqni udhëzimet në atë email për të aktivizuar llogarinë tuaj. " + not_allowed_from_ip_address: "Nuk lejohet identifikimi nga kjo adresë IP." resend_activation_email: "Klikoni këtu për të dërguar sërish email-in e aktivizimit." + sent_activation_email_again: "Ju dërguam një email aktivizimi të ri tek adresa {{currentEmail}}. Emaili mund të vonohet disa minuta, verifikoni edhe dosjen \"spam\". " to_continue: "Ju lutemi, identifikohuni" forgot: "Nuk i mbaj mend detajet e llogarisë" google: @@ -903,8 +926,10 @@ sq: show_preview: 'tregoni panelin e parashikimit »' hide_preview: '« fshiheni panelin e parashikimit' quote_post_title: "Citoni të gjithë postimin" + bold_label: "B" bold_title: "Trashë" bold_text: "tekst i trashë" + italic_label: "I" italic_title: "Theksuar" italic_text: "tekst i theksuar" link_title: "Lidhje" @@ -922,6 +947,7 @@ sq: olist_title: "Listë e numëruar" ulist_title: "Listë me pika" list_item: "Element liste" + heading_label: "T" heading_title: "Titull" heading_text: "Titull" hr_title: "Vizë ndarëse horizontale" @@ -966,7 +992,7 @@ sq: invitee_accepted: "<i title='accepted your invitation' class='fa fa-user'></i><p><span>{{username}}</span> pranoi ftesën tuaj</p>" moved_post: "<i title='moved post' class='fa fa-sign-out'></i><p><span>{{username}}</span> transferoi {{description}}</p>" linked: "<i title='linked post' class='fa fa-link'></i><p><span>{{username}}</span> {{description}}</p>" - granted_badge: "<i title='badge granted' class='fa fa-certificate'></i><p>Fituar '{{description}}'</p>" + granted_badge: "<i title='badge granted' class='fa fa-certificate'></i><p>Fituat '{{description}}'</p>" watching_first_post: "<i title='new topic' class='fa fa-dot-circle-o'></i><p><span>Temë e re</span> {{description}}</p>" group_message_summary: one: "<i title='messages in group inbox' class='fa fa-group'></i><p> {{count}} message in your {{group_name}} inbox</p>" @@ -984,7 +1010,7 @@ sq: invitee_accepted: "Ftesa u pranua nga" moved_post: "Postimi juaj u transferua nga" linked: "Lidhja drejt postimit tuaj" - granted_badge: "Stema u dhurua" + granted_badge: "Stema u atribua" group_message_summary: "Mesazhet në inboxin e grupit" popup: mentioned: '{{username}} ju përmendi në "{{topic}}" - {{site_title}}' @@ -1000,30 +1026,47 @@ sq: from_my_computer: "Nga kompiuteri im" from_the_web: "Nga Interneti" remote_tip: "lidhje tek imazhi" + local_tip: "zgjidh imazhet nga aparati" + local_tip_with_attachments: "zgjidh imazhet apo skedarët nga aparati {{authorized_extensions}}" + hint: "(mundet edhe t'i tërhiqni e lëshoni mbi fushën përmbajtjes për t'i hedhur në faqe)" + hint_for_supported_browsers: "ju mund të tërhiqni e lëshoni imazhet në editorin e tekstit" uploading: "Duke ngarkuar" select_file: "Zgjdhni një Skedar" + image_link: "linku për imazhin" search: sort_by: "Rendit sipas" + relevance: "Rëndësia" + latest_post: "Postimi i fundit" + most_viewed: "Më të shikuarat" most_liked: "Më të pëlqyer" select_all: "Zgjidhni Gjithçka" + clear_all: "Pastro kriteret" + too_short: "Fraza e kërkuar është shumë e shkurtër. " result_count: one: "1 rezultat për <span class='term'>\"{{term}}\"</span>" other: "{{count}} rezultate për <span class='term'>\"{{term}}\"</span>" title: "kërko në faqe" no_results: "Nuk u gjet asnjë rezultat." + no_more_results: "Nuk gjetëm rezultate të tjera. " + search_help: Ndihmë për kërkimin searching: "Duke kërkuar..." + post_format: "#{{post_number}} nga {{username}}" context: user: "Kërko postime nga @{{username}}" category: "Kërkoni kategorinë #{{category}}" topic: "Kërko tek kjo temë" + private_messages: "Kërko mesazhet" hamburger_menu: "shko tek një kategori ose një listë e re temash" new_item: "e re" go_back: 'kthehu mbrapa' + not_logged_in_user: 'faqja e përdoruesit me një përmbledhje të aktivitetit dhe preferencave' + current_user: 'shko tek profili yt' topics: bulk: reset_read: "Rivendos leximet" delete: "Fshi temat" dismiss_tooltip: "Hiq veç postimet e reja ose ndalo së ndjekuri temat" + also_dismiss_topics: "Mos i gjurmo më këto tema që të mos afishohen më si të palexuara për mua" dismiss_new: "Hiq të Rejat" actions: "Veprime në masë" change_category: "Ndrysho kategori" @@ -1047,6 +1090,7 @@ sq: bookmarks: "Nuk keni ende tema të preferuara. " category: "Nuk ka tema në: {{category}}." top: "Nuk ka tema popullore." + search: "Nuk ka rezultate nga kërkimi. " educate: new: '<p>Temat e reja shfaqen këtu.</p><p>Automatikisht, temat cilësohen si të reja dhe kanë një shënim <span class="badge new-topic badge-notification" style="vertical-align:middle;line-height:inherit;">i ri</span> nëse janë krijuar gjatë dy ditëve të fundit.</p><p>Vizitoni <a href="%{userPrefsUrl}">preferencat</a> për t''a ndryshuar këtë parametër.</p>' unread: '<p>Temat e palexuara shfaqen këtu.</p><p>Automatkisht, temat klasifikohen si të palexuara dhe kanë etiketa me numër <span class="badge new-posts badge-notification">1</span> nëse ju:</p><ul><li>krijuat temën</li><li>iu përgjigjët temës</li><li>lexuat temën për më shumë se 4 minuta</li></ul><p>Ose nëse keni zgjedhur të Gjurmoni ose Vëzhgoni temën duke klikuar në butonin përkatës në fund të çdo teme.</p><p>Vizitoni <a href="%{userPrefsUrl}">preferencat tuaja</a> për të bër ndryshime.</p>' @@ -1060,9 +1104,14 @@ sq: category: "Nuk ka më tema nga {{category}}." top: "Nuk ka më tema popullore." bookmarks: "Nuk ka më tema të preferuara." + search: "Nuk ka më rezultate nga kërkimi. " topic: unsubscribe: stop_notifications: "Tani ju do të merrni më pak njoftime për <strong>{{title}}</strong>" + change_notification_state: "Statusi juaj i njoftimeve tani është" + filter_to: + one: "1 postim në temë" + other: "{{count}} postime në temë" create: 'Temë e re' create_long: 'Hap një temë të re' private_message: 'Fillo një mesazh' @@ -1112,6 +1161,8 @@ sq: browse_all_categories: Shfleto kategoritë view_latest_topics: shiko temat më të fundit suggest_create_topic: Pse nuk hapni një temë të re? + jump_reply_up: hidhe tek përgjigja paraardhëse + jump_reply_down: hidhu tek përgjigja pasardhëse deleted: "Tema është fshirë" auto_close_notice: "Kjo temë do të mbyllet automatikisht %{timeLeft}." auto_close_notice_based_on_last_post: "Kjo temë do të mbyllet %{duration} pas përgjigjes së fundit. " @@ -1127,8 +1178,10 @@ sq: go_top: "sipër" go_bottom: "poshtë" go: "shko" + jump_bottom: "hidhu tek përgjigja e fundit" jump_prompt: "hidhu tek tema" jump_prompt_long: "Tek cila temë doni të shkoni?" + jump_bottom_with_number: "shko tek përgjigja %{post_number}" total: totali i postimeve current: postimi aktual notifications: @@ -1218,12 +1271,15 @@ sq: one: "Të gjitha temat kryesore të momentit: <strong class='badge badge-notification unread'>1</strong>" other: "Të gjitha temat kryesore të momentit: <strong class='badge badge-notification unread'>{{count}}</strong>" banner_exists: "Për momentin <strong class='badge badge-notification unread'>ka</strong> një temë parrullë." + automatically_add_to_groups: "Kjo ftesë përfshin edhe akses për këto grupe:" invite_private: title: 'Ftoje në këtë mesazh' email_or_username: "Emaili ose emri i përdoruesit të të ftuarit" + email_or_username_placeholder: "adresa email ose emri i përdoruesit" action: "Ftoni" success: "Anëtari u ftua të marrë pjesë në këtë mesazh. " - group_name: "emri grupit" + group_name: "emri i grupit" + controls: "Veprimet e temës" invite_reply: title: 'Ftoni' username_placeholder: "emri i përdoruesit" @@ -1249,6 +1305,10 @@ sq: instructions: one: "Jeni duke krijuar një temë të re dhe duke e populluar atë me postimin që keni përzgjedhur." other: "Jeni duke krijuar një temë të re dhe duke e populluar atë me <b>{{count}}</b> postimet që keni përzgjedhur." + merge_topic: + instructions: + one: "Ju lutem zgjidhni një temë ku do dëshironit ta zhvendosni këtë postim." + other: "Ju lutem, zgjidhni një temë ku do të dëshironit të zhvendosni këto <b>{{count}}</b> postime." merge_posts: title: "Bashkoni Postimet e Përzgjedhura" action: "bashkoni postimet e përzgjedhura" @@ -1295,7 +1355,7 @@ sq: other: "{{count}} përgjigje" has_likes: one: "{{count}} Pëlqim" - other: "{{count}} pëlqime" + other: "{{count}} Pëlqime" has_likes_title: one: "1 person pëlqeu këtë postim" other: "{{count}} vetë pëlqyen këtë postim" @@ -1313,6 +1373,8 @@ sq: yes_value: "Po, braktise" via_email: "ky postim u dërgua me email" via_auto_generated_email: "ky postim u krijua nga një email automatik" + wiki: + about: "kjo temë është wiki" archetypes: save: 'Ruaj opsionet' few_likes_left: "Ju falenderojmë! Ju kanë ngelur edhe disa pëlqime për sot." @@ -1343,22 +1405,73 @@ sq: change_owner: "Ndrysho zotëruesin" actions: flag: 'Sinjalizoni' + defer_flags: + one: "Shty sinjalizimin" + other: "Shty sinjalizimet" undo: + off_topic: "Anulo sinjalizimin" + spam: "Anulo sinjalizimin" + inappropriate: "Anulo sinjalizimin" bookmark: "Hiqe nga të preferuarat" like: "Anulo pëlqimin" vote: "Rikthe votën" people: + off_topic: "sinjalizoi këtë postim si jashtë teme" + spam: "sinjalizoi këtë postim si spam" + inappropriate: "sinjalizoi këtë postim si të papërshtatshëm" like: "pëlqyen këtë" by_you: + off_topic: "Ti sinjalizove këtë postim si jashtë teme" + spam: "Ti sinjalizove këtë postim si spam" + inappropriate: "Ti sinjalizove këtë postim si të papërshtatshëm" + notify_moderators: "Ti sinjalizove këtë postim për moderim" + bookmark: "E ruajte këtë temë tek të preferuarat e tua" like: "Ju e pëlqyet këtë" + vote: "Votove për këtë postim" by_you_and_others: + off_topic: + one: "Ti dhe 1 anëtar tjetër sinjalizuat këtë postim si jashtë teme" + other: "Ti dhe {{count}} anëtarë të tjerë sinjalizuat këtë postim si jashtë teme" + spam: + one: "Ti dhe 1 anëtar tjetër sinjalizuat këtë postim si spam" + other: "Ti dhe {{count}} anëtarë të tjerë sinjalizuat këtë postim si spam" + inappropriate: + one: "Ti dhe 1 anëtar tjetër sinjalizuat këtë postim si të papërshtatshëm" + other: "Ti dhe {{count}} anëtarë të tjerë sinjalizuat këtë postim si të papërshtatshëm" + notify_moderators: + one: "Ti dhe 1 anëtar tjetër sinjalizuat këtë postim për moderim" + other: "Ti dhe {{count}} anëtarë të tjerë sinjalizuat këtë postim për moderim" + bookmark: + one: "Ti dhe 1 anëtar tjetër shtuat këtë postim tek të preferuarat tuaja" + other: "Ti dhe {{count}} anëtarë të tjerë shtuat këtë postim tek të preferuarat tuaja" like: one: "Ju dhe 1 person tjetër pëlqyet këtë " other: "Ju dhe {{count}} të tjerë pëlqyen këtë postim" + vote: + one: "Ti dhe 1 anëtar tjetër votuat për këtë postim" + other: "Ti dhe {{count}} anëtarë të tjerë votuat për këtë postim" by_others: + off_topic: + one: "1 anëtar sinjalizoi këtë postim si jashtë teme" + other: "{{count}} anëtarë sinjalizuan këtë postim si jashtë teme" + spam: + one: "1 anëtar sinjalizoi këtë postim si spam" + other: "{{count}} anëtarë sinjalizuan këtë postim si spam" + inappropriate: + one: "1 anëtar sinjalizoi këtë postim si të papërshtatshëm" + other: "{{count}} anëtarë sinjalizuan këtë postim si të papërshtatshëm" + notify_moderators: + one: "1 anëtar sinjalizoi këtë postim për moderim" + other: "{{count}} anëtarë sinjalizuan këtë postim për moderim" + bookmark: + one: "1 anëtar shtoi këtë postim tek të preferuarat" + other: "{{count}} anëtarë shtuan këtë postim tek të preferuarat" like: one: "1 person pëlqeu këtë postim" other: "{{count}} vetë pëlqyen këtë postim" + vote: + one: "1 anëtar votoi për këtë postim" + other: "{{count}} anëtarë votuan për këtë postim" merge: confirm: one: "Jeni i sigurtë që dëshironi t'i bashkoni këto postime?" @@ -1438,6 +1551,10 @@ sq: spam: "Është Spam" custom_placeholder_notify_user: "Jini specifikë, konstruktiv dhe gjithmonë të sjellshëm." custom_placeholder_notify_moderators: "Na thoni specifikisht se çfarë ju shqetëson dhe na jepni lidhje dhe shembuj konkretë brenda mundësive. " + custom_message: + at_least: + one: "futni së paku 1 gërmë" + other: "futni së paku {{count}} gërma" flagging_topic: title: "Faleminderit për ndihmën që i jepni këtij komuniteti!" action: "Raporto Temën" @@ -1451,6 +1568,7 @@ sq: one: "1 klik" other: "%{count} klikime" post_links: + about: "trego më shumë lidhje për këtë postim" title: one: "edhe 1" other: "edhe %{count}" @@ -1478,18 +1596,21 @@ sq: posts_long: "ka {{number}} postime në temë" original_post: "Postimi Origjinal" views: "Shikimet" + views_lowercase: + one: "shikim" + other: "shikime" replies: "Përgjigjet" views_long: "kjo temë është parë {{number}} herë" activity: "Aktiviteti" likes: "Pëlqimet" likes_lowercase: - one: "like" + one: "pëlqim" other: "pëlqime" likes_long: "ka {{number}} pëlqime në këtë temë" - users: "Anëtarët" + users: "Përdoruesit" users_lowercase: - one: "anëtar" - other: "anëtarët" + one: "përdorues" + other: "përdorues" category_title: "Kategoria" history: "Historia" changed_by: "nga {{author}}" @@ -1601,22 +1722,39 @@ sq: create: '<b>c</b> Hap një temë të re' dismiss_new_posts: '<b>x</b>, <b>r</b> Hiq Të Rejat/Postimet' actions: + flag: '<b>!</b> Sinjalizo postimin' mark_muted: '<b>m</b>, <b>m</b> Bëje temë të heshtur' badges: earned_n_times: one: "Kjo stemë është fituar 1 herë" other: "Kjo stemë është fituar %{count} herë" + granted_on: "Atribuar më %{date}" others_count: "Të tjerë me këtë stemë (%{count})" - title: Stema + title: Stemat + allow_title: "titulli i disponueshëm" + multiple_grant: "akorduar disa herë" badge_count: - one: "1 Stemë" - other: "%{count} Stema" - select_badge_for_title: Zgjidhni një shenjë dalluese për ta përdorur si titullin tuaj + one: "1 stemë" + other: "%{count} stema" + more_badges: + one: "+1 tjetër" + other: "+%{count} të tjera" + granted: + one: "1 e akorduar" + other: "%{count} të akorduara" + select_badge_for_title: Zgjidhni një stemë për ta përdorur si titullin tuaj + none: "<asnjë>" badge_grouping: + getting_started: + name: Fillestar + community: + name: Komuniteti trust_level: name: Niveli i besimit other: name: Tjetër + posting: + name: Postimet tagging: all_tags: "Të gjitha etiketat" selector_all_tags: "të gjitha etiketat" @@ -1731,12 +1869,17 @@ sq: commits: by: "nga" flags: + title: "Sinjalizimet" old: "Të Vjetra" active: "Aktive" agree: "Pranoj" + agree_title: "Konfirmo këtë sinjalizim si të vlefshëm do korrekt" agree_flag_modal_title: "Prano dhe..." + agree_flag_hide_post_title: "Fshihe këtë postim automatikisht dhe çoi postuesit një mesazh që t'a redaktojë postimin" agree_flag_restore_post_title: "Rikthe këtë postim" + agree_flag: "Bi dakord me sinjalizimin" agree_flag_title: "Dakord me sinjalizimin dhe lini postimin të pandryshuar" + defer_flag_title: "Hiqe këtë sinjalizim; nuk ka nevojë për veprime në këtë moment. " delete: "Fshij" delete_title: "Fshini postimin e sinjalizuar." delete_post_defer_flag: "Fshini postimin dhe shtyni për më vonë sinjalizimin" @@ -1744,10 +1887,13 @@ sq: delete_spammer: "Elimino Spammer" delete_spammer_title: "Fshijeni përdoruesin dhe të gjitha temat e postimet nga ky përdorues." disagree_flag_unhide_post_title: "Hiqni të gjitha sinjalizimet mbi këtë postim dhe ripublikojeni postimin" - clear_topic_flags: "U krye" + disagree_flag_title: "Refuzo sinjalizimin (është i pavlefshëm ose i pasaktë)" + clear_topic_flags: "Përfundo" + clear_topic_flags_title: "Kjo temë është shqyrtuar dhe problemet janë zgjidhur. Kliko Përfundo për të hequr sinjalizimet. " more: "(më shumë përgjigje...)" dispositions: agreed: "dakort" + flagged_by: "Sinjalizuar nga" resolved_by: "Zgjidhur nga" system: "Sistemi" reply_message: "Përgjigju" @@ -1765,7 +1911,7 @@ sq: edit: "Redakto Grup" refresh: "Rifresko" new: "I Ri" - group_members: "Anëtarët e grupit" + group_members: "Përdorues grupi" delete: "Fshij" name: "Emri" add: "Shto" @@ -1775,13 +1921,13 @@ sq: api: generate_master: "Gjenero Master API Key" none: "Për momentin, nuk ka çelësa API aktivë." - user: "Anëtarë" + user: "Përdorues" title: "API" key: "API Key" generate: "Gjenero" regenerate: "Rigjenero" revoke: "Revoko" - all_users: "Gjithë Anëtarët" + all_users: "Gjithë Përdoruesit" plugins: title: "Pluginet" installed: "Pluginet e instaluar" @@ -1949,19 +2095,19 @@ sq: staff: 'Stafi' approved: "Aprovuar?" titles: - active: 'Anëtarët aktivë' - new: 'Anëtarët e rinj' - newuser: 'Anëtarët me nivel besimi 0 (anëtar i ri)' - basic: 'Anëtarët me nivel besimi 1 (anëtar bazë)' - member: 'Anëtarët me nivel besimi 2 (member)' - regular: 'Anëtarët me nivel besimi 3 (të rregullt)' - leader: 'Anëtarët me nivel besimi 4 (lidera)' + active: 'Përdorues Aktivë' + new: 'Përdorues të Rinj' + newuser: 'Përdorues me Nivel Besimi 0 (Përdorues i Ri)' + basic: 'Përdorues me Nivel Besimi 1 (Përdorues i Thjeshtë)' + member: 'Përdorues me Nivel Besimi 2 (Anëtar)' + regular: 'Përdorues me Nivel Besimi 3 (Të Zakonshëm)' + leader: 'Përdorues me Nivel Besimi 4 (Udhëheqës)' staff: "Stafi" admins: 'Administratorë' moderators: 'Moderatorë' - blocked: 'Anëtarët e bllokuar' - suspended: 'Anëtarët e pezulluar' - suspect: 'Anëtarët e dyshimtë' + blocked: 'Përdorues të Bllokuar' + suspended: 'Përdorues të Pezulluar' + suspect: 'Përdorues të Dyshimtë' not_verified: "I pa verifikuar" check_email: text: "Shfaq" @@ -1986,10 +2132,13 @@ sq: like_count: Pëlqime të dhëna / të marra last_100_days: 'në 100 ditët e fundit' private_topics_count: Diskutime Private + flags_given_count: Sinjalizime të dhëna + flags_received_count: Sinjalizime të marra + flags_given_received_count: 'Sinjalizime të dhëna / marra' approve: 'Aprovo' approved_by: "aprovuar nga" time_read: "Koha e Leximit" - delete: "Fshij Anëtarë" + delete: "Fshi Përdoruesin" delete_confirm: "E SIGURT që doni ta fshini këtë përdorues? Kjo është e përhershme!" delete_and_block: "Fshijeni dhe <b>bllokoni</b> këtë email dhe adresë IP" delete_dont_block: "Vetëm fshijeni" @@ -2006,10 +2155,11 @@ sq: visits: "Vizita" days: "ditë" flagged_posts: "Postimet e sinjalizuara" + flagged_by_users: "Përdoruesit që sinjalizuan" likes_given: "Pëlqime të dhëna" likes_received: "Pëlqime të marra" likes_received_days: "Pëlqime të marra: ditë unike" - likes_received_users: "Pëlqime të marra: anëtarë unikë" + likes_received_users: "Pëlqime të Marra: përdorues unikë" sso: title: "Single Sign On" external_username: "Emri i përdoruesit" @@ -2046,6 +2196,9 @@ sq: no_results: "Nuk u gjet asnjë rezultat." clear_filter: "Pastro" categories: + all_results: 'Të gjitha' + required: 'E nevojshme' + basic: 'Parametrat Kryesore' users: 'Përdoruesit' email: 'Email' files: 'Skedarë' @@ -2064,7 +2217,7 @@ sq: user_preferences: "Rregullimet e përdoruesit" tags: "Etiketat" badges: - title: Stema + title: Stemat new_badge: Stemë e Re new: I Ri name: Emri @@ -2078,13 +2231,15 @@ sq: save: Ruaj delete: Fshij delete_confirm: Jeni i sigurtë që doni ta fshini këtë stemë? + revoke: Revoko reason: Arsye revoke_confirm: Jeni i sigurtë që doni ta tërhiqni këtë stemë? - edit_badges: Ndryshoni Stemat + edit_badges: Ndryshoni stemat grant_badge: Dhuroni Stemë - granted_badges: Stema të Dhuruara + granted_badges: Stema të atribuara + grant: Atribuo no_user_badges: "%{name} nuk ka marrë ende ndonjë stemë." - no_badges: Nuk ka stema që mund të dhurohen. + no_badges: Nuk ka stema që mund të atribuohen. none_selected: "Si fillim zgjidhni një stemë" allow_title: Lejoni stemën të përdoret si titull listable: Shfaqni stemën në faqen publike të stemave @@ -2094,8 +2249,8 @@ sq: trigger_type: trust_level_change: "Kur një përdorues ndryshon nivelin e besimit" preview: - link_text: "Shikim paraprak i stemave të dhuruara" - modal_title: "Shikim paraprak Pyetësori Stemash" + link_text: "Shikim paraprak i stemave të atribuara" + modal_title: "Shikim paraprak i pyetësorit të stemave" bad_count_warning: header: "KUJDES!" no_grant_count: "Asnjë stemë për t'u dhënë." diff --git a/config/locales/client.tr_TR.yml b/config/locales/client.tr_TR.yml index e6faf34c8..692cdf6b9 100644 --- a/config/locales/client.tr_TR.yml +++ b/config/locales/client.tr_TR.yml @@ -85,7 +85,7 @@ tr_TR: next_month: 'Sonraki Ay' share: topic: 'bu konunun bağlantısını paylaşın' - post: '#%{postNumber} nolu gönderiyi paylaşın' + post: '#%{postNumber} numaralı gönderiyi paylaşın' close: 'kapat' twitter: 'bu bağlantıyı Twitter''da paylaşın' facebook: 'bu bağlantıyı Facebook''da paylaşın' @@ -109,18 +109,18 @@ tr_TR: enabled: '%{when} arşivlendi' disabled: '%{when} arşivden çıkarıldı' pinned: - enabled: '%{when} sabitlendi' - disabled: '%{when} sabitlikten çıkarıldı' + enabled: '%{when} başa tutturuldu' + disabled: '%{when} başta tutturulması kaldırıldı' pinned_globally: - enabled: '%{when} genel olarak sabitlendi' - disabled: '%{when} genel olarak sabitleme kaldırıldı' + enabled: '%{when} her yerde başa tutturuldu' + disabled: '%{when} her yerde başta tutturulması kaldırıldı' visible: enabled: '%{when} listelendi' disabled: '%{when} listelenmedi' - topic_admin_menu: "konuyla alakalı yönetici işlemleri" + topic_admin_menu: "konuyla alakalı yönetici eylemleri" emails_are_disabled: "Tüm giden e-postalar yönetici tarafından evrensel olarak devre dışı bırakıldı. Herhangi bir e-posta bildirimi gönderilmeyecek." - bootstrap_mode_enabled: "Yeni sitenizi kolayca çalıştırmak için bootstrap modundasınız. Tüm yeni kullanıcılar 1. seviyeden başlar ve email uyarıcıları açıksa günlük mail alırlar. Bu özellik kullanıcı sayısı %{min_users} rakamına ulaştığında otomatik kapatılacaktır." - bootstrap_mode_disabled: "Bootstrap modu önümüzdeki 24 saat içinde devre dışı kalacaktır." + bootstrap_mode_enabled: "Yeni sitenizi kolayca çalıştırmak için bootstrap modundasınız. Tüm yeni kullanıcılar güven seviyesi 1den başlar ve e-posta uyarıcıları açıksa günlük mail alırlar. Bu özellik kullanıcı sayısı %{min_users} rakamına ulaştığında otomatik kapatılacaktır." + bootstrap_mode_disabled: "Bootstrap modu önümüzdeki 24 saat içinde edilgen olacaktır." s3: regions: us_east_1: "US East (N. Virginia)" @@ -142,18 +142,18 @@ tr_TR: yes_value: "Evet" generic_error: "Üzgünüz, bir hata oluştu." generic_error_with_reason: "Bir hata oluştu: %{error}" - sign_up: "Üye Ol" + sign_up: "Kayıt Ol" log_in: "Giriş Yap" age: "Yaş" joined: "Katıldı" admin_title: "Yönetici" - flags_title: "Bayraklar" + flags_title: "Bildirilenler" show_more: "devamını göster" show_help: "seçenekler" links: "Bağlantılar" links_lowercase: other: "bağlantılar" - faq: "Sıkça Sorulan Sorular" + faq: "SSS" guidelines: "Yönergeler" privacy_policy: "Gizlilik Sözleşmesi" privacy: "Gizlilik" @@ -183,7 +183,7 @@ tr_TR: about: simple_title: "Hakkında" title: "%{title} Hakkında" - stats: "Site İstatistikleri" + stats: "Site Sayımları" our_admins: "Yöneticilerimiz" our_moderators: "Moderatörlerimiz" stat: @@ -194,22 +194,22 @@ tr_TR: topic_count: "Konular" post_count: "Gönderiler" user_count: "Yeni Kullanıcılar" - active_user_count: "Aktif Kullanıcılar" + active_user_count: "Etkin Kullanıcılar" contact: "Bize Ulaşın" contact_info: "Bu siteyi etkileyen kritik bir problem ya da acil bir durum oluştuğunda, lütfen %{contact_info} adresi üzerinden bizimle iletişime geçin." bookmarked: - title: "İşaretle" - clear_bookmarks: "İşaretlenenleri Temizle" + title: "İmle" + clear_bookmarks: "İmleneneri Temizle" help: - bookmark: "Bu konudaki ilk gönderiyi işaretlemek için tıklayın" - unbookmark: "Bu konudaki bütün işaretleri kaldırmak için tıklayın" + bookmark: "Bu konudaki ilk gönderiyi imlemek için tıklayın" + unbookmark: "Bu konudaki bütün imleri kaldırmak için tıklayın" bookmarks: - not_logged_in: "üzgünüz, gönderileri işaretleyebilmeniz için oturum açmanız gerekiyor." - created: "bu gönderiyi işaretlediniz" - not_bookmarked: "bu gönderiyi okudunuz; yer imlerinize eklemek için tıklayın" - last_read: "bu okuduğunuz son gönderi; yer imlerinize eklemek için tıklayın" - remove: "İşareti Kaldır" - confirm_clear: "Bu konuya ait tüm işaretleri kaldırmak istediğinize emin misiniz?" + not_logged_in: "üzgünüz, gönderileri imleyebilmeniz için oturum açmanız gerekiyor." + created: "bu gönderiyi imlediniz" + not_bookmarked: "bu gönderiyi okudunuz; imlerinize eklemek için tıklayın" + last_read: "bu okuduğunuz son gönderi; imlerinize eklemek için tıklayın" + remove: "İmi Kaldır" + confirm_clear: "Bu konuya ait tüm imleri kaldırmak istediğinize emin misiniz?" topic_count_latest: other: "{{count}} yeni ya da güncellenmiş konu." topic_count_unread: @@ -218,7 +218,7 @@ tr_TR: other: "{{count}} yeni konu." click_to_show: "Görüntülemek için tıklayın." preview: "önizleme" - cancel: "İptal" + cancel: "iptal" save: "Değişiklikleri Kaydet" saving: "Kaydediliyor..." saved: "Kaydedildi!" @@ -250,16 +250,16 @@ tr_TR: none: "Gözden geçirilecek bir gönderi yok." edit: "Düzenle" cancel: "İptal" - view_pending: "bekleyen yazıları görüntüleyin" + view_pending: "bekleyen gönderileri görüntüleyin" has_pending_posts: other: "Bu konuda <b>{{count}}</b> sayıda onay bekleyen gönderi var" confirm: "Düzenlemeleri Kaydet" - delete_prompt: "<b>%{username}</b> kullanıcısını silmek istediğinize emin misiniz? Bunu yaparsanız tüm gönderileri silinecek, e-posta adresi ve IP adresi bloklanacak." + delete_prompt: "<b>%{username}</b> kullanıcısını silmek istediğinize emin misiniz? Bunu yaparsanız tüm gönderileri silinecek, e-posta adresi ve IP adresi engellenecek." approval: title: "Gönderi Onay Gerektirir" description: "Gönderinizi aldık fakat gösterilmeden önce bir moderatör tarafından onaylanması gerekiyor. Lütfen sabırlı olun." pending_posts: - other: "Bekleyen <strong>{{count}}</strong> yazınız bulunmaktadır." + other: "Bekleyen <strong>{{count}}</strong> gönderiniz bulunmaktadır." ok: "Tamam" user_action: user_posted_topic: "<a href='{{userUrl}}'>{{user}}</a> <a href='{{topicUrl}}'>konuyu</a> açtı" @@ -276,12 +276,12 @@ tr_TR: sent_by_user: "<a href='{{userUrl}}'>{{user}}</a> tarafından yollandı" sent_by_you: "<a href='{{userUrl}}'>Sizin</a> tarafınızdan yollandı" directory: - filter_name: "kullanıcı adına göre filtrele" + filter_name: "kullanıcı adına göre süz" title: "Kullanıcılar" likes_given: "Verilen" likes_received: "Alınan" topics_entered: "Görüntülendi" - topics_entered_long: "Konu Görüntülendi" + topics_entered_long: "Görüntülediği Konular" time_read: "Okuma Zamanı" topic_count: "Konular" topic_count_long: "Oluşturulan Konular" @@ -311,7 +311,7 @@ tr_TR: members: "Üyeler" topics: "Konular" posts: "Gönderiler" - mentions: "Atıflar" + mentions: "Bahsetmeler" messages: "Mesajlar" alias_levels: title: "Kimler bu gruba mesaj gönderebilir ve gruptan @bahsedebilir?" @@ -328,7 +328,7 @@ tr_TR: title: "Gözleniyor" description: "Tüm gönderilerdeki her mesaj hakkında bilgilendirileceksiniz ve yeni cevap sayısı gösterilecek." watching_first_post: - title: "İlk gönderi izlemeniz" + title: "İlk Gönderi Gözlemeniz" description: "Bu grupta bulunan tüm konuların sadece ilk gönderilerinde bildirim alacaksınız." tracking: title: "Takip ediliyor" @@ -338,11 +338,11 @@ tr_TR: description: "Birisi @isminizden bahsederse ya da gönderinize cevap verirse bildirim alacaksınız." muted: title: "Susturuldu" - description: "Bu gruptan herhangi yeni konuyla ilgili asla bildirim almayacaksınız" + description: "Bu gruptaki herhangi yeni bir konuyla ilgili asla bildirim almayacaksınız." user_action_groups: '1': "Verilen Beğeniler" '2': "Alınan Beğeniler" - '3': "İşaretlenenler" + '3': "İmlenenler" '4': "Konular" '5': "Cevaplar" '6': "Yanıtlar" @@ -397,20 +397,20 @@ tr_TR: said: "{{username}}:" profile: "Profil" mute: "Sustur" - edit: "Ayarları Düzenle" + edit: "Tercihleri Düzenle" download_archive: "Gönderilerimi İndir" new_private_message: "Yeni Mesaj" private_message: "Mesaj" private_messages: "Mesajlar" activity_stream: "Aktivite" - preferences: "Seçenekler" + preferences: "Tercihler" expand_profile: "Genişlet" - bookmarks: "İşaretlenenler" + bookmarks: "İmlenenler" bio: "Hakkımda" invited_by: "Tarafından Davet Edildi" trust_level: "Güven Seviyesi" notifications: "Bildirimler" - statistics: "İstatistikler" + statistics: "Sayımlar" desktop_notifications: label: "Masaüstü Bildirimleri" not_supported: "Bildirimler bu tarayıcıda desteklenmiyor. Üzgünüz." @@ -420,7 +420,7 @@ tr_TR: disable: "Bildirimleri Devre Dışı Bırakın" enable: "Bildirimleri Etkinleştirin" each_browser_note: "Not: Bu ayarı kullandığınız her tarayıcıda değiştirmelisiniz." - dismiss_notifications: "Tümünü kaldır" + dismiss_notifications: "Tümünü Yoksay" dismiss_notifications_tooltip: "Tüm okunmamış bildirileri okunmuş olarak işaretle" disable_jump_reply: "Cevapladıktan sonra gönderime atlama" dynamic_favicon: "Tarayıcı simgesinde yeni / güncellenen konu sayısını göster" @@ -435,36 +435,36 @@ tr_TR: suspended_notice: "Bu kullanıcı {{tarih}} tarihine kadar uzaklaştırıldı." suspended_reason: "Neden:" github_profile: "Github" - email_activity_summary: "Aktivite özeti" + email_activity_summary: "Etkinlik özeti" mailing_list_mode: label: "Duyuru listesi modu" - enabled: "Duyuru listesi modunu aktifleştir" + enabled: "Duyuru listesi modunu etkinleştir" instructions: | - Bu ayar aktivite özetini geçersiz kılacaktır.<br /> - Sessize alınmış başlıklar ve kategoriler bu e-postalarda yer almaz. + Bu ayar etkinlik özetini geçersiz kılacaktır.<br /> + Susturulmuş konular ve kategoriler bu e-postalarda yer almaz. daily: "Günlük güncellemeleri gönder" - individual: "Her yazı için bir e-posta gönder" - many_per_day: " ({{dailyEmailEstimate}} konusu hakkında) tüm yeni gönderilerde bana mail gönder" - few_per_day: "Her yeni gönderi için bana email gönder ( 2 günlük )" + individual: "Her yeni gönderi için bir e-posta gönder" + many_per_day: "Her yeni gönderi için bir e-posta gönder (günde yaklaşık {{dailyEmailEstimate}})." + few_per_day: "Her yeni gönderi için bana e-posta gönder ( günlük yaklaşık 2 )" tag_settings: "Etiketler" watched_tags: "Gözlendi" - watched_tags_instructions: "Bu etiketlerle tüm konuları otomatik olarak izleyebileceksiniz. Tüm yeni gönderi ve konulardan haberdar olabileceksiniz ve yeni gönderileri konunun yanında görünecektir." - tracked_tags: "Takip edildi" - tracked_tags_instructions: "Bu etiketlerle tüm konuları otomatik olarak izleyebileceksiniz. Yeni gönderiler konunun yanında görünecektir." + watched_tags_instructions: "Bu etiketlerdeki tüm konuları otomatik olarak gözleyeceksiniz. Tüm yeni gönderi ve konulardan haberdar olabilecek ve yeni gönderilerin sayısı da konunun yanında görebileceksiniz." + tracked_tags: "Takipte" + tracked_tags_instructions: "Bu etiketlerdeki tüm konuları otomatik olarak takip edeceksiniz. Yeni gönderilerin sayısını da konunun yanında görebileceksiniz." muted_tags: "Susturuldu" - muted_tags_instructions: "Bu etiketler ile yeni konular hakkında herhangi bir bildiri almayacaksınız ve en son gönderilerde belirmeyecekler." + muted_tags_instructions: "Bu etiketlerdeki yeni konular hakkında herhangi bir bildirim almayacaksınız ve en son gönderilerde de gözükmeyecekler." watched_categories: "Gözlendi" - watched_categories_instructions: "Bu kategorilerdeki konuları otomatik olarak izleyebileceksiniz. Tüm yeni gönderi ve konulardan haberdar olabileceksiniz ve yeni gönderileri konunun yanında görünecektir." - tracked_categories: "Takip edildi" - tracked_categories_instructions: "Bu kategorilerdeki tüm konuları otomatik olarak takip edeceksiniz. Yeni gönderilerin sayısı ilgili konunun yanında belirecek." - watched_first_post_categories: "İlk gönderi izlemeniz" - watched_first_post_categories_instructions: "Bu kategorilerde bulunan tüm konuların ilk gönderilerinde bildirim alacaksınız." - watched_first_post_tags: "İlk gönderi izlemeniz" - watched_first_post_tags_instructions: "Bu etiketlerle her yeni konudaki ilk gönderi için bildirim alacaksınız." + watched_categories_instructions: "Bu kategorilerdeki tüm konuları otomatik olarak gözleyeceksiniz. Tüm yeni gönderi ve konulardan haberdar olabilecek ve yeni gönderilerin sayısı da konunun yanında görebileceksiniz." + tracked_categories: "Takipte" + tracked_categories_instructions: "Bu kategorilerdeki tüm konuları otomatik olarak takip edeceksiniz. Yeni gönderilerin sayısını da konunun yanında görebileceksiniz." + watched_first_post_categories: "İlk gönderi gözlemeniz" + watched_first_post_categories_instructions: "Bu kategorilerdeki tüm yeni konuların ilk gönderilerinde bildirim alacaksınız." + watched_first_post_tags: "İlk gönderi gözlemeniz" + watched_first_post_tags_instructions: "Bu etiketlerdeki her yeni konudaki ilk gönderi için bildirim alacaksınız." muted_categories: "Susturuldu" - muted_categories_instructions: "Bu kategorilerdeki yeni konular hakkında herhangi bir bildiri almayacaksınız ve en son gönderilerde belirmeyecekler. " + muted_categories_instructions: "Bu kategorilerdeki yeni konular hakkında herhangi bir bildiri almayacaksınız ve en son gönderilerde gözükmeyecekler. " delete_account: "Hesabımı Sil" - delete_account_confirm: "Hesabınızı kalıcı olarak silmek istediğinize emin misiniz? Bu işlemi geri alamazsınız!" + delete_account_confirm: "Hesabınızı kalıcı olarak silmek istediğinize emin misiniz? Bu eylemi geri alamazsınız!" deleted_yourself: "Hesabınız başarıyla silindi." delete_yourself_not_allowed: "Hesabınızı şu an silemezsiniz. Hesabınızı silmesi için bir yönetici ile iletişime geçin." unread_message_count: "Mesajlar" @@ -472,19 +472,19 @@ tr_TR: users: "Kullanıcılar" muted_users: "Susturuldu" muted_users_instructions: "Bu kullanıcılardan gelen tüm bildirileri kapa." - muted_topics_link: "Sessize alınmış konuları göster" - watched_topics_link: "Takip edilen konuları göster" + muted_topics_link: "Susturulmuş konuları göster" + watched_topics_link: "Gözlenen konuları göster" automatically_unpin_topics: "En alta ulaşınca otomatik olarak başlıkların tutturulmasını kaldır." apps: "Uygulamalar" revoke_access: "Erişimi İptal Et" undo_revoke_access: "Erişim İptalini Geri Al" - api_permissions: "İzinler" + api_permissions: "İzinler:" api_approved: "Onaylanmış:" api_read: "okuma" api_read_write: "okuma ve yazma" staff_counters: - flags_given: "yararlı bayraklar" - flagged_posts: "bayraklanan gönderiler" + flags_given: "yardımcı bildirimler" + flagged_posts: "bildirilen gönderiler" deleted_posts: "silinen gönderiler" suspensions: "uzaklaştırmalar" warnings_received: "uyarılar" @@ -510,7 +510,7 @@ tr_TR: error: "Bu değeri değiştirirken bir hata oluştu." change_username: title: "Kullanıcı Adını Değiştir" - confirm: "Kullanıcı adınızı değiştirmeniz halinde, eski gönderilerinizden yapılan tüm alıntılar ve @eskiadınızdaki bahsedilenler bozulacak. Bunu yapmak istediğinize gerçekten emin misiniz?" + confirm: "Kullanıcı adınızı değiştirmeniz halinde, eski gönderilerinizden yapılan tüm alıntılar ve @eskiadınızdaki bahsetmeler bozulacak. Bunu yapmak istediğinize gerçekten emin misiniz?" taken: "Üzgünüz, bu kullanıcı adı alınmış." error: "Kullanıcı adınızı değiştirirken bir hata oluştu." invalid: "Bu kullanıcı adı geçersiz. Sadece sayı ve harf içermelidir." @@ -584,7 +584,7 @@ tr_TR: like_notification_frequency: title: "Beğenildiğinde bildir" always: "Her zaman" - first_time_and_daily: "İlk kez bir gönderi günlük olarak beğenildiğinde" + first_time_and_daily: "İlk kez bir gönderi günlük beğenildiğinde" first_time: "İlk ileti beğenisinde" never: "Asla" email_previous_replies: @@ -602,9 +602,9 @@ tr_TR: every_two_weeks: "her iki haftada bir" include_tl0_in_digests: "Yeni kullanıcılardan gelen içeriği özet e-postalarına ekle" email_in_reply_to: "Gönderilere gelen cevapların bir örneğini e-postaya ekle" - email_direct: "Birisi gönderime cevap verdiğinde, benden alıntı yaptığında, @username şeklinde bahsettiğinde ya da beni bir konuya davet ettiğinde bana bir email at" - email_private_messages: "Biri bana mesaj yazdığında bana bir email at" - email_always: "Sitede aktif olduğum sıralarda bile bana e-posta bildirimleri gönder" + email_direct: "Birisi gönderime cevap verdiğinde, benden alıntı yaptığında, @kullaniciadi şeklinde bahsettiğinde ya da beni bir konuya davet ettiğinde bana bir e-posta at" + email_private_messages: "Biri bana mesaj yazdığında bana bir e-posta gönder" + email_always: "Sitede etkin olduğum sıralarda bile bana e-posta bildirimleri gönder" other_settings: "Diğer" categories_settings: "Kategoriler" new_topic_duration: @@ -633,7 +633,7 @@ tr_TR: sent: "Gönderildi" none: "Bekleyen davet yok." truncated: - other: "ilk {{count}} davet gösteriliyor." + other: "İlk {{count}} davet gösteriliyor." redeemed: "Kabul Edilen Davetler" redeemed_tab: "Kabul Edildi" redeemed_tab_with_count: "İtfa edilmiş ({{count}})" @@ -642,7 +642,7 @@ tr_TR: pending_tab: "Bekleyen" pending_tab_with_count: "Beklemede ({{count}})" topics_entered: "Görüntülenmiş Konular" - posts_read_count: "Okunmuş Yazılar" + posts_read_count: "Okunmuş Gönderiler" expired: "Bu davetin süresi doldu." rescind: "Kaldır" rescinded: "Davet kaldırıldı" @@ -652,7 +652,7 @@ tr_TR: reinvited_all: "Tüm davetler tekrar gönderildi!" time_read: "Okunma Zamanı" days_visited: "Ziyaret Edilen Günler" - account_age_days: "Gün içinde Hesap yaş" + account_age_days: "Hesabın gün olarak yaşı" create: "Davet Yolla" generate_link: "Davet bağlantısını kopyala" generated_link_message: '<p>Davet bağlantısı başarılı bir şekilde oluşturuldu!</p><p><input class="invite-link-input" style="width: 75%;" type="text" value="%{inviteLink}"></p><p>Davet bağlantısı sadece bu e-posta adresi için geçerlidir: <b>%{invitedEmail}</b></p>' @@ -666,18 +666,18 @@ tr_TR: title: "Parola" too_short: "Parolanız çok kısa." common: "Bu parola çok yaygın." - same_as_username: "Şifreniz kullanıcı adınızla aynı." - same_as_email: "Şifreniz e-posta adresinizle aynı." + same_as_username: "Parolanız kullanıcı adınızla aynı." + same_as_email: "Parolanız e-posta adresinizle aynı." ok: "Parolanız uygun gözüküyor." instructions: "En az %{count} karakter." summary: title: "Özet" - stats: "İstatistikler" - time_read: "okunma süresi" + stats: "Sayımlar" + time_read: "okuma süresi" topic_count: other: "oluşturulan konular" post_count: - other: "oluşturmuş gönderiler" + other: "oluşturulan gönderiler" likes_given: other: "<i class='fa fa-heart'></i> verilen" likes_received: @@ -685,11 +685,11 @@ tr_TR: days_visited: other: "ziyaret edilen günler" posts_read: - other: "okunmuş yazılar" + other: "okunmuş gönderiler" bookmark_count: - other: "yer imleri" + other: "imler" top_replies: "Başlıca Cevapları" - no_replies: "Henüz yanıt bulunmuyor." + no_replies: "Henüz cevap bulunmuyor." more_replies: "Diğer Cevapları" top_topics: "Başlıca Konuları" no_topics: "Henüz konu bulunmuyor." @@ -699,9 +699,9 @@ tr_TR: more_badges: "Diğer Rozetleri" top_links: "Önemli Bağlantılar" no_links: "Henüz bir bağlantı bulunmuyor." - most_liked_by: "Tarafından en çok beğenilen" + most_liked_by: "En Çok Beğenen" most_liked_users: "Popüler Beğenmeler" - most_replied_to_users: "En çok cevaplanan" + most_replied_to_users: "En Çok Cevaplanan" no_likes: "Henüz bir beğeni bulunmuyor." associated_accounts: "Girişler" ip_address: @@ -710,7 +710,7 @@ tr_TR: title: "Kayıt Anındaki IP Adresi" avatar: title: "Profil Görseli" - header_title: "profil, mesajlar, işaretliler ve seçenekler" + header_title: "profil, mesajlar, imler ve tercihler" title: title: "Başlık" filters: @@ -741,16 +741,16 @@ tr_TR: again: "Tekrar Deneyin" fixed: "Sayfayı Yükle" close: "Kapat" - assets_changed_confirm: "Bu site yeni versiyona güncellendi. Son hali için sayfayı yenilemek ister misiniz?" + assets_changed_confirm: "Bu site yeni sürüme güncellendi. Son hali için sayfayı yenilemek ister misiniz?" logout: "Çıkış yapıldı." refresh: "Yenile" read_only_mode: - enabled: "Bu site yalnızca okunur modunda. Lütfen gezinmeye devam edin, ancak yanıt yazma, beğenme ve diğer aksiyonlar şu an için devre dışı." - login_disabled: "Site salt-okunur modda iken oturum açma devre dışı bırakılır ." + enabled: "Bu site yalnızca okunur modunda. Lütfen gezinmeye devam edin, ancak cevap yazma, beğenme ve diğer eylemler şu an için devre dışı." + login_disabled: "Site yalnızca okunur modda iken oturum açma devre dışı bırakılır ." logout_disabled: "Site yalnızca okunur modunda iken oturum kapatma işlemi yapılamaz." - too_few_topics_and_posts_notice: "Hadi <a href='http://blog.discourse.org/2014/08/building-a-discourse-community/'>bu tartışmayı başlatalım!</a> Şu anda <strong>%{currentTopics} / %{requiredTopics}</strong> konu ve <strong>%{currentPosts} / %{requiredPosts}</strong> gönderi var. Yeni ziyaretçiler okumak ve cevaplamak için birkaç tartışmaya ihtiyaç duyarlar." - too_few_topics_notice: "Hadi <a href='http://blog.discourse.org/2014/08/building-a-discourse-community/'>bu tartışmayı başlatalım!</a> Şu anda <strong>%{currentTopics} / %{requiredTopics}</strong> konu var. Yeni ziyaretçiler okumak ve cevaplamak için birkaç tartışmaya ihtiyaç duyarlar." - too_few_posts_notice: "Hadi <a href='http://blog.discourse.org/2014/08/building-a-discourse-community/'>bu tartışmayı başlatalım!</a> Şu anda <strong>%{currentPosts} / %{requiredPosts}</strong> gönderi var. Yeni ziyaretçiler okumak ve cevaplamak için birkaç tartışmaya ihtiyaç duyarlar." + too_few_topics_and_posts_notice: "Hadi <a href='http://blog.discourse.org/2014/08/building-a-discourse-community/'>bu tartışmayı başlatalım!</a> Şu anda <strong>%{currentTopics} / %{requiredTopics}</strong> konu ve <strong>%{currentPosts} / %{requiredPosts}</strong> gönderi var. Yeni ziyaretçiler okumak ve yanıtlamak için birkaç tartışmaya ihtiyaç duyarlar." + too_few_topics_notice: "Hadi <a href='http://blog.discourse.org/2014/08/building-a-discourse-community/'>bu tartışmayı başlatalım!</a> Şu anda <strong>%{currentTopics} / %{requiredTopics}</strong> konu var. Yeni ziyaretçiler okumak ve yanıtlamak için birkaç tartışmaya ihtiyaç duyarlar." + too_few_posts_notice: "Hadi <a href='http://blog.discourse.org/2014/08/building-a-discourse-community/'>bu tartışmayı başlatalım!</a> Şu anda <strong>%{currentPosts} / %{requiredPosts}</strong> gönderi var. Yeni ziyaretçiler okumak ve yanıtlamak için birkaç tartışmaya ihtiyaç duyarlar." logs_error_rate_notice: reached: "<b>%{relativeAge}</b> – <a href='%{url}' target='_blank'>%{rate}</a> , %{siteSettingRate} 'in site ayarları limitine ulaştı." exceeded: "<b>%{relativeAge}</b> – <a href='%{url}' target='_blank'>%{rate}</a> , %{siteSettingRate} 'in site ayarları limitini aştı." @@ -774,16 +774,16 @@ tr_TR: replies_lowercase: other: cevap signup_cta: - sign_up: "Üye Ol" + sign_up: "Kayıt Ol" hide_session: "Yarın bana hatırlat" hide_forever: "hayır teşekkürler" - hidden_for_session: "Tamamdır, yarın tekrar soracağım. İstediğiniz zaman 'Giriş' yaparak da hesap oluşturabilirsiniz." - intro: "Nabersin! :heart_eyes: Görüneşe göre tartışmaların keyfini çıkaryorsun, fakat henüz bir hesap almak için kayıt olmamışsın." - value_prop: "Bir hesap oluşturduğunuzda, tam olarak neyi okuyor olduğunuzu hatırlarız, böylece her zaman okumayı bırakmış olduğunuz yere geri gelirsiniz. Ayrıca burada, yeni gönderiler yağıldığında email yoluyla bildirim alırsınız. Ve sevgiyi paylaşmak için gönderileri beğenebilirsiniz. :heartbeat:" + hidden_for_session: "Tamamdır, yarın tekrar soracağım. İstediğiniz zaman 'Giriş' kısmını kullanarak da hesap oluşturabilirsiniz." + intro: "Hey naber! :heart_eyes: Görünüşe göre tartışmaların keyfini çıkarıyorsun, fakat henüz bir hesap almak için kayıt olmamışsın." + value_prop: "Bir hesap oluşturduğunuzda, tam olarak neyi okuyor olduğunuzu hatırlarız, böylece her zaman okumayı bırakmış olduğunuz yere geri gelirsiniz. Ayrıca burada, yeni gönderiler yığıldığında e-posta yoluyla bildirim alırsınız. Ve sevgiyi paylaşmak için gönderileri beğenebilirsiniz. :heartbeat:" summary: enabled_description: "Bu konunun özetini görüntülemektesiniz: topluluğun en çok ilgisini çeken gönderiler" - description: "<b>{{replyCount}}</b> adet yanıt var." - description_time: "Tahmini okuma süresi <b>{{readingTime}} dakika</b> olan <b>{{replyCount}}</b> yanıt var." + description: "<b>{{replyCount}}</b> adet cevap var." + description_time: "Tahmini okuma süresi <b>{{readingTime}} dakika</b> olan <b>{{replyCount}}</b> cevap var." enable: 'Bu Konuyu Özetle.' disable: 'Tüm Gönderileri Göster' deleted_filter: @@ -837,9 +837,9 @@ tr_TR: not_allowed_from_ip_address: "Bu IP adresiyle oturum açamazsınız." admin_not_allowed_from_ip_address: "Bu IP adresinden yönetici olarak oturum açamazsınız." resend_activation_email: "Etkinleştirme e-postasını tekrar yollamak için buraya tıklayın. " - sent_activation_email_again: "<b>{{currentEmail}}</b> adresine yeni bir etkinleştirme e-postası yolladık. Bu e-postanın size ulaşması bir kaç dakika sürebilir; spam klasörüzü kontrol etmeyi unutmayın." + sent_activation_email_again: "<b>{{currentEmail}}</b> adresine yeni bir etkinleştirme e-postası yolladık. Bu e-postanın size ulaşması bir kaç dakika sürebilir; istenmeyen klasörüzü kontrol etmeyi unutmayın." to_continue: "Lütfen Giriş Yap" - preferences: "Seçeneklerinizi değiştirebilmek için giriş yapmanız gerekiyor." + preferences: "Tercihlerinizi değiştirebilmek için giriş yapmanız gerekiyor." forgot: "Hesap bilgilerimi hatırlamıyorum" google: title: "Google ile" @@ -893,7 +893,7 @@ tr_TR: drafts_offline: "çevrimdışı taslaklar" group_mentioned: other: "{{group}} hakkında konuşarak <a href='{{group_link}}'>{{count}} kişiyi</a> bilgilendirmek üzeresin, emin misin?" - duplicate_link: "It looks like your link to <b>{{etki_alanı}}</b> 'nına bağlanan linkiniz <b>@{{kullanıcı_adı}}</b> tarafından <a href='{{post_url}}'>a yanıtı içerisinde çoktan yayınlanmış görünüyor. {{önce}}</a> – tekrar yayınlamak istediğinize emin misiniz?" + duplicate_link: "Görünüşe göre <b>{{domain}}</b> alan adına bağlanan bağlantınız <b>@{{username}}</b> tarafından <a href='{{post_url}}'>a cevabı içerisinde {{ago}} yayınlanmış görünüyor. </a> – tekrar yayınlamak istediğinize emin misiniz?" error: title_missing: "Başlık gerekli" title_too_short: "Başlık en az {{min}} karakter olmalı" @@ -969,9 +969,9 @@ tr_TR: notifications: title: "@isim bahsedilişleri, gönderileriniz ve konularınıza verilen cevaplar, mesajlarla vb. ilgili bildiriler" none: "Şu an için bildirimler yüklenemiyor." - empty: "Bildirim Yok" + empty: "Bildirim yok." more: "daha eski bildirimleri görüntüle" - total_flagged: "tüm bayraklanan gönderiler" + total_flagged: "toplam bildirilen gönderiler" mentioned: "<i title='bahsetti' class='fa fa-at'></i><p><span>{{username}}</span> {{description}}</p>" group_mentioned: "<i title='bahsetti' class='fa fa-at'></i><p><span>{{username}}</span> {{description}}</p>" quoted: "<i title='alıntıladı' class='fa fa-quote-right'></i><p><span>{{username}}</span> {{description}}</p>" @@ -1024,7 +1024,7 @@ tr_TR: remote_tip_with_attachments: "dosya ya da resim bağlantısı {{authorized_extensions}}" local_tip: "cihazınızdan resimler seçin" local_tip_with_attachments: "cihazınızdan resim ya da dosya seçin {{authorized_extensions}}" - hint: "(editöre sürekle & bırak yaparak da yükleyebilirsiniz)" + hint: "(düzenleyiciye sürekle & bırak yaparak da yükleyebilirsiniz)" hint_for_supported_browsers: "ayrıca resimleri düzenleyiciye sürükleyip bırakabilir ya da yapıştırabilirsiniz" uploading: "Yükleniyor" select_file: "Dosya seçin" @@ -1039,7 +1039,7 @@ tr_TR: clear_all: "Tümünü Temizle" too_short: "Aradığın terim çok kısa." result_count: - other: "<span class='term'>\"{{term}}\"</span> için sonuçlar {{count}}" + other: "<span class='term'>\"{{term}}\"</span> için {{count}} sonuç " title: "konu, gönderi, kullanıcı veya kategori ara" no_results: "Hiç bir sonuç bulunamadı." no_more_results: "Başka sonuç yok." @@ -1054,7 +1054,7 @@ tr_TR: hamburger_menu: "bir diğer konu ya da kategoriye git" new_item: "yeni" go_back: 'geri dön' - not_logged_in_user: 'güncel aktivitelerin ve ayarların özetinin bulunduğu kullanıcı sayfası' + not_logged_in_user: 'güncel aktivitelerin ve tercihlerin özetinin bulunduğu kullanıcı sayfası' current_user: 'kendi kullanıcı sayfana git' topics: bulk: @@ -1064,11 +1064,11 @@ tr_TR: dismiss: "Yoksay" dismiss_read: "Okumadıklarını yoksay" dismiss_button: "Yoksay..." - dismiss_tooltip: "Yeni gönderileri görmezden gel ya da konuları izlemeyi bırak" - also_dismiss_topics: "Bana, tekrar okunmamış olarak gösterilmemesi için bu konuları izlemeyi bırak." + dismiss_tooltip: "Yeni gönderileri görmezden gel ya da konuları takip etmeyi bırak" + also_dismiss_topics: "Bana, tekrar okunmamış olarak gösterilmemesi için bu konuları takip etmeyi bırak." dismiss_new: "Yenileri Yoksay" toggle: "konuların toplu seçimini aç/kapa" - actions: "Toplu İşlemler" + actions: "Toplu Eylemler" change_category: "Kategoriyi Değiştir" close_topics: "Konuları Kapat" archive_topics: "Konuları Arşivle" @@ -1086,13 +1086,13 @@ tr_TR: posted: "Henüz herhangi bir konuda gönderi oluşturmadınız." latest: "Son bir konu yok. Bu üzücü." hot: "Sıcak bir konu yok." - bookmarks: "Henüz bir konu işaretlememişsiniz." + bookmarks: "Henüz bir konu imlememişsiniz." category: "{{category}} konusu yok." top: "Popüler bir konu yok." search: "Arama sonuçları yok." educate: - new: '<p>Yeni konularınız burada görünecektir.</p><p>Öntanımlı olarak son 2 gün içerisinde oluşturulmuş konular yeni olarak nitelendirilir ve <span class="badge new-topic badge-notification" style="vertical-align:middle;line-height:inherit;">yeni</span> ibaresiyle işeretli olarak gösterilir.</p><p> <a href="%{userPrefsUrl}">ayarlar</a> sayfanızı ziyaret ederek bunu değiştirebilirsiniz.</p>' - unread: '<p>Okunmamış konularınız burada görünecektir.</p><p>Öntanımlı olarak, topics are considered unread and will show unread counts <span class="badge new-posts badge-notification">1</span> if you:</p><ul><li>Konu oluşturduysanız</li><li>Konuya cevap verdiyseniz</li><li>Konuyu 4 dakikadan fazla okuduysanız</li></ul><p>Or if you have explicitly set the topic to Tracked or Watched via the notification control at the bottom of each topic.</p><p><a href="%{userPrefsUrl}">ayarlar</a> sayfanızı ziyaret ederek bunu değiştirebilirsiniz.</p>' + new: '<p>Yeni konularınız burada görünecektir.</p><p>Öntanımlı olarak son 2 gün içerisinde oluşturulmuş konular yeni olarak nitelendirilir ve <span class="badge new-topic badge-notification" style="vertical-align:middle;line-height:inherit;">yeni</span> ibaresiyle işaretli olarak gösterilir.</p><p> <a href="%{userPrefsUrl}">tercihler</a> sayfanızı ziyaret ederek bunu değiştirebilirsiniz.</p>' + unread: '<p>Okunmamış konularınız burada görünecektir.</p><p>Öntanımlı olarak, konuların okunmamış sayılması ve kaç tane okunmamış mesaj olduğunun gösterilmesi için <span class="badge new-posts badge-notification">1</span> şunlar gerekir :</p><ul><li>Konuyu oluşturduysanız</li><li>Konuya cevap verdiyseniz</li><li>Konuyu 4 dakikadan fazla okuduysanız</li></ul><p>Veya konuyu, her konunun altında bulunan bildirim kontrol alanından Gözleniyor veya Takip Ediliyor olarak seçtiyseniz.</p><p><a href="%{userPrefsUrl}">tercihler</a> sayfanızı ziyaret ederek bunu değiştirebilirsiniz.</p>' bottom: latest: "Daha fazla son konu yok." hot: "Daha fazla sıcak bir konu yok." @@ -1102,7 +1102,7 @@ tr_TR: unread: "Daha fazla okunmamış konu yok." category: "Daha fazla {{category}} konusu yok." top: "Daha fazla popüler konu yok" - bookmarks: "Daha fazla işaretlenmiş konu yok." + bookmarks: "Daha fazla imlenmiş konu yok." search: "Daha fazla arama sonucu yok." topic: unsubscribe: @@ -1175,16 +1175,16 @@ tr_TR: go_bottom: "en alt" go: "git" jump_bottom: "son gönderiye geç" - jump_prompt: "Gönderiye git" - jump_prompt_long: "Hangi gönderiye geçmek istersin?" + jump_prompt: "gönderiye git" + jump_prompt_long: "Hangi gönderiye gitmek istersin?" jump_bottom_with_number: "%{post_number} numaralı gönderiye geç" total: tüm gönderiler current: şu anki gönderi notifications: - title: bu konu hakkında ne sıklıkla bildirim almak istediğini değiştir + title: bu konu hakkında ne sıklıkla bildirim alacağını değiştir reasons: mailing_list_mode: "e-posta liste modunu etkinleştirdin, böylece bu konuya gelen cevaplarla ilgili bildirimleri e-posta yoluyla alabileceksin. " - '3_10': 'Bu konuyla ilgili bir etiketi izlediğin için bildirim alacaksın.' + '3_10': 'Bu konuyla ilgili bir etiketi gözlediğin için bildirim alacaksın.' '3_6': 'Bu kategoriyi gözlediğiniz için bildirimlerini alacaksınız.' '3_5': 'Bu konuyu otomatik olarak gözlemeye başladığınız için bildirimlerini alacaksınız.' '3_2': 'Bu konuyu gözlediğiniz için bildirimlerini alacaksınız.' @@ -1222,7 +1222,7 @@ tr_TR: description: "Bu mesajlaşmayla ilgili hiç bir bildirim almayacaksınız." muted: title: "Susturuldu" - description: "Bu konu en son gönderilerde belirmeyecek, ve hakkında hiçbir bildirim almayacaksınız." + description: "Bu konu en son gönderilerde gözükmeyecek, ve hakkında hiçbir bildirim almayacaksınız." actions: recover: "Konuyu Geri Getir" delete: "Konuyu Sil" @@ -1238,7 +1238,7 @@ tr_TR: visible: "Görünür Yap" reset_read: "Görüntüleme Verilerini Sıfırla" make_public: "Herkese Açık Konu Yap" - make_private: "Özel mesaj oluştur" + make_private: "Özel Mesaj Oluştur" feature: pin: "Başa Tuttur" unpin: "Baştan Kaldır" @@ -1255,9 +1255,9 @@ tr_TR: title: 'Paylaş' help: 'bu konunun bağlantısını paylaşın' flag_topic: - title: 'Bayrakla' - help: 'bu gönderiyi kontrol edilmesi için özel olarak bayraklayın ya da bununla ilgili özel bir bildirim yollayın' - success_message: 'Bu konuyu başarıyla bayrakladınız.' + title: 'Bildir' + help: 'bu gönderiyi kontrol edilmesi için özel olarak bildirin ya da bununla ilgili özel bir bildirim yollayın' + success_message: 'Bu konuyu başarıyla bildirdiniz.' feature_topic: title: "Bu konuyu ön plana çıkar" pin: "Şu zamana kadar bu konunun {{categoryLink}} kategorisinin başında görünmesini sağla" @@ -1265,7 +1265,7 @@ tr_TR: unpin: "Bu konuyu {{categoryLink}} kategorisinin en üstünden kaldır." unpin_until: "Bu konuyu {{categoryLink}} kategorisinin başından kaldır ya da şu zamana kadar bekle: <strong>%{until}</strong>." pin_note: "Kullanıcılar kendileri için konunun başa tutturulmasını kaldırabilir." - pin_validation: "Bu konuyu sabitlemek için bir tarih gerekli." + pin_validation: "Bu konuyu başa tutturmak için bir tarih gerekli." not_pinned: " {{categoryLink}} kategorisinde başa tutturulan herhangi bir konu yok." already_pinned: other: "Şu an {{categoryLink}} kategorisinde başa tutturulan konular: <strong class='badge badge-notification unread'>{{count}}</strong>." @@ -1283,7 +1283,7 @@ tr_TR: no_banner_exists: "Manşet konusu yok." banner_exists: "Şu an bir manşet konusu <strong class='badge badge-notification unread'>var</strong>." inviting: "Davet Ediliyor..." - automatically_add_to_groups: "Bu davet aynı zamanda bu gruplara giriş sağlar:" + automatically_add_to_groups: "Bu davet aynı zamanda bu gruplara erişim izni sağlar:" invite_private: title: 'Mesajlaşmaya Davet Et' email_or_username: "Davet edilenin e-postası ya da kullanıcı adı" @@ -1302,7 +1302,7 @@ tr_TR: to_forum: "Arkadaşınıza, oturum açması gerekmeden, bir bağlantıya tıklayarak katılabilmesi için kısa bir e-posta göndereceğiz. " sso_enabled: "Bu konuya davet etmek istediğiniz kişinin kullanıcı adını girin." to_topic_blank: "Bu konuya davet etmek istediğiniz kişinin kullanıcı adını veya e-posta adresini girin." - to_topic_email: "Bir email adresi girdiniz. Arkadaşınızın konuya hemen cevap verebilmesini sağlayacak bir davetiye e-postalayacağız." + to_topic_email: "Bir e-posta adresi girdiniz. Arkadaşınızın konuya hemen cevap verebilmesini sağlayacak bir davetiye e-postalayacağız." to_topic_username: "Bir kullanıcı adı girdiniz. Kullanıcıya, bu konuya davet bağlantısı içeren bir bildiri yollayacağız." to_username: "Davet etmek istediğiniz kişinin kullanıcı adını girin. Kullanıcıya, bu konuya davet bağlantısı içeren bir bildiri yollayacağız." email_placeholder: 'isim@örnek.com' @@ -1370,13 +1370,13 @@ tr_TR: show_full: "Gönderinin Tamamını Göster" show_hidden: 'Gizlenmiş içeriği görüntüle.' deleted_by_author: - other: "(yazarı tarafından geri alınan gönderi, bayraklanmadığı takdirde %{count} saat içinde otomatik olarak silinecek.)" + other: "(yazarı tarafından geri alınan gönderi, bildirilmediği takdirde %{count} saat içinde otomatik olarak silinecek.)" expand_collapse: "aç/kapat" gap: other: "gizlenen {{count}} yorumu gör" unread: "Gönderi okunmamış" has_replies: - other: "{{count}} Yanıt" + other: "{{count}} Cevap" has_likes: other: "{{count}} Beğeni" has_likes_title: @@ -1388,7 +1388,7 @@ tr_TR: create: "Üzgünüz, gönderiniz oluşturulurken bir hata oluştu. Lütfen tekrar deneyin." edit: "Üzgünüz, gönderiniz düzenlenirken bir hata oluştu. Lütfen tekrar deneyin. " upload: "Üzgünüz, dosya yüklenirken bir hata oluştu. Lütfen tekrar deneyin." - file_too_large: "Üzgünüz, bu dosya çok büyük (maximum size is {{max_size_kb}}kb) Niçin büyük boyutlu dosyanı bir paylaşım servisine yükleyip, sonra bağlantını paylaşmıyorsun ?" + file_too_large: "Üzgünüz, bu dosya çok büyük (en fazla {{max_size_kb}}kb). Neden büyük boyutlu dosyanı bir paylaşım servisine yükleyip, sonra bağlantını paylaşmıyorsun ?" too_many_uploads: "Üzgünüz, aynı anda birden fazla dosya yükleyemezsiniz." too_many_dragged_and_dropped_files: "Üzgünüz, aynı anda 10'dan fazla dosya yükleyemezsiniz." upload_not_authorized: "Üzgünüz, yüklemeye çalıştığınız dosya tipine izin verilmiyor. (izin verilen uzantılar: {{authorized_extensions}})." @@ -1414,7 +1414,7 @@ tr_TR: undo_like: "beğenmekten vazgeç" edit: "bu gönderiyi düzenle" edit_anonymous: "Üzgünüz, ama bu gönderiyi düzenleyebilmek için oturum açmalısınız." - flag: "bu gönderiyi kontrol edilmesi için özel olarak bayraklayın ya da bununla ilgili özel bir bildirim yollayın" + flag: "bu gönderiyi kontrol edilmesi için özel olarak bildirin ya da bununla ilgili özel bir bildirim yollayın" delete: "bu gönderiyi sil" undelete: "bu gönderinin silinmesini geri al" share: "bu gönderinin bağlantısını paylaşın" @@ -1424,73 +1424,73 @@ tr_TR: other: "Bu gönderiye verilen {{count}} direk cevabı da silmek istiyor musunuz?" yes_value: "Evet, cevapları da sil" no_value: "Hayır, sadece bu gönderiyi" - admin: "gönderiyle alakalı yönetici işlemleri" + admin: "gönderiyle alakalı yönetici eylemleri" wiki: "Wiki Yap" unwiki: "Wiki'yi Kaldır" convert_to_moderator: "Görevli Rengi Ekle" revert_to_regular: "Görevli Rengini Kaldır" rebake: "HTML'i Yeniden Yapılandır" unhide: "Gizleme" - change_owner: "sahipliğini değiştir" + change_owner: "Sahipliğini Değiştir" actions: - flag: 'Bayrakla' + flag: 'Bildir' defer_flags: - other: "Bayrağı ertele" + other: "Bildirimi ertele" undo: - off_topic: "Bayrağı geri al" - spam: "Bayrağı geri al" - inappropriate: "Bayrağı geri al" - bookmark: "İşareti geri al" + off_topic: "Bildirimi geri al" + spam: "Bildirimi geri al" + inappropriate: "Bildirimi geri al" + bookmark: "İmlemeyi geri al" like: "Beğenini geri al" vote: "Oyunu geri al" people: - off_topic: "konu dışı olarak bayrakladı" - spam: "spam olarak bayrakladı" - inappropriate: "uygunsuz olarak bayrakladı" + off_topic: "konu dışı olarak bildirildi" + spam: "istenmeyen olarak bildirildi" + inappropriate: "uygunsuz olarak bildirildi" notify_moderators: "moderatörler bilgilendirdi" notify_user: "mesaj gönderdi" - bookmark: "işaretledi" + bookmark: "imlendi" like: "beğendi" vote: "oyladı" by_you: - off_topic: "Bunu konu dışı olarak bayrakladınız" - spam: "Bunu spam olarak bayrakladınız" - inappropriate: "Bunu uygunsuz olarak bayrakladınız" - notify_moderators: "Bunu moderasyon için bayrakladınız" + off_topic: "Bunu konu dışı olarak bildirdiniz" + spam: "Bunu istenmeyen olarak bildirdiniz" + inappropriate: "Bunu uygunsuz olarak bildirdiniz" + notify_moderators: "Bunu moderasyon için bildirdiniz" notify_user: "Bu kullanıcıya mesaj yolladınız" - bookmark: "Bu gönderiyi işaretlediniz" + bookmark: "Bu gönderiyi imlediniz" like: "Bunu beğendiniz" vote: "Bu gönderiyi oyladınız" by_you_and_others: off_topic: - other: "Siz ve {{count}} diğer kişi bunu konu dışı olarak bayrakladı" + other: "Siz ve {{count}} diğer kişi bunu konu dışı olarak bildirdi" spam: - other: "Siz ve {{count}} diğer kişi bunu spam olarak bayrakladı" + other: "Siz ve {{count}} diğer kişi bunu istenmeyen olarak bildirdi" inappropriate: - other: "Siz ve {{count}} diğer kişi bunu uygunsuz olarak bayrakladı" + other: "Siz ve {{count}} diğer kişi bunu uygunsuz olarak bildirdi" notify_moderators: - other: "Siz ve {{count}} diğer kişi bunu denetlenmesi için bayrakladı" + other: "Siz ve {{count}} diğer kişi bunu denetlenmesi için bildirdi" notify_user: other: "Siz ve {{count}} diğer kişi bu kullanıcıya mesaj yolladı" bookmark: - other: "Siz ve {{count}} diğer kişi bu gönderiyi işaretledi" + other: "Siz ve {{count}} diğer kişi bu gönderiyi imledi" like: other: "Siz ve {{count}} başka kişi bunu beğendi" vote: other: "Siz ve {{count}} kişi bu gönderiyi oyladı" by_others: off_topic: - other: "{{count}} kişi bunu konu dışı olarak bayrakladı" + other: "{{count}} kişi bunu konu dışı olarak bildirdi" spam: - other: "{{count}} kişi bunu spam olarak bayrakladı" + other: "{{count}} kişi bunu istenmeyen olarak bildirdi" inappropriate: - other: "{{count}} kişi bunu uygunsuz olarak bayrakladı" + other: "{{count}} kişi bunu uygunsuz olarak bildirdi" notify_moderators: - other: "{{count}} kişi bunu moderasyon için bayrakladı" + other: "{{count}} kişi bunu moderasyon için bildirdi" notify_user: other: "{{count}} bu kullanıcıya mesaj yolladı" bookmark: - other: "{{count}} kişi bu gönderiyi işaretledi" + other: "{{count}} kişi bu gönderiyi imledi" like: other: "{{count}} kişi bunu beğendi" vote: @@ -1500,7 +1500,7 @@ tr_TR: other: "Tüm bu gönderileri silmek istediğinize emin misiniz?" merge: confirm: - other: "{{sayı}} sayıdaki bu gönderileri birleştirmek istediğinize emin misiniz?" + other: "{{count}} adet gönderiyi birleştirmek istediğinize emin misiniz?" revisions: controls: first: "İlk revizyon" @@ -1583,22 +1583,22 @@ tr_TR: notifications: watching: title: "Gözleniyor" - description: "Bu kategorilerdeki tüm yeni konuları otomatik olarak gözleyeceksiniz. Tüm yeni gönderi ve konular size bildirilecek. Ayrıca, okunmamış ve yeni gönderilerin sayısı ilgili konunun yanında belirecek." + description: "Bu kategorilerdeki tüm konuları otomatik olarak gözleyeceksiniz. Tüm konulardaki yeni gönderilerden haberdar olabilecek ve yeni cevapların sayısını da konunun yanında görebileceksiniz." watching_first_post: - title: "İlk gönderi izlemeniz" + title: "İlk gönderi gözlemeniz" description: "Bu kategorilerde bulunan tüm konuların sadece ilk gönderilerinde bildirim alacaksınız." tracking: title: "Takip Ediliyor" - description: "Bu kategorilerdeki tüm yeni konuları otomatik olarak gözleyeceksiniz. Biri @isim şeklinde sizden bahsederse ya da gönderinize cevap verirse bildirim alacaksınız. Ayrıca, okunmamış ve yeni cevapların sayısı ilgili konunun yanında belirecek." + description: "Bu kategorilerdeki tüm yeni konuları otomatik olarak takip edeceksiniz. Biri @isim şeklinde sizden bahsederse ya da gönderinize cevap verirse bildirim alacak, ayrıca yeni cevapların sayısını da konunun yanında görebileceksiniz." regular: title: "Normal" description: "Birisi @isim şeklinde sizden bahsederse ya da gönderinize cevap verirse bildirim alacaksınız." muted: title: "Susturuldu" - description: "Bu kategorilerdeki yeni konular hakkında herhangi bir bildiri almayacaksınız ve en son gönderilerde belirmeyecekler. " + description: "Bu kategorilerdeki yeni konular hakkında herhangi bir bildiri almayacaksınız ve en son gönderilerde gözükmeyecekler. " flagging: title: 'Topluluğumuzun medeni kalmasına yardımcı olduğunuz için teşekkürler!' - action: 'Gönderiyi Bayrakla' + action: 'Gönderiyi Bildir' take_action: "Harekete Geç" notify_action: 'Mesaj' official_warning: 'Resmi uyarı' @@ -1606,14 +1606,14 @@ tr_TR: yes_delete_spammer: "Evet, spamcıyı sil" ip_address_missing: "(uygulanamaz)" hidden_email_address: "(gizli)" - submit_tooltip: "Özel bayrağı gönder" - take_action_tooltip: "Topluluğunuzdan daha fazla bayrak beklemek yerine bunu siz hızlıca yaparak eşiğe erişebilirsiniz" - cant: "Üzgünüz, şu an bu gönderiyi bayraklayamazsınız." - notify_staff: 'Yetkililere özel olarak bildir' + submit_tooltip: "Özel bildirimi gönder" + take_action_tooltip: "Topluluğunuzdan daha fazla bildirim beklemek yerine bunu siz hızlıca yaparak eşiğe erişebilirsiniz" + cant: "Üzgünüz, şu an bu gönderiyi bildiremezsiniz." + notify_staff: 'Görevlilere özel olarak bildir' formatted_name: off_topic: "Konu Dışı" inappropriate: "Uygunsuz" - spam: "Spam" + spam: "İstenmeyen" custom_placeholder_notify_user: "Açıklayıcı, yapıcı ve her zaman nazik olun." custom_placeholder_notify_moderators: "Sizi neyin endişelendirdiğini açıklayıcı bir dille bize bildirin ve mümkün olan yerlerde konu ile alakalı bağlantıları paylaşın." custom_message: @@ -1625,13 +1625,13 @@ tr_TR: other: "{{count}} kaldı" flagging_topic: title: "Topluluğumuzun medeni kalmasına yardımcı olduğunuz için teşekkürler!" - action: "Konuyu Bayrakla" + action: "Konuyu Bildir" notify_action: "Mesaj" topic_map: title: "Konu Özeti" participants_title: "Sıkça Yazanlar" links_title: "Popüler bağlantılar" - links_shown: "Daha fazla bağlantı göster" + links_shown: "daha fazla bağlantı göster..." clicks: other: "%{count} tıklama" post_links: @@ -1642,7 +1642,7 @@ tr_TR: warning: help: "Bu resmi bir uyarıdır." bookmarked: - help: "Bu konuyu işaretlediniz" + help: "Bu konuyu imlediniz" locked: help: "Bu konu kapatıldı; artık yeni cevaplar kabul edilmiyor" archived: @@ -1663,11 +1663,11 @@ tr_TR: posts: "Gönderi" posts_long: "bu konuda {{number}} gönderi var" posts_likes_MF: | - Bu konuda {count, plural, one {1} other {#}} {ratio, select, - low {beğeni/gönderi oranı yüksek cevap} - med {beğeni/gönderi oranı çok yüksek cevap} - high {beğeni/gönderi oranı aşırı yüksek cevap} - other {}} var + Bu konuda {count, plural, one {1 cevap} other {# cevap}} {ratio, select, + low {ve yüksek beğeni/gönderi oranı} + med {ve çok yüksek beğeni/gönderi oranı} + high {ve aşırı yüksek beğeni/gönderi oranı} + other {}}var original_post: "Orijinal Gönderi" views: "Gösterim" views_lowercase: @@ -1729,8 +1729,8 @@ tr_TR: title: "Gönderilerim" help: "gönderi oluşturduğunuz konular" bookmarks: - title: "İşaretlenenler" - help: "işaretlediğiniz konular" + title: "İmler" + help: "imlerinize aldığınız konular" category: title: "{{categoryName}}" title_with_count: @@ -1766,18 +1766,18 @@ tr_TR: lightbox: download: "indir" search_help: - title: 'Arama yardım' + title: 'Arama yardımı' keyboard_shortcuts_help: title: 'Klavye Kısayolları' jump_to: title: 'Şuraya git' home: '<b>g</b>, <b>h</b> Anasayfa' - latest: '<b>g</b>, <b>l</b> Enson' + latest: '<b>g</b>, <b>l</b> En son' new: '<b>g</b>, <b>n</b> Yeni' unread: '<b>g</b>, <b>u</b> Okunmamış' categories: '<b>g</b>, <b>c</b> Kategoriler' - top: '<b>g</b>, <b>t</b> Enüst' - bookmarks: '<b>g</b>, <b>b</b> Yer imleri' + top: '<b>g</b>, <b>t</b> En üst' + bookmarks: '<b>g</b>, <b>b</b> İmler' profile: '<b>g</b>, <b>p</b> Profil' messages: '<b>g</b>, <b>m</b> Mesajlar' navigation: @@ -1797,27 +1797,27 @@ tr_TR: search: '<b>/</b> Ara' help: '<b>?</b> Klavye yardım sayfasını aç' dismiss_new_posts: '<b>x</b>, <b>r</b> Yeni Konuları/Gönderileri Yoksay' - dismiss_topics: '<b>x</b>, <b>t</b> Konuları anımsatma' + dismiss_topics: '<b>x</b>, <b>t</b> Konuları yoksay' log_out: '<b>shift</b>+<b>z</b> <b>shift</b>+<b>z</b> Çıkış' actions: title: 'Eylemler' - bookmark_topic: '<b>f</b> Konu yer imini değiştir' - pin_unpin_topic: '<b>shift</b>+<b>p</b> Konuyu sabitle/bırak' + bookmark_topic: '<b>f</b> Konu imini değiştir' + pin_unpin_topic: '<b>shift</b>+<b>p</b> Konuyu tuttur/kaldır' share_topic: '<b>shift</b>+<b>s</b> Konuyu paylaş' share_post: '<b>s</b> Gönderiyi paylaş' reply_as_new_topic: '<b>t</b> Bağlantılı konu olarak cevapla' reply_topic: '<b>shift</b>+<b>r</b> Konuyu cevapla' reply_post: '<b>r</b> Gönderiyi cevapla' - quote_post: '<b>q</b> Gönderiden alıntı yap' + quote_post: '<b>q</b> Gönderiyi alıntıla' like: '<b>l</b> Gönderiyi beğen' - flag: '<b>!</b> Gönderiyi şikayet et' + flag: '<b>!</b> Gönderiyi bildir' bookmark: '<b>b</b> Gönderiyi işaretle' edit: '<b>e</b> Gönderiyi düzenle' delete: '<b>d</b> Gönderiyi sil' mark_muted: '<b>m</b>, <b>m</b> Konuyu sustur' mark_regular: '<b>m</b>, <b>r</b> Varsayılan konu' mark_tracking: '<b>m</b>, <b>t</b> Konuyu takip et' - mark_watching: '<b>m</b>, <b>w</b> Konuyu Takip Et' + mark_watching: '<b>m</b>, <b>w</b> Konuyu gözle' badges: earned_n_times: other: "Bu rozet %{count} defa kazanılmış" @@ -1829,10 +1829,10 @@ tr_TR: badge_count: other: "%{count} Rozet" more_badges: - other: "+%{count} Daha Fazla" + other: "+%{count} Daha" granted: - other: "%{count} İzin verildi" - select_badge_for_title: Başlık olarak kullanılacak bir rozet seçin + other: "%{count} izin verildi" + select_badge_for_title: Başlık yazısı olarak kullanılacak bir rozet seçin none: "<none>" badge_grouping: getting_started: @@ -1846,7 +1846,7 @@ tr_TR: posting: name: Gönderiliyor google_search: | - <h3>Google ile Arat</h3> + <h3>Google ile Ara</h3> <p> <form action='//google.com/search' id='google-search' onsubmit="document.getElementById('google-query').value = 'site:' + window.location.host + ' ' + document.getElementById('user-query').value; return true;"> <input type="text" id='user-query' value=""> @@ -1855,13 +1855,13 @@ tr_TR: </form> </p> tagging: - all_tags: "Tüm etiketler" + all_tags: "Tüm Etiketler" selector_all_tags: "tüm etiketler" selector_no_tags: "etiket yok" changed: "değişen etiketler:" tags: "Etiketler" choose_for_topic: "bu konu için etiket seçiniz" - delete_tag: "Etiketi sil" + delete_tag: "Etiketi Sil" delete_confirm: "Bu etiketi silmek istiyor musunuz?" rename_tag: "Etiketi Yeniden Adlandır" rename_instructions: "Bu etiket için yeni bir ad seçin:" @@ -1872,29 +1872,29 @@ tr_TR: manage_groups_description: "Etiket gurubunu yönetmek için grup tanımla" filters: without_category: "%{filter} %{tag} konular" - with_category: "%{category} içerisinkeri konular%{filter} %{tag}" - untagged_without_category: "%{filtre} etiketlenmemiş konular" - untagged_with_category: " %{kategori} içindeki %{filtre} etiketlenmemiş konular" + with_category: "%{category} içerisindeki konular %{filter} %{tag}" + untagged_without_category: "%{filter} etiketlenmemiş konular" + untagged_with_category: "%{category} içindeki %{filter} etiketlenmemiş konular" notifications: watching: - title: "İzleniyor" - description: "Bu etiketteki tüm yeni konuları takip ediyor olacaksınız. Bu etikete ait yeni tüm konularda ve gönderilerde bildirim alacaksınız, ayrıca yeni gönderiler konuların yanında görünecektir." + title: "Gözleniyor" + description: "Bu etiketteki tüm konuları gözleyeceksiniz. Tüm yeni gönderi ve konulardan haberdar olabilecek ve yeni gönderi sayısını da konunun yanında görebileceksiniz." watching_first_post: - title: "İlk gönderi izlemeniz" + title: "İlk gönderi gözlemeniz" description: "Bu etikette bulunan tüm konuların sadece ilk gönderilerinde bildirim alacaksınız." tracking: - title: "İzleme" + title: "Takip Etme" description: "Bu etiketteki tüm konuları otomatik olarak takip ediyor olacaksınız. Okunmamış yeni gönderilerin bir kısmı konunun yanında görünecektir." regular: - title: "Düzenli" - description: "Eğer bir kişi adınızın tagini kullanırsa (@isminiz gibi) veya oluşturduğunuz konuya cevap yazarsa bildirim alacaksınız." + title: "Müdavim" + description: "Eğer bir kişi @isminiz şeklinde sizden bahsederse veya oluşturduğunuz konuya cevap yazarsa bildirim alacaksınız." muted: title: "Susturuldu" description: "Bu etikette beliren yeni konular hakkında bildirim almayacaksınız ve bunlar okunmamışlar sekmesinde belirmeyecek." groups: title: "Etiket Grupları" about: "Konuları kolayca yönetmek için onlara etiket ekleyiniz." - new: "Yeni grup" + new: "Yeni Grup" tags_label: "Bu gruptaki etiketler:" parent_tag_label: "Üst etiket:" parent_tag_placeholder: "İsteğe Bağlı" @@ -1909,10 +1909,10 @@ tr_TR: unread: "Okunmamış konunuz bulunmuyor." new: "Yeni konunuz bulunmuyor" read: "Henüz bir konu okumadınız." - posted: "Henüz bir konu oluşturmadınız." + posted: "Henüz herhangi bir konuya gönderim yapmadınız." latest: "Yeni eklenen konu bulunmuyor." hot: "Hareketli konu bulunmuyor." - bookmarks: "Henüz yer imi eklenmiş bir konunuz bulunmuyor." + bookmarks: "Henüz imlenmiş eklenmiş bir konunuz bulunmuyor." top: "Üst sırada bir konu bulunmuyor." search: "Arama sonucu hiçbirşey bulunamadı." bottom: @@ -1932,14 +1932,14 @@ tr_TR: custom_message_template_forum: "Hey, bu foruma üye olsan iyi olur!" custom_message_template_topic: "Hey, bu konu senin için eğleceli olabilir!" admin_js: - type_to_filter: "filtre girin..." + type_to_filter: "süzgeç girin..." admin: title: 'Discourse Yönetici Paneli' moderator: 'Moderatör' dashboard: title: "Yönetici Paneli" last_updated: "Yönetici panelinin son güncellenmesi:" - version: "Versiyon" + version: "Sürüm" up_to_date: "Sisteminiz güncel durumda!" critical_available: "Önemli bir güncelleme var." updates_available: "Yeni güncellemeler var." @@ -1962,7 +1962,7 @@ tr_TR: mobile_title: "Mobil" space_free: "{{size}} serbest" uploads: "yüklemeler" - backups: "Yedekler" + backups: "yedekler" traffic_short: "Trafik" traffic: "Uygulama web istekleri" page_views: "API istekleri" @@ -1987,51 +1987,51 @@ tr_TR: latest_changes: "En son değişiklikler: lütfen sık güncelleyin!" by: "tarafından" flags: - title: "Bayraklar" + title: "Bildirilenler" old: "Eski" active: "Etkin" agree: "Onayla" - agree_title: "Bu bayrağı geçerli ve doğru olarak onayla" + agree_title: "Bu bildirimi geçerli ve doğru olarak onayla" agree_flag_modal_title: "Onayla ve..." agree_flag_hide_post: "Onayla (gönderiyi gizle + özel mesaj yolla)" agree_flag_hide_post_title: "Bu gönderiyi gizle ve otomatik olarak kullanıcıya acilen düzenleme yapmasını belirten bir mesaj gönder" agree_flag_restore_post: "Kabul ediyorum (gönderiyi geri getir)" agree_flag_restore_post_title: "Gönderiyi geri getir" - agree_flag: "Bayrağı onayla" - agree_flag_title: "Bayrağı onayla ve gönderide değişiklik yapma" + agree_flag: "Bildirimi onayla" + agree_flag_title: "Bildirimi onayla ve gönderide değişiklik yapma" defer_flag: "Ertele" - defer_flag_title: "Bu bayrağı kaldır; şu an için bir seçeneği uygulamak gerekmiyor." + defer_flag_title: "Bu bildirimi kaldır; şu an için bir şey yapmak gerekmiyor." delete: "Sil" - delete_title: "Bu bayrağın ait olduğu gönderiyi sil." - delete_post_defer_flag: "Gönderiyi sil ve bayrağı ertele" + delete_title: "Bu bildirimin ait olduğu gönderiyi sil." + delete_post_defer_flag: "Gönderiyi sil ve bildirimi ertele" delete_post_defer_flag_title: "Gönderiyi sil; başka gönderi yoksa, konuyu da sil." - delete_post_agree_flag: "Gönderiyi sil ve bayrağı onayla" + delete_post_agree_flag: "Gönderiyi sil ve bildirimi onayla" delete_post_agree_flag_title: "Gönderiyi sil; başka gönderi yoksa, konuyu da sil." delete_flag_modal_title: "Sil ve..." delete_spammer: "Spamcıyı Sil" delete_spammer_title: "Kullanıcıyı ve kullanıcıya ait tüm konu ve gönderileri kaldır. " disagree_flag_unhide_post: "Onaylama (gönderiyi gizleme)" - disagree_flag_unhide_post_title: "Bu gönderiye ait tüm bayrakları kaldır ve gönderiyi tekrar görünür hale getir" + disagree_flag_unhide_post_title: "Bu gönderiye ait tüm bildirimleri kaldır ve gönderiyi tekrar görünür hale getir" disagree_flag: "Onaylama" - disagree_flag_title: "Bu bayrağı geçersiz ya da yanlış sayarak reddet" + disagree_flag_title: "Bu bildirimi geçersiz ya da yanlış sayarak reddet" clear_topic_flags: "Tamam" - clear_topic_flags_title: "Bu konu araştırıldı ve sorunlar çözüldü. Bayrakları kaldırmak için Tamam butonuna basın. " + clear_topic_flags_title: "Bu konu araştırıldı ve sorunlar çözüldü. Bildirimleri kaldırmak için Tamam butonuna basın. " more: "(daha fazla cevap...)" dispositions: agreed: "onaylandı" disagreed: "onaylanmadı" deferred: "ertelendi" - flagged_by: "Bayraklayan" + flagged_by: "Bildiren" resolved_by: "Çözen" took_action: "İşlem uygulandı" system: "Sistem" error: "Bir şeyler ters gitti" - reply_message: "Yanıtla" - no_results: "Bayraklanan içerik yok." - topic_flagged: "Bu <strong>konu</strong> bayraklandı." - visit_topic: "Aksiyon almak için konuyu ziyaret edin" - was_edited: "İlk bayraktan edilmesinden sonra gönderi düzenlendi" - previous_flags_count: "Bu gönderi daha önce {{count}} defa bayraklanmış." + reply_message: "Cevapla" + no_results: "Bildirilen içerik yok." + topic_flagged: "Bu <strong>konu</strong> bildirildi." + visit_topic: "Harekete geçmek için konuyu ziyaret edin" + was_edited: "İlk bildirimden sonra gönderi düzenlendi" + previous_flags_count: "Bu gönderi daha önce {{count}} defa bildirilmiş." summary: action_type_3: other: "konu dışı x{{count}}" @@ -2042,7 +2042,7 @@ tr_TR: action_type_7: other: "özel x{{count}}" action_type_8: - other: "spam x{{count}}" + other: "istenmeyen x{{count}}" groups: primary: "Ana Grup" no_primary: "(ana grup yok)" @@ -2093,12 +2093,30 @@ tr_TR: info_html: "API anahtarınız JSON çağrıları kullanarak konu oluşturup güncelleyebilmenize olanak sağlayacaktır." all_users: "Tüm Kullanıcılar" note_html: "Bu anahtarı <strong>gizli</strong> tutun, anahtara sahip kullanıcılar her hangi bir kullanıcı adı altında istedikleri gönderiyi oluşturabilirler." + web_hooks: + create: "Oluştur" + save: "Kaydet" + destroy: "Sil" + description: "Açıklama" + active: "Etkin" + delivery_status: + failed: "Başarısız" + successful: "Başarılı" + events: + completed_in: + other: "{{count}} saniyede tamamlandı." + response: "Yanıt" + headers: "Başlıklar" + status: "Durum Kodu" + timestamp: "Oluşturulma" + completion: "Tamamlanma Zamanı" + actions: "Eylemler" plugins: title: "Eklentiler" installed: "Yüklü Eklentiler" name: "İsim" none_installed: "Yüklenmiş herhangi bir eklentiniz yok." - version: "Versiyon" + version: "Sürüm" enabled: "Etkinleştirildi mi?" is_enabled: "E" not_enabled: "H" @@ -2115,7 +2133,7 @@ tr_TR: enable: title: "Yalnızca okuma modunu etkinleştir" label: "Yalnızca okumayı etkinleştir" - confirm: "Yalnızca okuma modunu aktifleştirmek istediğinizden emin misiniz?" + confirm: "Yalnızca okuma modunu etkinleştirmek istediğinizden emin misiniz?" disable: title: "Yalnızca okuma modunu durdur" label: "Yalnızca okumayı durdur" @@ -2149,13 +2167,13 @@ tr_TR: title: "Yedeği kaldır" confirm: "Bu yedeği yok etmek istediğinize emin misiniz?" restore: - is_disabled: "Geri getirme site ayarlarında devredışı bırakılmış." + is_disabled: "Geri getirme site ayarlarında devre dışı bırakılmış." label: "Geri Yükle" - title: "Yedeği geri getir" - confirm: "Bu yedekten geri dönmek istediğinize emin misiniz?" + title: "Yedeğe geri dön" + confirm: "Bu yedeğe geri dönmek istediğinize emin misiniz?" rollback: label: "Geri al" - title: "Veritabanını calışan son haline geri al." + title: "Veritabanını calışan son haline geri al" confirm: "Veritabanını çalışan son haline döndürmek istediğinize emin misiniz?" export_csv: user_archive_confirm: "Gönderilerinizi indirmek istediğinize emin misiniz ?" @@ -2164,11 +2182,11 @@ tr_TR: rate_limit_error: "Gönderiler günde bir kez indirilebilir, lütfen yarın tekrar deneyin." button_text: "Dışa aktar" button_title: - user: "Tüm kullanıcı listesini CSV formatında dışa aktar." - staff_action: "Tüm görevli aksiyonları logunu CSV formatında dışa aktar." - screened_email: "Tüm taranmış e-postalar listesini CSV formatında dışa aktar." - screened_ip: "Tüm taranmış IPler listesini CSV formatında dışa aktar." - screened_url: "Tüm taranmış URLler listesini CSV formatında dışa aktar." + user: "Tüm kullanıcı listesini CSV biçiminde dışa aktar." + staff_action: "Tüm görevli eylemleri kaydını CSV biçiminde dışa aktar." + screened_email: "Tüm taranmış e-postalar listesini CSV biçiminde dışa aktar." + screened_ip: "Tüm taranmış IPler listesini CSV biçiminde dışa aktar." + screened_url: "Tüm taranmış URLler listesini CSV biçiminde dışa aktar." export_json: button_text: "Dışarı Aktar" invite: @@ -2212,9 +2230,9 @@ tr_TR: subject: "Konu" multiple_subjects: "Bu e-posta şablonunda birden fazla konu mevcut." body: "İçerik" - none_selected: "Düzenlemeye başlamak için içerik tipi seçin. " - revert: "Değişiklikleri Sıfırla" - revert_confirm: "Değişiklikleri sıfırlamak istediğinize emin misiniz?" + none_selected: "Düzenlemeye başlamak için bir e-posta içeriği seçin. " + revert: "Değişiklikleri Geri Al" + revert_confirm: "Değişikliklerinizi geri almak istediğinize emin misiniz?" css_html: title: "CSS/HTML" long_title: "CSS ve HTML Özelleştirmeleri" @@ -2252,10 +2270,10 @@ tr_TR: description: 'Sayfada vurgulanmış ögelerin, gönderi ve konu gibi, arkaplan rengi.' danger: name: 'tehlike' - description: 'Gönderi ve konu silme gibi aksiyonlar için vurgulama rengi.' + description: 'Gönderi ve konu silme gibi eylemler için vurgulama rengi.' success: name: 'başarı' - description: 'Seçeneğin başarılı olduğunu göstermek için kullanılır.' + description: 'Eylemin başarılı olduğunu göstermek için kullanılır.' love: name: 'sevgi' description: "Beğen butonunun rengi." @@ -2283,7 +2301,7 @@ tr_TR: delivery_method: "Gönderme Metodu" preview_digest_desc: "Durgun kullanıcılara gönderilen özet e-postaların içeriğini önizle." refresh: "Yenile" - format: "Format" + format: "Biçim" html: "html" text: "yazı" last_seen_user: "Son Görülen Kullanıcı:" @@ -2304,23 +2322,23 @@ tr_TR: body: "İçerik" rejection_message: "Ret E-postası" filters: - from_placeholder: "from@example.com" - to_placeholder: "to@example.com" - cc_placeholder: "cc@example.com" + from_placeholder: "bundan@ornek.com" + to_placeholder: "suna@ornek.com" + cc_placeholder: "cc@ornek.com" subject_placeholder: "Konu..." error_placeholder: "Hata" logs: none: "Hiç bir kayıt bulunamadı." filters: - title: "Filtre" + title: "Süzgeç" user_placeholder: "kullanıcıadı" address_placeholder: "isim@örnek.com" - type_placeholder: "özet, üye olma..." + type_placeholder: "özet, kayıt olma..." reply_key_placeholder: "cevapla tuşu" skipped_reason_placeholder: "neden" logs: title: "Kayıtlar" - action: "İşlem" + action: "Eylem" created_at: "Oluşturuldu" last_match_at: "En Son Eşlenen" match_count: "Eşleşmeler" @@ -2335,8 +2353,8 @@ tr_TR: block: "engelle" do_nothing: "hiçbir şey yapma" staff_actions: - title: "Görevli Seçenekleri" - instructions: "Kullanıcı adları ve aksiyonlara tıklayarak listeyi filtrele. Profil resimlerine tıklayarak kullanıcı sayfalarına git." + title: "Görevli Eylemleri" + instructions: "Kullanıcı adları ve eylemlere tıklayarak listeyi süz. Profil resimlerine tıklayarak kullanıcı sayfalarına git." clear_filters: "Hepsini Göster" staff_user: "Görevli Kullanıcı" target_user: "Hedef Kullanıcı" @@ -2355,7 +2373,7 @@ tr_TR: delete_user: "kullanıcıyı sil" change_trust_level: "güven seviyesini değiştir" change_username: "kullanıcı adını değiştir" - change_site_setting: "websitesi ayarlarını değiştir" + change_site_setting: "site ayarlarını değiştir" change_site_customization: "websitesinin özelleştirmesini değiştir" delete_site_customization: "websitesinin özelleştirmesini sil" change_site_text: "site metnini değiştir" @@ -2372,19 +2390,19 @@ tr_TR: change_category_settings: "kategori ayarlarını değiştir" delete_category: "kategoriyi sil" create_category: "kategori oluştur" - block_user: "kullanıcıyı blokla" + block_user: "kullanıcıyı engelle" unblock_user: "kullanıcı engelini kaldır" grant_admin: "yönetici yetkisi ver" revoke_admin: "yönetici yetkisini kaldır" grant_moderation: "moderasyon yetkisi ver" revoke_moderation: "moderasyon yetkisini kaldır" - backup_operation: "yedek operasyonu" + backup_operation: "yedekleme operasyonu" deleted_tag: "silinmiş etiket" renamed_tag: "yeniden adlandırılmış etiket" revoke_email: "e-posta kaldır" screened_emails: title: "Taranmış E-postalar" - description: "Biri yeni bir hesap oluşturmaya çalıştığında, aşağıdaki e-posta adresleri kontrol edilecek ve kayıt önlenecek veya başka bir aksiyon alınacak." + description: "Biri yeni bir hesap oluşturmaya çalıştığında, aşağıdaki e-posta adresleri kontrol edilecek ve kayıt önlenecek veya başka bir eylem gerçekleşecek." email: "E-posta Adresi" actions: allow: "İzin Ver" @@ -2395,7 +2413,7 @@ tr_TR: domain: "Alan Adı" screened_ips: title: "Taranmış IPler" - description: 'İzlenen IP adresleri. IP adreslerini beyaz listeye aktarmak için "İzin ver"i kullan.' + description: 'Gözlenen IP adresleri. IP adreslerini beyaz listeye aktarmak için "İzin ver"i kullan.' delete_confirm: "%{ip_address} için konulan kuralı kaldırmak istediğinize emin misiniz?" roll_up_confirm: "Tüm ortaklaşa taranmış IP adreslerini subnetlere toplamak istediğinize emin misiniz?" rolled_up_some_subnets: "Bu subnetlere başarıyla toplanmış tüm engellenen IP girişleri: %{subnets}." @@ -2504,10 +2522,10 @@ tr_TR: posts_read_count: Okuduğu Gönderiler post_count: Oluşturduğu Gönderiler topics_entered: Görüntülediği Konular - flags_given_count: Verilen Bayraklar - flags_received_count: Alınan Bayraklar + flags_given_count: Yapılan Bildirimler + flags_received_count: Alınan Bildirimler warnings_received_count: Uyarılar Alındı - flags_given_received_count: 'Alınan / Verilen Bayraklar' + flags_given_received_count: 'Alınan / Yapılan Bildirimler' approve: 'Onayla' approved_by: "onaylayan" approve_success: "Kullanıcı onaylandı ve etkinleştirme bilgilerini içeren bir e-posta yollandı." @@ -2534,17 +2552,17 @@ tr_TR: send_activation_email: "Etkinleştirme E-postası Gönder" activation_email_sent: "Etkinleştirme e-postası gönderildi." send_activation_email_failed: "Tekrar etkinleştirme e-postası gönderilirken bir sorun yaşandı. %{error}" - activate: "Hesabı aktifleştir" + activate: "Hesabı etkinleştir" activate_failed: "Kullanıcı etkinleştirilirken bir sorun yaşandı." deactivate_account: "Hesabı Pasifleştir" deactivate_failed: "Kullanıcı deaktive edilirken bir sorun yaşandı." unblock_failed: 'Kullanıcının engeli kaldırılırken bir sorun yaşandı.' block_failed: 'Kullanıcı engellenirken bir sorun yaşandı.' block_confirm: 'Bu kullanıcıyı bloklamak istediğinize emin misiniz? Bunu yaparsanız yeni başlık ya da gönderi oluşturamayacak.' - block_accept: 'Evet, bu kullanıcıyı blokla' + block_accept: 'Evet, bu kullanıcıyı engelle' bounce_score: "Geri Sekme Skoru" reset_bounce_score: - label: "Yenile" + label: "Sıfırla" title: "Geri sekme skorunu 0'a çek" deactivate_explanation: "Deaktive edilmiş bir kullanıcı e-postasını tekrar doğrulamalı." suspended_explanation: "Uzaklaştırılmış kullanıcılar sistemde oturum açamaz." @@ -2575,8 +2593,8 @@ tr_TR: topics_viewed_all_time: "Görüntülenmiş Konular (Tüm zamanlar)" posts_read: "Okunmuş Gönderiler" posts_read_all_time: "Okunmuş Gönderiler (Tüm zamanlarda)" - flagged_posts: "Bayraklanan Gönderiler" - flagged_by_users: "Bayraklayan Kullanıcılar" + flagged_posts: "Bildirilen Gönderiler" + flagged_by_users: "Bildiren Kullanıcılar" likes_given: "Verilen Beğeniler" likes_received: "Alınan Beğeniler" likes_received_days: "Alınan beğeniler: tekil günlük" @@ -2614,7 +2632,7 @@ tr_TR: enabled: "gerekli" disabled: "isteğe bağlı" editable: - title: "Üyelik sonrası düzenlenebilir mi?" + title: "Kayıt sonrası düzenlenebilir mi?" enabled: "düzenlenebilir" disabled: "düzenlenemez" show_on_profile: @@ -2634,10 +2652,10 @@ tr_TR: search: "Düzenlemek istediğiniz metni arayın" title: 'Yazı İçeriği' edit: 'düzenle' - revert: "Değişiklikleri Sıfırla" - revert_confirm: "Değişiklikleri sıfırlamak istediğinize emin misiniz?" + revert: "Değişiklikleri Geri Al" + revert_confirm: "Değişikliklerinizi geri almak istediğinize emin misiniz?" go_back: "Aramaya geri dön" - recommended: "İzleyen metni ihtiyaçlarınıza uygun şekilde özelleştimenizi öneririz:" + recommended: "İzleyen metni ihtiyaçlarınıza uygun şekilde özelleştirmenizi öneririz:" show_overriden: 'Sadece değiştirdiklerimi göster' site_settings: show_overriden: 'Sadece değiştirdiklerimi göster' @@ -2660,7 +2678,7 @@ tr_TR: security: 'Güvenlik' onebox: "Tek Kutu" seo: 'SEO' - spam: 'Spam' + spam: 'İstenmeyen ' rate_limits: 'Oran Sınırları' developer: 'Geliştirici' embedding: "Yerleştirme" @@ -2758,7 +2776,7 @@ tr_TR: category: "Kategoriye Gönder" add_host: "Host Ekle" settings: "Ayarları Gömmek" - feed_settings: "Ayarları Besle" + feed_settings: "RSS Ayarları" feed_description: "Siteniz için bir RSS/ATOM beslemesi sağlamanız Discourse'un içeriğinizi içe aktarma yeteneğini geliştirebilir." crawling_settings: "Böcek Ayarları" crawling_description: "Discourse gönderileriniz için konular oluşturduğu zaman, eğer bir RSS/ATOM beslemesi yoksa içeriğinizi HTML'inizden ayrıştırmaya çalışacaktır. Bazen içeriğinizi çıkartmak çok zor olabilir, bu yüzden ayrıştırmayı kolaylaştırmak için CSS kuralları belirtme yeteneği sağlıyoruz." @@ -2768,7 +2786,7 @@ tr_TR: embed_truncate: "Gömülü gönderileri buda" embed_whitelist_selector: "Gömülüler içinde izin verilen elementler için CSS seçici" embed_blacklist_selector: "Gömülülerden kaldırılan elementler için CSS seçici" - embed_classname_whitelist: "CSS Sınıf isimlerine izin verildi" + embed_classname_whitelist: "CSS sınıf isimlerine izin verildi" feed_polling_enabled: "Konuları RSS/ATOM aracılığıyla içe aktar" feed_polling_url: "İstila etmek için RSS/ATOM beslemesi URL'i" save: "Gömme Ayarlarını Kaydet" diff --git a/config/locales/client.zh_CN.yml b/config/locales/client.zh_CN.yml index 9584a7b74..8b9a82534 100644 --- a/config/locales/client.zh_CN.yml +++ b/config/locales/client.zh_CN.yml @@ -211,7 +211,7 @@ zh_CN: remove: "取消收藏" confirm_clear: "你确定要清除该主题的所有收藏吗?" topic_count_latest: - other: "{{count}} 个近期的主题或更新的主题。" + other: "{{count}} 新主题或更新的主题。" topic_count_unread: other: "{{count}} 未读主题。" topic_count_new: @@ -964,7 +964,7 @@ zh_CN: moved_post: "<i title='移动了帖子' class='fa fa-sign-out'></i><p><span>{{username}}</span>移动了{{description}}</p>" linked: "<i title='关联帖子' class='fa fa-link'></i><p><span>{{username}}</span>{{description}}</p>" granted_badge: "<i title='徽章授予' class='fa fa-certificate'></i><p>获得“{{description}}”</p>" - watching_first_post: "<i title='新主题' class='fa fa-dot-circle-o'></i><p><span>新主题</span>{{description}}</p>" + watching_first_post: "<i title='近期主题' class='fa fa-dot-circle-o'></i><p><span>近期主题</span>{{description}}</p>" group_message_summary: other: "<i title='群组收件箱中的消息' class='fa fa-group'></i><p> {{count}} 条消息在{{group_name}}组的收件箱中</p>" alt: @@ -1056,7 +1056,7 @@ zh_CN: changed_tags: "主题的标签被修改" none: unread: "你没有未读主题。" - new: "你没有新主题可读。" + new: "你没有近期主题可读。" read: "你尚未阅读任何主题。" posted: "你尚未在任何主题中发帖。" latest: "没有新的主题。" @@ -1073,7 +1073,7 @@ zh_CN: hot: "没有更多热门主题可看了。" posted: "没有更多已发布主题可看了。" read: "没有更多已阅主题可看了。" - new: "没有更多新主题可看了。" + new: "没有更多的近期主题。" unread: "没有更多未读主题了。" category: "没有更多{{category}}分类的主题了。" top: "没有更多最佳主题了。" @@ -1095,10 +1095,10 @@ zh_CN: title: '移动到收件箱' help: '移动消息到收件箱' list: '主题' - new: '新主题' + new: '近期主题' unread: '未读' new_topics: - other: '{{count}} 新主题' + other: '{{count}} 近期主题' unread_topics: other: '{{count}} 未读主题' title: '主题' @@ -1696,7 +1696,7 @@ zh_CN: lower_title: "近期" title: "近期" title_with_count: - other: "近期({{count}})" + other: "近期 ({{count}})" help: "最近几天里创建的主题" posted: title: "我的帖子" @@ -1893,7 +1893,7 @@ zh_CN: hot: "没有更多的热门话题。" posted: "没有更多的发布主题。" read: "没有更多已阅主题可看了。" - new: "没有更多近期主题可看了。" + new: "没有更多的近期主题。" unread: "没有更多未读主题了。" top: "没有更多最佳主题了。" bookmarks: "没有更多收藏的主题了。" diff --git a/config/locales/names.yml b/config/locales/names.yml new file mode 100644 index 000000000..60e992501 --- /dev/null +++ b/config/locales/names.yml @@ -0,0 +1,559 @@ +--- +aa: + name: Afar + nativeName: Afaraf +ab: + name: Abkhaz + nativeName: аҧсуа бызшәа +ae: + name: Avestan + nativeName: avesta +af: + name: Afrikaans + nativeName: Afrikaans +ak: + name: Akan + nativeName: Akan +am: + name: Amharic + nativeName: አማርኛ +an: + name: Aragonese + nativeName: aragonés +ar: + name: Arabic + nativeName: اللغة العربية +as: + name: Assamese + nativeName: অসমীয়া +av: + name: Avaric + nativeName: авар мацӀ +ay: + name: Aymara + nativeName: aymar aru +az: + name: Azerbaijani + nativeName: azərbaycan dili +ba: + name: Bashkir + nativeName: башҡорт теле +be: + name: Belarusian + nativeName: беларуская мова +bg: + name: Bulgarian + nativeName: български език +bh: + name: Bihari + nativeName: भोजपुरी +bi: + name: Bislama + nativeName: Bislama +bm: + name: Bambara + nativeName: bamanankan +bn: + name: Bengali + nativeName: বাংলা +bo: + name: Tibetan Standard + nativeName: བོད་ཡིག +br: + name: Breton + nativeName: brezhoneg +bs: + name: Bosnian + nativeName: bosanski jezik +ca: + name: Catalan + nativeName: català +ce: + name: Chechen + nativeName: нохчийн мотт +ch: + name: Chamorro + nativeName: Chamoru +co: + name: Corsican + nativeName: corsu +cr: + name: Cree + nativeName: ᓀᐦᐃᔭᐍᐏᐣ +cs: + name: Czech + nativeName: čeština +cu: + name: Old Church Slavonic + nativeName: ѩзыкъ словѣньскъ +cv: + name: Chuvash + nativeName: чӑваш чӗлхи +cy: + name: Welsh + nativeName: Cymraeg +da: + name: Danish + nativeName: dansk +de: + name: German + nativeName: Deutsch +dv: + name: Divehi + nativeName: Dhivehi +dz: + name: Dzongkha + nativeName: རྫོང་ཁ +ee: + name: Ewe + nativeName: Eʋegbe +el: + name: Greek + nativeName: ελληνικά +en: + name: English + nativeName: English +eo: + name: Esperanto + nativeName: Esperanto +es: + name: Spanish + nativeName: Español +et: + name: Estonian + nativeName: eesti +eu: + name: Basque + nativeName: euskara +fa: + name: Persian + nativeName: فارسی +ff: + name: Fula + nativeName: Fulfulde +fi: + name: Finnish + nativeName: suomi +fj: + name: Fijian + nativeName: Vakaviti +fo: + name: Faroese + nativeName: føroyskt +fr: + name: French + nativeName: Français +fy: + name: Western Frisian + nativeName: Frysk +ga: + name: Irish + nativeName: Gaeilge +gd: + name: Scottish Gaelic + nativeName: Gàidhlig +gl: + name: Galician + nativeName: galego +gn: + name: Guaraní + nativeName: Avañe'ẽ +gu: + name: Gujarati + nativeName: ગુજરાતી +gv: + name: Manx + nativeName: Gaelg +ha: + name: Hausa + nativeName: هَوُسَ +he: + name: Hebrew + nativeName: עברית +hi: + name: Hindi + nativeName: हिन्दी +ho: + name: Hiri Motu + nativeName: Hiri Motu +hr: + name: Croatian + nativeName: hrvatski jezik +ht: + name: Haitian + nativeName: Kreyòl ayisyen +hu: + name: Hungarian + nativeName: magyar +hy: + name: Armenian + nativeName: Հայերեն +hz: + name: Herero + nativeName: Otjiherero +ia: + name: Interlingua + nativeName: Interlingua +id: + name: Indonesian + nativeName: Indonesian +ie: + name: Interlingue + nativeName: Interlingue +ig: + name: Igbo + nativeName: Asụsụ Igbo +ii: + name: Nuosu + nativeName: ꆈꌠ꒿ Nuosuhxop +ik: + name: Inupiaq + nativeName: Iñupiaq +io: + name: Ido + nativeName: Ido +is: + name: Icelandic + nativeName: Íslenska +it: + name: Italian + nativeName: Italiano +iu: + name: Inuktitut + nativeName: ᐃᓄᒃᑎᑐᑦ +ja: + name: Japanese + nativeName: 日本語 +jv: + name: Javanese + nativeName: basa Jawa +ka: + name: Georgian + nativeName: ქართული +kg: + name: Kongo + nativeName: Kikongo +ki: + name: Kikuyu + nativeName: Gĩkũyũ +kj: + name: Kwanyama + nativeName: Kuanyama +kk: + name: Kazakh + nativeName: қазақ тілі +kl: + name: Kalaallisut + nativeName: kalaallisut +km: + name: Khmer + nativeName: ខេមរភាសា +kn: + name: Kannada + nativeName: ಕನ್ನಡ +ko: + name: Korean + nativeName: 한국어 +kr: + name: Kanuri + nativeName: Kanuri +ks: + name: Kashmiri + nativeName: कश्मीरी +ku: + name: Kurdish + nativeName: Kurdî +kv: + name: Komi + nativeName: коми кыв +kw: + name: Cornish + nativeName: Kernewek +ky: + name: Kyrgyz + nativeName: Кыргызча +la: + name: Latin + nativeName: latine +lb: + name: Luxembourgish + nativeName: Lëtzebuergesch +lg: + name: Ganda + nativeName: Luganda +li: + name: Limburgish + nativeName: Limburgs +ln: + name: Lingala + nativeName: Lingála +lo: + name: Lao + nativeName: ພາສາ +lt: + name: Lithuanian + nativeName: lietuvių kalba +lu: + name: Luba-Katanga + nativeName: Tshiluba +lv: + name: Latvian + nativeName: latviešu valoda +mg: + name: Malagasy + nativeName: fiteny malagasy +mh: + name: Marshallese + nativeName: Kajin M̧ajeļ +mi: + name: Māori + nativeName: te reo Māori +mk: + name: Macedonian + nativeName: македонски јазик +ml: + name: Malayalam + nativeName: മലയാളം +mn: + name: Mongolian + nativeName: Монгол хэл +mr: + name: Marathi + nativeName: मराठी +ms: + name: Malay + nativeName: هاس ملايو +mt: + name: Maltese + nativeName: Malti +my: + name: Burmese + nativeName: ဗမာစာ +na: + name: Nauru + nativeName: Ekakairũ Naoero +nb: + name: Norwegian Bokmål + nativeName: Norsk bokmål +nd: + name: Northern Ndebele + nativeName: isiNdebele +ne: + name: Nepali + nativeName: नेपाली +ng: + name: Ndonga + nativeName: Owambo +nl: + name: Dutch + nativeName: Nederlands +nn: + name: Norwegian Nynorsk + nativeName: Norsk nynorsk +'no': + name: Norwegian + nativeName: Norsk +nr: + name: Southern Ndebele + nativeName: isiNdebele +nv: + name: Navajo + nativeName: Diné bizaad +ny: + name: Chichewa + nativeName: chiCheŵa +oc: + name: Occitan + nativeName: occitan +oj: + name: Ojibwe + nativeName: ᐊᓂᔑᓈᐯᒧᐎᓐ +om: + name: Oromo + nativeName: Afaan Oromoo +or: + name: Oriya + nativeName: ଓଡ଼ିଆ +os: + name: Ossetian + nativeName: ирон æвзаг +pa: + name: Panjabi + nativeName: ਪੰਜਾਬੀ +pi: + name: Pāli + nativeName: पाऴि +pl: + name: Polish + nativeName: język polski +ps: + name: Pashto + nativeName: پښتو +pt: + name: Portuguese + nativeName: Português +pt_BR: + name: Portuguese + nativeName: Português (BR) +qu: + name: Quechua + nativeName: Runa Simi +rm: + name: Romansh + nativeName: rumantsch grischun +rn: + name: Kirundi + nativeName: Ikirundi +ro: + name: Romanian + nativeName: limba română +ru: + name: Russian + nativeName: Русский +rw: + name: Kinyarwanda + nativeName: Ikinyarwanda +sa: + name: Sanskrit + nativeName: संस्कृतम् +sc: + name: Sardinian + nativeName: sardu +sd: + name: Sindhi + nativeName: सिन्धी +se: + name: Northern Sami + nativeName: Davvisámegiella +sg: + name: Sango + nativeName: yângâ tî sängö +si: + name: Sinhala + nativeName: සිංහල +sk: + name: Slovak + nativeName: slovenčina +sl: + name: Slovene + nativeName: slovenski jezik +sm: + name: Samoan + nativeName: gagana fa'a Samoa +sn: + name: Shona + nativeName: chiShona +so: + name: Somali + nativeName: Soomaaliga +sq: + name: Albanian + nativeName: Shqip +sr: + name: Serbian + nativeName: српски језик +ss: + name: Swati + nativeName: SiSwati +st: + name: Southern Sotho + nativeName: Sesotho +su: + name: Sundanese + nativeName: Basa Sunda +sv: + name: Swedish + nativeName: svenska +sw: + name: Swahili + nativeName: Kiswahili +ta: + name: Tamil + nativeName: தமிழ் +te: + name: Telugu + nativeName: తెలుగు +tg: + name: Tajik + nativeName: тоҷикӣ +th: + name: Thai + nativeName: ไทย +ti: + name: Tigrinya + nativeName: ትግርኛ +tk: + name: Turkmen + nativeName: Türkmen +tl: + name: Tagalog + nativeName: Wikang Tagalog +tn: + name: Tswana + nativeName: Setswana +to: + name: Tonga + nativeName: faka Tonga +tr: + name: Turkish + nativeName: Türkçe +ts: + name: Tsonga + nativeName: Xitsonga +tt: + name: Tatar + nativeName: татар теле +tw: + name: Twi + nativeName: Twi +ty: + name: Tahitian + nativeName: Reo Tahiti +ug: + name: Uyghur + nativeName: ئۇيغۇرچە +uk: + name: Ukrainian + nativeName: українська мова +ur: + name: Urdu + nativeName: اردو +uz: + name: Uzbek + nativeName: Ўзбек +ve: + name: Venda + nativeName: Tshivenḓa +vi: + name: Vietnamese + nativeName: Việt Nam +vo: + name: Volapük + nativeName: Volapük +wa: + name: Walloon + nativeName: walon +wo: + name: Wolof + nativeName: Wollof +xh: + name: Xhosa + nativeName: isiXhosa +yi: + name: Yiddish + nativeName: ייִדיש +yo: + name: Yoruba + nativeName: Yorùbá +za: + name: Zhuang + nativeName: Saɯ cueŋƅ +zh: + name: Chinese + nativeName: 中文 +zh_TW: + name: Chinese + nativeName: 中文 (TW) +zu: + name: Zulu + nativeName: isiZulu diff --git a/config/locales/server.de.yml b/config/locales/server.de.yml index b7792578e..4f8503904 100644 --- a/config/locales/server.de.yml +++ b/config/locales/server.de.yml @@ -288,6 +288,7 @@ de: common: "ist eines der 10000 meist verwendeten Passwörter. Bitte verwende ein sichereres Passwort." same_as_username: "ist mit deinem Benutzernamen identisch. Bitte verwende ein sichereres Passwort." same_as_email: "ist mit deiner E-Mail-Adresse identisch. Bitte verwende ein sichereres Passwort." + same_as_current: "entspricht deinem aktuellen Passwort." ip_address: signup_not_allowed: "Eine Registrierung ist von diesem Konto nicht erlaubt." color_scheme_color: @@ -844,7 +845,7 @@ de: allow_moderators_to_create_categories: "Erlaube Moderatoren neue Kategorien zu erstellen" cors_origins: "Erlaubte Adressen für Cross-Origin-Requests (CORS). Jede Adresse muss http:// oder https:// enthalten. Die Umgebungsvariable DISCOURSE_ENABLE_CORS muss gesetzt sein, um CORS zu aktivieren." use_admin_ip_whitelist: "Administratoren können sich nur anmelden, wenn sie von einer IP-Adresse aus zugreifen, welcher unter den vertrauenswürden IP-Adressen gelistet ist (Admin > Logs > Screened Ips)." - top_menu: "Legt fest, welche Elemente in der Navigationsleiste der Homepage auftauchen sollen, und in welcher Reihenfolge. Beispiel: latest|new|unread|categories|top|read|posted|bookmarks" + top_menu: "Legt fest, welche Elemente in der Navigationsleiste der Startseite auftauchen sollen, und in welcher Reihenfolge. Beispiel: latest|new|unread|categories|top|read|posted|bookmarks" post_menu: "Legt fest, welche Funktionen in welcher Reihenfolge im Beitragsmenü auftauchen. Beispiel: like|edit|flag|delete|share|bookmark|reply" post_menu_hidden_items: "Die Einträge im Menü eines Beitrags, die standardmäßig hinter einer erweiterbaren Ellipse versteckt werden sollen." share_links: "Legt fest, welche Dienste in welcher Reihenfolge im Teilen-Dialog auftauchen." diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index 09554bb94..527fffcbb 100644 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -1019,6 +1019,7 @@ en: enable_facebook_logins: "Enable Facebook authentication, requires facebook_app_id and facebook_app_secret" facebook_app_id: "App id for Facebook authentication, registered at https://developers.facebook.com/apps" facebook_app_secret: "App secret for Facebook authentication, registered at https://developers.facebook.com/apps" + facebook_request_extra_profile_details: "Request about me, location and website from facebook. (requires that your auth application be approved by facebook)" enable_github_logins: "Enable Github authentication, requires github_client_id and github_client_secret" github_client_id: "Client id for Github authentication, registered at https://github.com/settings/applications" @@ -1085,6 +1086,7 @@ en: external_system_avatars_url: "URL of the external system avatars service. Allowed substitutions are {username} {first_letter} {color} {size}" default_opengraph_image_url: "URL of the default opengraph image." + twitter_summary_large_image_url: "URL of the default Twitter summary card image (should be at least 280px in width, and at least 150px in height)." allow_all_attachments_for_group_messages: "Allow all email attachments for group messages." @@ -1408,6 +1410,10 @@ en: suppress_overlapping_tags_in_list: "If tags match exact words in topic titles, don't show the tag" remove_muted_tags_from_latest: "Don't show topics tagged with muted tags in the latest topic list." + company_short_name: "Company Name (short)" + company_full_name: "Company Name (full)" + company_domain: "Company Domain" + errors: invalid_email: "Invalid email address." invalid_username: "There's no user with that username." @@ -3210,3 +3216,141 @@ en: staff_tag_disallowed: "The tag \"%{tag}\" may only be applied by staff." staff_tag_remove_disallowed: "The tag \"%{tag}\" may only be removed by staff." rss_by_tag: "Topics tagged %{tag}" + + wizard: + title: "Discourse Setup" + step: + locale: + title: "Welcome to your Discourse!" + fields: + default_locale: + description: "What’s the default language for your community?" + + forum_title: + title: "Name" + description: "Your name is a sign visible in the distance, the <i>first</i> thing potential visitors will notice about your community. What does your name and title say about your community?" + + fields: + title: + label: "Your community’s name" + placeholder: "Jane’s Hangout" + site_description: + label: "Describe your community in one short sentence" + placeholder: "A place for Jane and her friends to discuss cool stuff" + + introduction: + title: "Introduction" + + fields: + welcome: + label: "Welcome Topic" + description: "<p>How would you describe your community to a stranger on an elevator in about 1 minute?</p> + <ul> + <li>Who are these discussions for?</li> + <li>What can I find here?</li> + <li>Why should I visit?</li> + </ul> + <p>Your welcome topic is the first thing new visitors will see. Think of it as your <b>one paragraph</b> 'elevator pitch' or 'mission statement'. </p>" + one_paragraph: "Please restrict your welcome message to one paragraph." + + privacy: + title: "Access" + description: "<p>Is your community open to everyone, or is it restricted by membership, invitation, or approval? If you prefer, you can set things up privately, then switch over to public later.</p> + <p>Remember you can always send invites from topics, or from your user profile page, too.</p>" + + fields: + privacy: + choices: + open: + label: "Public" + description: "Anyone can access this community and sign up for an account" + restricted: + label: "Private" + description: "Only people I have invited or approved can access this community" + + contact: + title: "Contact" + fields: + contact_email: + label: "Mail" + placeholder: "name@example.com" + description: "Email address for the person or group responsible for this community. Used for critical notifications such as unhandled flags, security updates, and on <a href='/about' target='_blank'>your about page</a> for urgent community contact." + contact_url: + label: "Web Page" + placeholder: "http://www.example.com/contact-us" + description: "General contact web page for you or your oganization. Will be displayed on <a href='/about' target='_blank'>your about page</a>." + site_contact: + label: "Automated Messages" + description: "All automated Discourse personal messages will be sent from this user. Most importantly, this user will be the designated sender of every welcome message automatically sent to new users." + + corporate: + title: "Organization" + description: "These names will be entered in your <a href='/privacy' target='blank'>Privacy Policy</a> and <a href='/tos' target='blank'>Terms of Service</a>, which you can edit any time in the Staff category. If you don’t have a company, feel free to skip this step for now." + + fields: + company_short_name: + label: "Company Name (short)" + placeholder: "Initech" + company_full_name: + label: "Company Name (full)" + placeholder: "Initech, Inc." + company_domain: + label: "Company Domain Name" + placeholder: "initech.com" + + colors: + title: "Theme" + fields: + theme_id: + description: "Do you prefer a light or dark color scheme to start with? You can always further customize the look and feel of your site via Admin, Customize." + choices: + default: + label: "Simple Light" + dark: + label: "Simple Dark" + + logos: + title: "Logos" + fields: + logo_url: + label: "Primary Logo" + description: "The logo image at the top left of your site. Use a wide rectangle shape." + logo_small_url: + label: "Compact Logo" + description: "A compact version of your logo, shown at the top left of your site when scrolling down. Use a square shape." + + icons: + title: "Icons" + fields: + favicon_url: + label: "Small Icon" + description: "Icon image used to represent your site in web browsers that looks good at small sizes such as 32px by 32px." + apple_touch_icon_url: + label: "Large Icon" + description: "Icon image used to represent your site on modern devices that looks good at larger sizes. Recommended size is at least 144px by 144px." + + homepage: + description: "We recommend showing the latest topics on your homepage, but you can choose to show categories (groups of topics) on the homepage if you prefer." + title: "Homepage" + + fields: + homepage_style: + choices: + latest: + label: "Latest Topics" + categories: + label: "Categories" + + emoji: + title: "Emoji" + description: "Which Emoji style do you prefer for your community? You can always add more custom Emoji later via Admin, Customize, Emoji." + + invites: + title: "Invite Staff" + description: "You’re almost done! Let’s invite some staff members to help <a href='https://blog.discourse.org/2014/08/building-a-discourse-community/' target='blank'>seed your discussions</a> with interesting topics and replies to get your community started." + + finished: + title: "Your Discourse is Ready!" + description: | + <p>If you ever feel like changing these settings, visit <a href='/admin' target='_blank'>your admin section</a>; find it next to the wrench icon in the site menu.</p> + <p>Have fun, and good luck <a href='https://blog.discourse.org/2014/08/building-a-discourse-community/' target='_blank'>building your new community!</a></p> diff --git a/config/locales/server.fi.yml b/config/locales/server.fi.yml index 224c65fcc..fc85f5e12 100644 --- a/config/locales/server.fi.yml +++ b/config/locales/server.fi.yml @@ -107,6 +107,7 @@ fi: operation_already_running: "Tehtävä on parhaillaan käynnissä. Uutta tehtävää ei voi aloittaa juuri nyt." backup_file_should_be_tar_gz: "Varmuuskopion tulisi olla .tar.gz-pakattu tiedosto." not_enough_space_on_disk: "Ei tarpeeksi levytilaa." + invalid_filename: "Varmuuskopion nimi sisältää ei-sallittuja merkkejä. Sallittuja ovat a-z 0-9 . - _." not_logged_in: "Sinun täytyy kirjautua sisään ensin." not_found: "Pyydettyä osoitetta tai resurssia ei löytynyt." invalid_access: "Sinulla ei ole oikeutta nähdä pyydettyä resurssia." @@ -286,6 +287,7 @@ fi: common: "on yksi 10 000 yleisimmästä salasanasta. Ole hyvä ja valitse turvallisempi salasana." same_as_username: "on sama kuin käyttäjätunnuksesi. Ole hyvä ja valitse turvallisempi salasana." same_as_email: "on sama kuin sähköpostiosoitteesi. Ole hyvä ja valitse turvallisempi salasana." + same_as_current: "on sama kuin nykyinen salasanasi." ip_address: signup_not_allowed: "Kirjautuminen ei ole sallittu tälle tilille." color_scheme_color: @@ -295,6 +297,10 @@ fi: post_reply: base: different_topic: "Viestin ja siihen liittyvän vastauksen tulee olla samassa ketjussa." + web_hook: + attributes: + payload_url: + invalid: "URL ei kelpaa- URL:in tulee sisältää http:// tai https://. Välilyöntejä ei saa olla." <<: *errors user_profile: no_info_me: "<div class='missing-profile'>Minusta -kohta käyttäjäprofiilissasi on vielä täyttämättä,<a href='/users/%{username_lower}/preferences/about-me'>haluaisitko täyttää sen nyt?</a></div>" diff --git a/config/locales/server.fr.yml b/config/locales/server.fr.yml index 61d31a99e..178e7b765 100644 --- a/config/locales/server.fr.yml +++ b/config/locales/server.fr.yml @@ -111,6 +111,7 @@ fr: operation_already_running: "Une opération est en cours d'exécution. Vous ne pouvez pas démarrer un nouveau processus pour l'instant." backup_file_should_be_tar_gz: "Le fichier de sauvegarde doit être une archive .tar.gz." not_enough_space_on_disk: "Il n'y a pas assez d'espace sur le disque pour charger cette sauvegarde." + invalid_filename: "Le nom du fichier de sauvegarde contient des caractères invalides. Sont autorisés : a-z 0-9 . - _." not_logged_in: "Vous devez être connecté pour faire cela." not_found: "L'URL ou ressource demandée n'a pas été retrouvé." invalid_access: "Vous n'avez pas la permission de voir cette ressource." @@ -298,6 +299,10 @@ fr: post_reply: base: different_topic: "Message et réponse doivent appartenir au même sujet." + web_hook: + attributes: + payload_url: + invalid: "L'URL est invalide. Elle devrait inclure http:// ou https:// et aucun espace n'est autorisé." <<: *errors user_profile: no_info_me: "<div class='missing-profile'>Le champs À propos de moi de votre profil est vide, <a href='/users/%{username_lower}/preferences/about-me'>voulez vous le remplir ?</a></div>" @@ -510,7 +515,7 @@ fr: email_body: "%{link}\n\n%{message}" notify_moderators: title: "Autre chose" - description: 'Ce message nécessite l''attention des responsables pour une autre raison que celle(s) mentionnée(s) ci-dessus.' + description: 'Ce message demande l''attention des responsables pour une autre raison..' long_form: 'signalé aux responsables' email_title: 'Un message dans « %{title} » nécessite l''attention des responsables' email_body: "%{link}\n\n%{message}" @@ -537,7 +542,7 @@ fr: long_form: 'signalé comme inapproprié' notify_moderators: title: "Autre chose" - description: 'Ce message requiert l''attention d''un responsable d''après la <a href=''/fguidelines''>charte de la communauté</a>, <a href=''%{tos_url}''>les conditions générales de service</a>, ou pour une autre raison indéterminée.' + description: 'Ce sujet demande l''attention des responsables d''après la <a href=''/fguidelines''>charte de la communauté</a>, <a href=''%{tos_url}''>les conditions générales de service</a> ou pour une autre raison.' long_form: 'signalé pour modération' email_title: 'Le sujet « %{title} » nécessite l''attention d''un modérateur' email_body: "%{link}\n\n%{message}" @@ -890,6 +895,7 @@ fr: enable_sso_provider: "Implémenter le procotole Discourse de provider SSO à /session/sso_provider, requiert sso_secret" sso_url: "URL de l'authentification unique SSO (doit inclure http:// ou http://)" sso_secret: "Chaîne de caractères secrète utilisée pour authentifier les informations SSO par cryptographie, assurez-vous qu'elle est de 10 caractères ou plus" + sso_overrides_bio: "Écrase la biographie du profil utilisateur et empêche son changement" sso_overrides_email: "Surcharger les emails locaux avec les emails externes d'un SSO à chaque connexion, et prévenir les modifications locales. (ATTENTION : Des écarts peuvent se produire dus aux règles locales sur les emails)" sso_overrides_username: "Surcharger les pseudos locaux avec les pseudos externes d'un SSO à chaque connexion, et prévenir les modifications locales. (ATTENTION: Des écarts peuvent se produire dus aux différences de longueur et d'exigences sur les pseudos)" sso_overrides_name: "Surcharger les noms complets locaux avec les noms complets externes d'un SSO à chaque connexion, et prévenir les modifications locales." @@ -911,6 +917,7 @@ fr: enable_facebook_logins: "Activer l'authentification Facebook, nécessite facebook_app_id et facebook_app_secret" facebook_app_id: "App id pour l'authentification Facebook, enregistré sur https://developers.facebook.com/apps" facebook_app_secret: "App secret pour l'authentification Facebook, enregistré sur https://developers.facebook.com/apps" + facebook_request_extra_profile_details: "Remplir les champs À propos de moi, Localisation et Site internet depuis Facebook (nécessite que votre application soit autorisée par Facebook)." enable_github_logins: "Activer l'authentification GitHub, nécessite github_client_id et github_client_secret" github_client_id: "Id client pour l'authentification Github, enregistré sur https://github.com/settings/applications" github_client_secret: "Secret client pour l'authentification Github, enregistré sur https://github.com/settings/applications" @@ -964,6 +971,7 @@ fr: external_system_avatars_enabled: "Utilisez un service d'avatars externe." external_system_avatars_url: "URL du service d'avatars externe. Les remplacements autorisés sont {username} {first_letter} {color} {size}" default_opengraph_image_url: "URL de l'image par défaut pour les balises Open Graph." + twitter_summary_large_image_url: "URL de l'image par défaut de la carte de résumé Twitter (devrait au moins mesurer 280px en largeur et 150px en hauteur). " allow_all_attachments_for_group_messages: "Autorise toutes les pièces-jointes pour les messages de groupes." convert_pasted_images_to_hq_jpg: "Convertir les images copiées en fichier JPEG haute qualité." convert_pasted_images_quality: "Qualité du fichier JPEG converti (1 est la plus faible, 100 est la meilleure)." @@ -1198,6 +1206,8 @@ fr: allow_push_user_api_keys: "Autoriser la génération de clés pour utiliser le service push pour l'API utilisateur" max_api_keys_per_user: "Nombre maximum de clés de l'API utilisateur par utilisateur" min_trust_level_for_user_api_key: "Niveau de confiance requis pour générer des clés pour l'API utilisateur" + allowed_user_api_auth_redirects: "URL autorisées pour la redirection d'authentification pour les clés de l'API utilisateur" + allowed_user_api_push_urls: "URL autorisées pour le service push du serveur vers l'API utilisateur" tagging_enabled: "Activer les tags sur les sujets ?" min_trust_to_create_tag: "Le niveau de confiance minimum requis pour créer un tag." max_tags_per_topic: "Le nombre maximum de tags pouvant être ajoutés à un sujet." @@ -1536,7 +1546,7 @@ fr: off_topic: "Votre message a été signalé comme étant **hors sujet**: la communauté considère qu'il ne correspond au sujet en discussion, qui est fixé par son titre et son premier message." inappropriate: "Votre message a été signalé comme étant **inapproprié**: la communauté considère que son contenu est offensif, abusif ou enfreint notre [charte](/guidelines)." spam: "Votre message a été signalé comme étant du **spam**: la communauté considère qu'il s'agit d'une publicité, ou du contenu trop promotionnel au lieu d'être utile et à propos du sujet en discussion." - notify_moderators: "Votre message a été **signalé aux modérateurs**: la communauté considère que quelque chose requiert une intervention d'un des responsables." + notify_moderators: "Votre message a été **signalé aux modérateurs** : la communauté considère qu'il nécessite l'intervention d'un responsable." flags_dispositions: agreed: "Merci de nous en informer. Nous sommes en accord avec votre signalement et nous travaillons à sa résolution." agreed_and_deleted: "Merci de nous en informer. Nous sommes en accord avec votre signalement et avons supprimé le message." diff --git a/config/locales/server.he.yml b/config/locales/server.he.yml index 3a4ce7d78..82232c89b 100644 --- a/config/locales/server.he.yml +++ b/config/locales/server.he.yml @@ -25,7 +25,7 @@ he: <<: *datetime_formats title: "Discourse" topics: "נושאים" - posts: "הודעות" + posts: "פוסטים" loading: "טוען" powered_by_html: 'מונע ע"י <a href="http://www.discourse.org">Discourse</a>, פועל מיטבית עם Javascript' log_in: "התחברות" @@ -111,6 +111,7 @@ he: operation_already_running: "פעולה רצה כרגע. לא יכול להתחיל עבודה חדשה עכשיו." backup_file_should_be_tar_gz: "קובץ הגיוי צריך להיות .tar.gz." not_enough_space_on_disk: "אין מספיק מקום על הדיסק כדי להעלות את הגיבוי הזה." + invalid_filename: "שם קובץ הגיבוי מכיל תווים שגויים. תווים תקינים הם a-z 0-9 . - _." not_logged_in: "אתם צריכים להיות מחוברים כדי לעשות את זה." not_found: "המשאב או כתובת ה-URL המבוקשת לא נמצאו." invalid_access: "אינכם מורשים לצפות במשאב שביקשתם." @@ -141,15 +142,15 @@ he: too_many_mentions_newuser: one: "מצטערים, משתמשים חדשים יכולים לאזכר רק משתמש אחד בפוסט." other: "מצטערים, משתמשים חדשים יכולים להזכיר רק %{count} משתמשים אחרים בפוסט. " - no_images_allowed: "מצטערים, משתמשים חדשים לא יכולים להוסיף תמונות להודעות." + no_images_allowed: "מצטערים, משתמשים חדשים לא יכולים להוסיף תמונות לפוסטים." too_many_images: one: "מצטערים, משתמשים חדשים יכולים להוסיף רק תמונה אחת לפוסט." other: "מצטערים, משתמשים חדשים יכולים להוסיף רק %{count} תמונות לפוסט." - no_attachments_allowed: "מצטערים, משתמשים חדשים לא יכולים להוסיף קבצים להודעות." + no_attachments_allowed: "מצטערים, משתמשים חדשים לא יכולים להוסיף קבצים לפוסטים." too_many_attachments: one: "מצטערים, משתמשים חדשים יכולים להוסיף רק צירוף אחד לפוסט." other: "מצטערים, משתמשים חדשים יכולים להוסיף רק %{count} צירופים לפוסט." - no_links_allowed: "מצטערים, משתמשים חדשים לא יכולים להוסיף קישורים להודעות. " + no_links_allowed: "מצטערים, משתמשים חדשים לא יכולים להוסיף קישורים לפוסטים." too_many_links: one: "מצטערים, משתמשים חדשים יכולים להוסיף רק קישור אחד בפוסט." other: "מצטערים, משתמשים חדשים יכולים להוסיף רק %{count} קישורים בפוסט." @@ -167,7 +168,7 @@ he: rss_posts_in_topic: "תזרים RSS '%{topic}'" rss_topics_in_category: "תזרים RSS של נושאים בקטגוריה '%{category}'" author_wrote: "%{author} כתב:" - num_posts: "הודעות:" + num_posts: "פוסטים:" num_participants: "משתתפים:" read_full_topic: "קראו נושא מלא" private_message_abbrev: "הודעה" @@ -293,6 +294,10 @@ he: post_reply: base: different_topic: "פוסט ותגובה חייבים להיות באותו הנושא." + web_hook: + attributes: + payload_url: + invalid: "ה URL שגוי. צריך להכיל http:// או https://. ותווי רווח אינם מותרים." <<: *errors user_profile: no_info_me: "<div class='missing-profile'>שדה האודות של הפרופיל שלכם ריק כרגע, <a href='/users/%{username_lower}/preferences/about-me'>תרצו למלא אותו?</a></div>" @@ -367,7 +372,7 @@ he: create_post: "אתם מגיבים מהר מדי. אנא המתינו %{time_left} לפני ניסיון חוזר לבצע פעולה זו." delete_post: "אתם מוחקים פוסטים מהר מידי. אנא המתינו %{time_left} לפני שאתם מנסים שוב." topics_per_day: "הגעת למספר המירבי של נושאים חדשים היום. אנא המתן %{time_left} לפני ניסיון חוזר לבצע פעולה זו." - pms_per_day: "הגעת למספר המירבי של הודעות היום. אנא המתן %{time_left} לפני ניסיון חוזר לבצע פעולה זו." + pms_per_day: "הגעתם למספר המירבי של הודעות היום. אנא המתינו %{time_left} לפני ניסיון חוזר לבצע פעולה זו." create_like: "הגעת למספר המירבי של לייקים היום. אנא המתן %{time_left} לפני ניסיון חוזר לבצע פעולה זו." create_bookmark: "הגעת למספר המירבי של מעודפים היום. אנא המתן %{time_left} לפני ניסיון חוזר לבצע פעולה זו." edit_post: "הגעת למספר המירבי של עריכות היום. אנא המתן %{time_left} לפני ניסיון חוזר לבצע פעולה זו." @@ -527,7 +532,7 @@ he: long_form: 'דיגלתם זאת כספאם' inappropriate: title: 'לא ראוי' - description: 'נושא זה מכיל תוכן שהאדם הסביר היה מחשיב פוגעני, מתעלל או הפרה של <a href="/guidelines"> כללי ההתנהלות בקהילה שלנו </a>.' + description: 'נושא זה מכיל תוכן שהאדם הסביר היה מחשיב פוגעני, מתעלל או הפרה של <a href="/guidelines">כללי ההתנהלות בקהילה שלנו</a>.' long_form: 'דוגלל כלא ראוי' notify_moderators: title: "משהו אחר" @@ -536,7 +541,7 @@ he: email_title: 'הנושא "%{title}" דורש תשומת לב של מנהל' email_body: "%{link}\n\n%{message}" flagging: - you_must_edit: '<p> פרסום שלך סומן על ידי הקהילה. בבקשה <a href="/my/messages">בדקו את ההודעות</a>.</p>' + you_must_edit: '<p>פוסט שלכם סומן על ידי הקהילה. בבקשה <a href="/my/messages">בדקו את ההודעות</a>.</p>' user_must_edit: '<p>פרסום זה סומן על ידי הקהילה וכרגע מוסתר באופן זמני.</p>' archetypes: regular: @@ -587,9 +592,9 @@ he: xaxis: "יום" yaxis: "מספר נושאים חדשים" posts: - title: "הודעות" + title: "פוסטים" xaxis: "יום" - yaxis: "מספר הודעות חדשות" + yaxis: "מספר פוסטים חדשים" likes: title: "לייקים" xaxis: "יום" @@ -730,7 +735,7 @@ he: title_nag: "הזינו את השם של האתר שלך. עדכנו את הכותרת ב<a href='/admin/site_settings'>הגדרות האתר</a>." site_description_missing: "הזינו משפט אחד לתיאור האתר שלך אשר יופיע בתוצאות מנועי חיפוש. עדכנו את תיאור האתר ב<a href='/admin/site_settings'>הגדרות האתר</a>." consumer_email_warning: "השרת שלכם מכוון להשתמש בג׳ימייל (או שירות מייל אחר שנועד לאנשים פרטיים) כדי לשלוח מייל. <a href='http://support.google.com/a/bin/answer.py?hl=en&answer=166852' target='_blank'>ג׳ימייל מגביל כמה מיילים ניתן לשלוח</a>. שיקלו להשתמש בשירות מייל כמו mandrill.com כדי להבטיח שליחה של מיילים." - site_contact_username_warning: "הזינו שם חשבון ידידותי של אי/אשת צות ממנו ישלחו הודעות אוטומטיות חשובות. עדכנו את site_contact_username ב<a href='/admin/site_settings'>הגדרות האתר</a>." + site_contact_username_warning: "הזינו שם חשבון ידידותי של אי/אשת צוות ממנו ישלחו הודעות אוטומטיות חשובות. עדכנו את site_contact_username ב<a href='/admin/site_settings'>הגדרות האתר</a>." notification_email_warning: "מיילים ליידוע אינם נשלחים מכתובת תקינה בדומיין שלכם; משלוח דוא\"ל יהיה בעייתי ולא אמין. אנא כוונו את כתובת המייל למשלוח התראות לכתובת מקומית תקינה ב<a href='/admin/site_settings'>הגדרות האתר</a>." subfolder_ends_in_slash: "הגדרות תיקיית המשנה שלכם לא נכונות, הנתיב DISCOURSE_RELATIVE_URL_ROOT צריך להסתיים בלוכסן." email_polling_errored_recently: @@ -747,8 +752,8 @@ he: allow_user_locale: "אפשרו למשתמשים לבחור את הגדרות השפה שלהם בממשק המשתמש/ת" set_locale_from_accept_language_header: "קבעו את שפת הממשק עבור משתמשים אנונימיים לפי השפה בדפדפן. (נ-י-ס-י-ו-נ-י, לא עובד עם cache אנונימי)" min_post_length: "מספר התווים המותר כאורך מינימלי לפרסום פוסט" - min_first_post_length: "אורך מינימלי מותר לפרסום ראשון (בגוף הפרסום) בתווים " - min_private_message_post_length: "אורך הפרסום המינמלי המותר בתווים להודעות" + min_first_post_length: "אורך מינימלי מותר לפרסום ראשון (בגוף הנושא) בתווים " + min_private_message_post_length: "אורך הפוסט המינימלי המותר בתווים להודעות" max_post_length: "מספר התווים המקסימלי כאורך פוסט" min_topic_title_length: "מספר התווים המינימלי הנדרש לכותרת נושא" max_topic_title_length: "מספר התווים המקסימלי המותר לכותרת נושא" @@ -757,10 +762,10 @@ he: search_tokenize_chinese_japanese_korean: "אלצו את החיפוש לנתח סינית/יפנית/קוריאנית גם באתרים שאינם בשפות אלו" search_prefer_recent_posts: "אם חיפוש בפורום הגדול שלכם איטי, אופציה זו מנסה לאנדקס קודם כל את הפוסטים החדשים יותר" search_recent_posts_size: "כמה פוסטים חדשים לשמור באינדקס" - allow_uncategorized_topics: "הרשה לפתוח נושאים ללא קטגוריה.\nאזהרה: אם יש נושאים ללא קטגוריה, יש לסדר אותם לפני שמבטלים את האופציה. " + allow_uncategorized_topics: "הרשה לפתוח נושאים ללא קטגוריה. אזהרה: אם יש נושאים ללא קטגוריה, יש לסדר אותם לפני שמבטלים את האופציה. " allow_duplicate_topic_titles: "אשרו נושאים עם כותרות זהות או משוכפלות." unique_posts_mins: "כמה דקות לפני שמשתמש יכול לפרסם את אותו תוכן שוב" - educate_until_posts: "כאשר המשתמש/ת מתחילים להקיש את (n) ההודעות הראשונות שלהם, הציגו פאנל הנחיה למשתמש באזור חיבור ההודעות." + educate_until_posts: "כאשר המשתמש/ת מתחילים להקיש את (n) הפוסטים הראשונים שלהם, הציגו פאנל הנחיה למשתמש באזור חיבור הפוסטים." title: "שם האתר הזה, כפי שהוא משתמש בתגית הכותרת." site_description: "תארו את האתר הזה במשפט אחד, כפי שהוא מופיע במטא-תגית התיאור." contact_email: "כתובת דוא\"ל של אנשי קשר האחראים לאתר זה. משמשת להתראות חשובות, כמו דגלים שלא טופלו, כמו גם ליצירת קשר חירום בעמוד האודות." @@ -799,7 +804,7 @@ he: email_subject: "התאמה עצמית של מבנה נושא למיילים סטנדרטיים. ראו:\nhttps://meta.discourse.org/t/customize-subject-format-for-standard-emails/20801" force_https: "הכריחו את אתרכם להשתמש אך ורק ב HTTPS. אזהרה: אל תאפשרו זאת עד שתוודאו ש HTTPS מותקן ועובד ממש בכל המקרים! וידאתם את הגדרות ה CDN שלכם, כל שירותי ההתחברות, וכל הלוגואים / תלויות החיצוניים - כדי לוודא שכולם עובדים גם כן עם HTTPS?" summary_score_threshold: "הניקוד המינימלי הנדרש כדי שפרסום ייכלל ב\"סיכום נושא זה\"" - summary_posts_required: "מספר הפרסומים המנימאלי בנושא לפני שהאפשרות \"סיכום נושא זה\" תתאפשר" + summary_posts_required: "מספר הפוסטים המנימלי בנושא לפני שהאפשרות \"סיכום נושא זה\" תתאפשר" summary_likes_required: "מינימום הלייקים לנושא לפני שהאפשרות \"סיכום נושא זה\" תתאפשר" summary_percent_filter: "כאשר משתמש/ת מקליקים על \"סיכום נושא זה\", הציגו את % o הפרסומים הראשונים" summary_max_results: "מספר הפרסומים שיוחזרו באמצעות \"סיכום נושא זה\"" @@ -839,13 +844,13 @@ he: allow_moderators_to_create_categories: "Allow moderators to create new categories" cors_origins: "מקורות שאפשר לבצע להם בקשות קרוס-דומיין (Cross origin requests). כל מקור צריך לכלול את התחילית http:// או https:// . משתנה הסביבה DISCOURCE_ENABLE_CORS חייב להיות true כדי לאפשר CORS." use_admin_ip_whitelist: "מנהלים יכולים להתחבר רק אם הכתובת שלהם מופיע ברשימת ה IPs המסוננים (ניהול > לוגים > כתובות IP מסוננות)." - top_menu: "החליטו אילו פריטים יופיעו בניווט עמוד הבית ובאיזה סדר לדוגמא |אחרונים|חדשים|קטגוריות|מובילים|נקראו|פורסמו|סימניות" + top_menu: "החליטו אילו פריטים יופיעו בניווט עמוד הבית ובאיזה סדר לדוגמה |אחרונים|חדשים|קטגוריות|מובילים|נקראו|פורסמו|סימניות" post_menu: "החליטו אילו פריטים מופיעים בתפריט הפוסט, ובאיזה סדר. למשל like|edit|flag|delete|share|bookmark|reply" post_menu_hidden_items: "פריטי התפריט להסתרה כברירת מחדל בתפריט הפרסום, אלא אם כן נלחץ לחצן ההרחבה." share_links: "החלט אילו פריטים יופיעו בתיבת השיתוף, ובאיזה סדר." track_external_right_clicks: "עקבו אחר קישורים חיצוניים שעליהם נלחץ הכפתור הימני (למשל: פתיחה בטאב חדש) מנוטרל כברירת מחדל כיוון שזה כותב מחדש URLs" site_contact_username: "שם משתמש/ת תקין ממנו ישלחו הודעות פרטיות. אם ישאר ריק חשבון ברירת המחדל של המערכת ישמש לכך." - send_welcome_message: "שלחו כל המשתמשים החדשים הודעת \"ברוכים הבאים\" פרטים עם הדרכה ראשונית כיצד להתחיל." + send_welcome_message: "שלחו לכל המשתמשים החדשים הודעת \"ברוכים הבאים\" עם הדרכה ראשונית כיצד להתחיל." suppress_reply_directly_below: "אל תציגו את סך התגובות המצטבר בפרסום כאשר ישנה תגובה ישירה אחת לפרסום זה." suppress_reply_directly_above: "אל תציגו את את אפשרות ההרחבה \"בתגובה ל..\" לפרסום כאשר יש רק תגובה אחת ישירה מעל לפרסום זה." suppress_reply_when_quoting: "אל תציגו את הפרסום המקורי בפרסומים שמצטטים תגובות" @@ -859,7 +864,7 @@ he: email_token_valid_hours: "סיסמאות שכחת סיסמה / הפעלת חשבון תקפים במשך (n) שעות." email_token_grace_period_hours: "סיסמאות שכחת סיסמה / הפעלת חשבון עדיין זמינים לזמן חסד של (n) שעות לאחר שהופקו." enable_badges: "הפעלת מערכת העיטורים" - enable_whispers: "הודעות פרטיות בין חברי הצוות אפשריות בתוך הפוסט (בנסיון)." + enable_whispers: "הודעות פרטיות בין חברי הצוות אפשריות בתוך הנושא (ניסיוני)" allow_index_in_robots_txt: "פרטו ב-robots.txt שלאתר זה מותר להיות מאונדקס על ידי מנועי חיפוש." email_domains_blacklist: "רשימה מופרדת בצינור (pipe) של דומיינים של אימייל אשר מהם משתמשים לא מורשים לרשום חשבונות. למשל: mailinator.com|trashmail.net" email_domains_whitelist: "רשימה מופרדת בצינור (pipe) אשר ר-ק ממנה משתמשים יכולים לרשום חשבונות. א-ז-ה-ר-ה: משתמשים עם אימיילים מדומיינים אחרים לא יורשו!" @@ -906,6 +911,7 @@ he: enable_facebook_logins: "Enable Facebook authentication, requires facebook_app_id and facebook_app_secret" facebook_app_id: "מזהה אפליקציה לאימות פייסבוק, רשום ב https://developers.facebook.com/apps" facebook_app_secret: "סוד אפליקציה לאימות פייסבוק, רשום ב https://developers.facebook.com/apps" + facebook_request_extra_profile_details: "בקשה עלי, מיקום ואתר מפייסבוק. (מצריך שאפליקציית האימות שלכם תאושר על ידי פייסבוק)" enable_github_logins: "אפשור אימות Github, מצריך github_client_id ו github_client_secret" github_client_id: "מזהה לקוח לאימות Github, רשום ב https://github.com/settings/applications" github_client_secret: "סוד לקוח לאימות Github, רשום ב https://github.com/settings/applications" @@ -959,6 +965,7 @@ he: external_system_avatars_enabled: "שימוש בשירות של מערכת אווטארים חיצונית." external_system_avatars_url: "כתובת של שירות דמויות חיצוני. החלפות מותרות הן {username} {first_letter} {color} {size}" default_opengraph_image_url: "כתובת של תמונת opengraph בברירת המחדל." + twitter_summary_large_image_url: "URL של תמונה מסיכום ברירת המחדל מטוויטר (צריכה להיות ברוחב לפחות 280 פיקסלים ובגובה של לפחות 150 פיקסלים)." allow_all_attachments_for_group_messages: "אפשרו צירוף קבצים להודעות לקבוצות." convert_pasted_images_to_hq_jpg: "המירו תמונות מודבקות לקבצי JPG באיכות גבוהה." convert_pasted_images_quality: "איכות של קובץ ה JPG המומר (1 זו האיכות הנמוכה ביותר, 100 הטובה ביותר)." @@ -1003,7 +1010,7 @@ he: create_thumbnails: "יצירת תמונות מוקטנות והארת תמונות גדולות מידי מלהיכלל בפרסום." email_time_window_mins: "המתינו (n) דקות לפני משלוח כל התראת מייל, כדי לאפשר למשתמשים הזדמנות לערוך ולוודא באופן סופי את הפרסומים שלהם." private_email_time_window_seconds: "המתינו (n) שניות לפני משלוח מיילים אישיים להתראה, על מנת לאפשר למשתמשים לערוך או לתקן את ההודעה." - email_posts_context: "כמה תגובות קודמות יש לכלול למתקן הקשר בהודעות דוא\"ל עם התראות." + email_posts_context: "כמה תגובות קודמות יש לכלול כהקשר במיילים עם התראות." flush_timings_secs: "באיזו תדירות אנחנו מזרימים מידע לשרת, בשניות." title_max_word_length: "האורך המקסימלי המותר למילה בכותרת נושא, בתווים. " title_min_entropy: "האנטרופיה (תווים ייחודים שאינם בשפת הכתיבה) המינימלית הנדרשת בכותרת נושא." @@ -1045,7 +1052,7 @@ he: min_ban_entries_for_roll_up: "בעת לחיצה על לחצן הגלילה למעלה, ייוצר איסור כניסת משנה (subnet ben entry) חדשה אם יש לפחות (N) ערכים." max_age_unmatched_emails: "מחק ערכי דוא\"ל לא תואמים שמוצגים לאחר (N) ימים." max_age_unmatched_ips: "מחק ערכי IP לא תואמים שמוצגים לאחר (N) ימים." - num_flaggers_to_close_topic: "מספר מינימלי של מסמנים שונים שנדרש כדי להשהות באופן אוטומטי אפשות להתערב בנושא" + num_flaggers_to_close_topic: "מספר מינימלי של דגלים שונים שנדרש כדי להשהות באופן אוטומטי אפשות להתערב בנושא" num_flags_to_close_topic: "מספר מינימלי של דגלים פעילים שנדרש כדי להשהות באופן אוטומטי את היכולת להתערב בנושא" auto_respond_to_flag_actions: "אפשרו תגובה אוטמטית עם הסרת דגל." min_first_post_typing_time: "זמן מינימלי במילי-שניות שמשתמש חייב להקיש בזמן הפוסט הראשון, אם הסף לא נעבר הפוסט אוטומטית יכנס לתור של אלו שצריכים אישור. קיבעו 0 כדי לנטרל (לא מומלץ)" @@ -1088,7 +1095,7 @@ he: log_mail_processing_failures: "רישום של כל בעיות העיבוד ל http://yoursitename.com/logs" email_in: "אפשרו למשתמשים לפרסם נושאים חדשים באמצעות דוא\"ל (דורש תשאול באמצעות pop3). הגדירו את הכתובת בלשונית \"הגדרות\" עבור כל קטגוריה." email_in_min_trust: "רמת האמון המינימלית הנדרשת למשתמשים כדי שיוכלו להעלות נושאים חדשים באמצעות הדוא\"ל." - email_prefix: "ה[תווית] שתשמש בנושא הודעות הדוא\"ל. אם לא יוגדר, ברירת המחדל תכוון ל'כותרת' אם לא יוגדר אחרת." + email_prefix: "ה[תווית] שתשמש כנושא של מיילים. אם לא יוגדר, ברירת המחדל תכוון ל'כותרת' אם לא יוגדר אחרת." email_site_title: "הכותרת של האתר שתשמש כשם השולח של דוא\"ל מהאתר. במידה ולא יוגדר ערך, תכוון ברירת המחדל ל\"כותרת\". אם ה\"כותרת\" שלכם מכילה תוים שאינם מותרים לשימוש במחרוזות \"שם השולח\" בדוא\"ל, השתמשו בהגדרה זו." minimum_topics_similar: "כמה נושאים צריכים להתקיים לפני שנושאים דומים יוצגו בעת חיפוש נושא חדש." relative_date_duration: "מספר הימים לאחר פרסום בהם תאריך הפרסום מופיע כתאריך יחסי (7 ימים) לעומת תאריך רגיל (20 בפברואר)." @@ -1125,13 +1132,13 @@ he: permalink_normalizations: "החילו את הביטויים הרגולריים האלו לפני שמתאימים קישורים-קבועים, למשל: /(topic.*)\\?.*/\\1 יסיר מחרוזות שאילתה מנתיבי נושאים. הפורמט הוא regex+string משתמש ב \\1 וכד׳ כדי לגשת להתאמות" global_notice: "הציגו הודעת אזהרה דחופה כללית לכל המבקרים, החליפו לריק כדי להסתיר אותה (ניתן להשתמש ב-HTML)." disable_edit_notifications: "ביטול התראות עריכה על ידי משתמש המערכת כאשר 'download_remote_images_to_local' פעיל." - automatically_unpin_topics: "הסרת נעיצה אוטומטית כאשר המשתמשים מגיעים לתחתית." + automatically_unpin_topics: "הסרת נעיצה אוטומטית של נושאים כאשר המשתמשים מגיעים לתחתית." read_time_word_count: "מספר המילים לדקה כדי להעריך את זמן הקריאה." topic_page_title_includes_category: "כותרת דף נושא כוללת את שם הקטגוריה." full_name_required: "שם מלא הוא שדה נדרש לפרופיל משתמש/ת." enable_names: "הצגת השם המלא של המשתמש/ת בעמודי הפרופיל שלהם, בכרטיסי המשתמ ובדוא\"ל שלהם. נטרול הסתרת השם המלא בכל מקום." display_name_on_posts: "הצגת שמם המלא של משתמשים בפרסומיהם, בנוסף ל@שם_המשתמש שלהם." - show_time_gap_days: "If two posts are made this many days apart, display the time gap in the topic." + show_time_gap_days: "אם שני פוסטים נוצרים מספר זה של ימים אחד מהשני, הציגו את מרווח הזמן בנושא." invites_per_page: "ברירת המחדל, הזמנות המוצגות בעמוד המשתמש." short_progress_text_threshold: "לאחר שמספר הפוסטים בנושא עוברים את המספר הזה, מד ההתקדמות יציג רק את המספר של הפוסט הנוכחי. אם תשנו את רוחב מד ההתקדמות, ייתכן שתצטרכו לשנות ערך זה." default_code_lang: "Default programming language syntax highlighting applied to GitHub code blocks (lang-auto, ruby, python etc.)" @@ -1145,7 +1152,7 @@ he: embed_title_scrubber: "ביטויים רגולריים כדי לנקות כותרות מוטמעות." embed_truncate: "חיתוך הפרסומים המוטמעים." embed_post_limit: "מספר מקסימלי של פרסומים להטמעה." - embed_username_required: "נדרש שם משתמש ליצירת הפוסט." + embed_username_required: "נדרש שם משתמש ליצירת הנושא." embed_whitelist_selector: "בוררי CSS לאלמנטים שיותר להטמיע." embed_blacklist_selector: "בוררי CSS לאלמנטים שיוסרו מן ההטמעות." notify_about_flags_after: "אם יש דגלים שלא טופלו לאחר כמות זו של שעות, שילחו אימייל ל contact_email. קבעו 0 לניטרול." @@ -1163,7 +1170,7 @@ he: approve_unless_trust_level: "פוסטים של משתמשים מתחת לרמת אמון זו חייבים לעבור אישור" notify_about_queued_posts_after: "אם יש פוסטים שהמתינו לסקירה ליותר מכמות השעות הזו, יישלח מייל ל contact_email. קבעו 0 כדי לנטרל את המיילים האלו." auto_close_messages_post_count: "מספר פוסטים מקסימלי בהודעה לפני שהיא נסגרת אוטומטית (0 לניטרול)" - auto_close_topics_post_count: "מספר מקסימלי של פוסטים בנושא לפני שהוא נסגר אוטומטית (0 לביטול)" + auto_close_topics_post_count: "מספר מקסימלי של פוסטים בנושא לפני שהוא נסגר אוטומטית (0 לניטרול)" code_formatting_style: "כפתור קוד בדפדפן יציע אוטומטית סגנון קידוד זה" default_email_digest_frequency: "באיזו תדירות משתמשים יקבלו סיכומי מיילים כברירת מחדל." default_include_tl0_in_digests: "כללו פרסומים ממשתמשים חדשים בדוא\"ל מסכם כברירת מחדל. משתמשים יוכלו לשנות זאת בהעדפות האישיות." @@ -1216,7 +1223,7 @@ he: invalid_integer_max: "הערך חייב לא יכול להיות גדול מ- %{max}." invalid_integer: "הערך חייב להיות מספר שלם." regex_mismatch: "הערך אינו תואם את המבנה הנדרש." - must_include_latest: "Top menu must include the 'latest' tab." + must_include_latest: "התפריט העליון חייב להכיל את טאב ה״מובילים״." invalid_string: "ערך לא תקין." invalid_string_min_max: "חייב להיות בין %{min} ל- %{max} תווים." invalid_string_min: "חייב להיות לפחות %{min} תווים." @@ -1242,12 +1249,12 @@ he: unknown_error: "יש בעיה עם החשבון שלכם. אנא צרו קשר עם מנהל האתר." timeout_expired: "הכניסה לחשבון פקעה, אנא נסו להתחבר שוב." original_poster: "מפרסמים מקוריים" - most_posts: "מירב ההודעות" + most_posts: "מירב הפוסטים" most_recent_poster: "המפרסמים האחרונים" frequent_poster: "מפרסמים מתמידים" redirected_to_top_reasons: new_user: "ברוכים הבאים לקהילה! אלה הנושאים הפופולריים האחרונים אצלנו." - not_seen_in_a_month: "ברוך שובך! לא ראינו אותך כבר כמה זמן, אה? הנה כמה נושאים פופולאריים שהתווספו מאז שהיית כאן." + not_seen_in_a_month: "ברוך שובכם! לא ראינו אתכם כבר כמה זמן, אה? הנה כמה נושאים פופולאריים שהתווספו מאז שהייתם כאן." merge_posts: edit_reason: one: "פוסט מוזג על ידי %{username}" @@ -1261,7 +1268,7 @@ he: other: "%{count} תגובות פוצלו לנושא חדש: %{topic_link}" existing_topic_moderator_post: one: "תגובה אוחדה לנושא קיים: %{topic_link}" - other: "%{count}תגובות אוחדו לנושא קיים: %{topic_link}" + other: "%{count} תגובות אוחדו לנושא קיים: %{topic_link}" change_owner: post_revision_text: "בעלות הועברה מהמשתמש %{old_user} אל %{new_user}" deleted_user: "משתמש שנמחק" @@ -1525,9 +1532,9 @@ he: פוסטים של משתמשים חדשים הושהו לצורך בדיקה והם כרגע ממתינים לסקירה. [אשרו או דחו אותם כאן](%{base_url}/queued-posts). flag_reasons: - off_topic: "הפרסום שלך סומן כ **מחוץ לנושא**: הקהילה מרגישה שהוא לא מתאים לנושא, כפי שמוגדר על ידי הכותרת והפרסום הראשון. " + off_topic: "הפוסט שלכם סומן כ **מחוץ לנושא**: הקהילה מרגישה שהוא לא מתאים לנושא, כפי שמוגדר על ידי הכותרת והפוסט הראשון. " inappropriate: "התגובה שלך סומנה כ**לא מתאימה**: הקהילה מרגישה שהוא פוגעני או הפרה של [our community guidelines](/guidelines)" - spam: "הפרסום שלך סומן כ**ספאם**: הקהילה מרגישה שזה פרסומת, דבר שהוא קידום מכירות באופיו במקום להיות שימושי או רלוונטי לנושא. " + spam: "הפוסט שלך סומן כ**ספאם**: הקהילה מרגישה שזה פרסומת, דבר שהוא קידום מכירות באופיו במקום להיות שימושי או רלוונטי לנושא. " notify_moderators: "הפוסט שלך דוגל **לתשומת לב מנחה**: הקהילה מרגישה שמשהו בפוסט דורש התערבות ידנית של צוות האתר. " flags_dispositions: agreed: "תודה שעדכנת אותנו. אנחנו מסכימים שיש כאן בעיה ואנחנו מנסים לבדוק את העניין." @@ -1914,7 +1921,7 @@ he: סף זה ניתן לשינוי באמצעות הגדרת האתר `block_new_user`. spam_post_blocked: - subject_template: "הודעות של המשתמש/ת החדש/ה %{username} נחסמו בשל קישורים חוזרים." + subject_template: "פוסים של המשתמש/ת החדש/ה %{username} נחסמו בשל קישורים חוזרים." text_body_template: | זוהי הודעה אוטומטית. @@ -2117,7 +2124,7 @@ he: subject_template: "[%{site_name}] סיכום" new_activity: "פעילות חדשה בנושאים ובפוסטים שלכם:" top_topics: "Recent posts the community enjoyed:" - other_new_topics: "Other New Topics:" + other_new_topics: "נושאים פופולאריים" unsubscribe: "סיכום זה נשלח מ %{site_link} כאשר אנחנו לא רואים אתכם לאורך זמן. כדי לבטל את המנוי %{unsubscribe_link}." click_here: "click here" from: "סיכום %{site_name}" @@ -2276,7 +2283,7 @@ he: boolean_yes: "כן" boolean_no: "לא" static_topic_first_reply: | - ערכו את הפוסט הראשון בנושא זהכדי לשנות את התכנים של העמוד %{page_name}. + ערכו את הפוסט הראשון בנושא זה כדי לשנות את התכנים של העמוד %{page_name}. guidelines_topic: title: "שאלות נפוצות / כללים מנחים" tos_topic: diff --git a/config/locales/server.ja.yml b/config/locales/server.ja.yml index 65dfe1efb..ae160e680 100644 --- a/config/locales/server.ja.yml +++ b/config/locales/server.ja.yml @@ -153,19 +153,19 @@ ja: until_posts: other: "%{count} 投稿" new-topic: | - %{site_name} へようこそ!— ** 新たなトピックの作成ありがとうございます!** + %{site_name} へようこそ!— **新たなトピックの作成ありがとうございます!** - タイトルはトピックの内容を正しく説明していますか?他の人にとって興味深いタイトルになっていますか? - このトピックは何をカバーするものですか?このトピックに興味を示しそうなのは誰でしょう?なぜこのトピックは重要なのでしょうか?コミュニティよりどのような回答を期待していますか? - - トピックに適切な検索用ワードを含めると、他の人がトピックを *発見* しやすくなります。詳細は [コミュニティガイドライン](/guidelines) を参照してください。このパネルは最初から %{education_posts_text} 回目までの投稿のときにだけ表示されます。 + - トピックに適切な検索用ワードを含めると、他の人がトピックを *発見* しやすくなります。詳細は [コミュニティガイドライン](/guidelines) を参照してください。このメッセージは最初の %{education_posts_text} まで表示されます。 new-reply: | %{site_name} へようこそ — **コミュニティへの貢献ありがとうございます!** - あなたの回答は議論に何らかの形で貢献していますか? - - コミュニティメンバー同士のやりとりは礼儀正しく、マナーを保ちましょう。 - - 建設的な批判は歓迎します。ただし批判は「人」に対してではなく「アイデア」に対して行いましょう。 - 詳細は[コミュニティガイドライン](/guidelines)を参照してください。このパネルは最初の %{education_posts_text} のみに表示されます。 + - 会話は礼儀正しく、マナーを守りましょう。 + - しっかりとした批判は良いかと思います。ただし「その人」に対してでは無く、「そのアイディア」に対してしましょう。 + 詳細は[コミュニティガイドライン](/guidelines)を参照してください。このメッセージは最初の %{education_posts_text} のみに表示されます。 sequential_replies: |+ ### 一度に複数の投稿に返信する @@ -1317,7 +1317,7 @@ ja: badges: editor: name: 編集者 - description: 最初の投稿を編集する + description: はじめて投稿を編集する autobiographer: name: あなたはだれ? description: <a href="/my/preferences">プロフィール</a>をすべて書く diff --git a/config/locales/server.ru.yml b/config/locales/server.ru.yml index 17b3343d9..130729918 100644 --- a/config/locales/server.ru.yml +++ b/config/locales/server.ru.yml @@ -1344,6 +1344,10 @@ ru: download_remote_images_disabled: subject_template: "Загрузка копий изображений выключена" text_body_template: "Настройка `download_remote_images_to_local` была отключена, т.к. диск заполнился до отменки, указанной в настройке `download_remote_images_threshold`." + dashboard_problems: + subject_template: "Обнаружены проблемы" + text_body_template: | + Некоторые проблемы требуют вашего внимания, более детально можно прочитать [в админке](%{base_url}/admin). subject_re: "Re:" subject_pm: "[PM]" user_notifications: diff --git a/config/locales/server.sk.yml b/config/locales/server.sk.yml index 7de256fb2..d97773a49 100644 --- a/config/locales/server.sk.yml +++ b/config/locales/server.sk.yml @@ -18,20 +18,31 @@ sk: date: month_names: [null, Január, Február, Marec, Apríl, Máj, Jún, Júl, August, September, Október, November, December] <<: *datetime_formats + time: + am: "am" + pm: "pm" + <<: *datetime_formats title: "DIscourse" topics: "Témy" posts: "príspevky" loading: "Načítava sa" powered_by_html: 'Systém beží na <a href="http://www.discourse.org">Discourse</a>, najlepšie funguje so zapnutým JavaScriptom' log_in: "Prihlásenie" + purge_reason: "Automaticky zmazaný ako opustený, dezaktivovaný účet" disable_remote_images_download_reason: "Sťahovanie vzdialených obrázkov je vypnuté kvôli nedostatku diskového priestoru." anonymous: "Anonymný" emails: incoming: default_subject: "Prijatý email od %{email}" + show_trimmed_content: "Ukázať orezaný obsah" + maximum_staged_user_per_email_reached: "Dosiahnutý maximálny počet dočasných používateľov vytvorených emailom." errors: + empty_email_error: "Nastane, keď prijmeme úplne prázdny mail." + no_message_id_error: "Nastane, keď v maili chýba hlavička 'Message-Id'." inactive_user_error: "Nastane, keď odosielateľ nie je aktívny." blocked_user_error: "Nastane, keď odosielateľ bol zablokovaný." + insufficient_trust_level_error: "Nastane, keď sa používateľ pokúsi vytvoriť novú tému v kategórii, na ktorú nemajú dostatočný stupeň dôvery." + topic_closed_error: "Nastane, keď príde odpoveď na uzavretú tému." errors: &errors format: '%{attribute} %{message}' messages: @@ -102,9 +113,9 @@ sk: reading_time: "Doba čítania" likes: "Páči sa mi" too_many_replies: - one: "Lutujeme, noví užívatelia majú dočasne obmedzený počet príspevkov na jeden v rámci jednej témy." - few: "Lutujeme, noví užívatelia majú dočasne obmedzený počet príspevkov na %{count} v rámci jednej témy." - other: "Lutujeme, noví užívatelia majú dočasne obmedzený počet príspevkov na %{count} v rámci jednej témy." + one: "Ľutujeme, noví používatelia majú dočasne obmedzený počet príspevkov na jeden v rámci jednej témy." + few: "Ľutujeme, noví používatelia majú dočasne obmedzený počet príspevkov na %{count} v rámci jednej témy." + other: "Ľutujeme, noví používatelia majú dočasne obmedzený počet príspevkov na %{count} v rámci jednej témy." embed: start_discussion: "Začať diskusiu" continue: "Pokračovať v diskusii" @@ -120,33 +131,33 @@ sk: one: "1 odpoveď" few: "%{count} odpovede" other: "%{count} odpovedí" - no_mentions_allowed: "Ľutujeme, nesmiete menovať iných užívateľov" + no_mentions_allowed: "Ľutujeme, nesmiete zmieňovať iných používateľov" too_many_mentions: - one: "Ľutujeme, v príspevku môžte menovat maximálne jedného užívateľa." - few: "Ľutujeme, v príspevku môžte menovat maximálne %{count} užívatelov." - other: "Ľutujeme, v príspevku môžte menovat maximálne %{count} užívatelov." - no_mentions_allowed_newuser: "Ľutujeme, noví užívatelia nesmú zmieňovať iných uživateľov" + one: "Ľutujeme, v príspevku môžete zmieniť maximálne jedného používateľa." + few: "Ľutujeme, v príspevku môžete zmieniť maximálne %{count} používatelov." + other: "Ľutujeme, v príspevku môžete zmieniť maximálne %{count} používatelov." + no_mentions_allowed_newuser: "Ľutujeme, noví používatelia nesmú zmieňovať iných použivateľov" too_many_mentions_newuser: - one: "Ľutujeme, noví užívatelia môžu menovat v príspevku maximálne jedného užívateľa." - few: "Ľutujeme, noví užívatelia môžu menovat v príspevku maximálne %{count} užívatelov." - other: "Ľutujeme, noví užívatelia môžu menovat v príspevku maximálne %{count} užívatelov." - no_images_allowed: "Ľutujeme, noví užívatelia nemôžu vkladať obrázky do príspevkov." + one: "Ľutujeme, noví používatelia môžu zmieniť v príspevku maximálne jedného používateľa." + few: "Ľutujeme, noví používatelia môžu zmieniť v príspevku maximálne %{count} používatelov." + other: "Ľutujeme, noví používatelia môžu zmieniť v príspevku maximálne %{count} používatelov." + no_images_allowed: "Ľutujeme, noví používatelia nemôžu vkladať obrázky do príspevkov." too_many_images: - one: "Ľutujeme, noví užívatelia môžu vložiť maximálne jeden obrázok do príspevku." - few: "Ľutujeme, noví užívatelia môžu vložiť maximálne %{count} obrázky do príspevku." - other: "Ľutujeme, noví užívatelia môžu vložiť maximálne %{count} obrázkov do príspevku." - no_attachments_allowed: "Ľutujeme, noví užívatelia nemôžu vkladať prílohy do príspevkov." + one: "Ľutujeme, noví používatelia môžu vložiť maximálne jeden obrázok do príspevku." + few: "Ľutujeme, noví používatelia môžu vložiť maximálne %{count} obrázky do príspevku." + other: "Ľutujeme, noví používatelia môžu vložiť maximálne %{count} obrázkov do príspevku." + no_attachments_allowed: "Ľutujeme, noví používatelia nemôžu vkladať prílohy do príspevkov." too_many_attachments: - one: "Ľutujeme, noví užívatelia môžu vložiť maximálne jednu prílohu do príspevku." - few: "Ľutujeme, noví užívatelia môžu vložiť maximálne %{count} prílohy do príspevku." - other: "Ľutujeme, noví užívatelia môžu vložiť maximálne %{count} príloh do príspevku." - no_links_allowed: "Ľutujeme, noví užívatelia nemôžu vkladať odkazy do príspevkov." + one: "Ľutujeme, noví používatelia môžu vložiť maximálne jednu prílohu do príspevku." + few: "Ľutujeme, noví používatelia môžu vložiť maximálne %{count} prílohy do príspevku." + other: "Ľutujeme, noví používatelia môžu vložiť maximálne %{count} príloh do príspevku." + no_links_allowed: "Ľutujeme, noví používatelia nemôžu vkladať odkazy do príspevkov." too_many_links: - one: "Ľutujeme, noví užívatelia môžu vložiť maximálne jeden odkaz do príspevku." - few: "Ľutujeme, noví užívatelia môžu vložiť maximálne %{count} odkazy do príspevku." - other: "Ľutujeme, noví užívatelia môžu vložiť maximálne %{count} odkazov do príspevku." - spamming_host: "Prepáčte, nemôžte publikovať odkazy na tento zdroj" - user_is_suspended: "Suspendovaní užívatelia nemôžu vkladať príspevky" + one: "Ľutujeme, noví používatelia môžu vložiť maximálne jeden odkaz do príspevku." + few: "Ľutujeme, noví používatelia môžu vložiť maximálne %{count} odkazy do príspevku." + other: "Ľutujeme, noví používatelia môžu vložiť maximálne %{count} odkazov do príspevku." + spamming_host: "Ľutujeme, nemôžete publikovať odkaz na tento zdroj" + user_is_suspended: "Suspendovaní používatelia nemôžu vkladať príspevky" topic_not_found: "Niečo sa pokazilo. Téma mohla byť napríklad uzavretá, alebo zmazaná kým ste ju prezerali." just_posted_that: "je to príliš podobné Vášmu predchádzajúcemu príspevku" invalid_characters: "obsahuje neplatné znaky" @@ -156,8 +167,8 @@ sk: page_num: "Stránka %{num}" home_title: "Domov" topics_in_category: " '%{category}' tém v tejto kategórii" - rss_posts_in_topic: "RSS čítačka na %{topic}'" - rss_topics_in_category: "RSS čítačka na tému v kategórii: '%{category}'" + rss_posts_in_topic: "RSS kanál témy '%{topic}'" + rss_topics_in_category: "RSS kanál tém v kategórii '%{category}'" author_wrote: "%{author} napísal:" num_posts: "Príspevky:" num_participants: "Prispievatelia:" @@ -166,15 +177,25 @@ sk: rss_description: latest: "Najnovšie témy" hot: "Horúce témy" + top: "Najvýznamnejšie témy" posts: "Najnovšie príspevky" + private_posts: "Najnovšie súkromné správy" + group_posts: "Najnovšie príspevky od %{group_name}" + group_mentions: "Najnovšie zmienky od %{group_name}" + user_posts: "Najnovšie príspevky od @%{username}" + user_topics: "Najnovšie témy od @%{username}" + tag: "Oštítkované témy" too_late_to_edit: "Tento príspevok bol vytvorený príliš dávno. Už nemôže byť upravovaný či zmazaný" excerpt_image: "Obrázok" queue: delete_reason: "Zmazané moderátorom" groups: errors: + can_not_modify_automatic: "Nemôžete upraviť automatickú skupinu" member_already_exist: "'%{username}' už je členom tejto skupiny." invalid_domain: "'%{domain}' nie je platnou doménou." + invalid_incoming_email: "'%{email}' nie je platná emailová adresa." + email_already_used_in_group: "'%{email}' už je použité skupinou '%{group_name}'." default_names: everyone: "všetci" admins: "administrátori" @@ -235,7 +256,7 @@ sk: too_many_replies: | ### Dosiahli ste limit počtu odpovedí na túto tému - Ľutujeme, noví užívatelia môžu dočasne vložiť len %{newuser_max_replies_per_topic} odpovedí na jednu tému. + Ľutujeme, noví používatelia môžu dočasne vložiť len %{newuser_max_replies_per_topic} odpovedí na jednu tému. Namiesto nového príspevku zvážte možnosť úpravy predchádzajúcich odpovedí, alebo skúste inú tému. reviving_old_topic: | @@ -248,6 +269,8 @@ sk: attributes: category: name: "Názov kategórie" + topic: + title: 'Názov' post: raw: "Telo" user_profile: @@ -259,26 +282,30 @@ sk: base: warning_requires_pm: "Výstraha môže byť pripojená len k súkromným spravam" too_many_users: "Výstraha môže byť zaslaná len jednej osobe" - cant_send_pm: "Ľutujeme, nemôžte zaslať súkromnú správu tomuto užívateľovi" - no_user_selected: "Musíte zadať existujúceho užívateľa" + cant_send_pm: "Ľutujeme, nemôžete zaslať súkromnú správu tomuto používateľovi" + no_user_selected: "Musíte zadať existujúceho používateľa" user: attributes: password: common: "Toto je jedno z 10000 najbežnejších hesiel. Prosím použite bezpečnejšie heslo" - same_as_username: "je také isté ako vaše užívateľské meno. Prosím použite bezpečnejšie heslo" + same_as_username: "je také isté ako vaše používateľské meno. Prosím použite bezpečnejšie heslo" same_as_email: "je také isté ako Váš email. Prosím použite bezpečnejšie heslo" + same_as_current: "je také isté ako Vaše súčasné heslo" ip_address: signup_not_allowed: "Registrácia z tohto účtu nie je povolená-" color_scheme_color: attributes: hex: invalid: "nesprávna farba" + post_reply: + base: + different_topic: "Príspevok a odpoveď musia patriť do rovnakej témy." <<: *errors user_profile: no_info_me: "<div class='missing-profile'>Položka \"O mne\" vo Vašom profile je prázdna, <a href='/users/%{username_lower}/preferences/about-me'>želáte si ju doplníť?</a></div>" no_info_other: "<div class='missing-profile'>%{name} nevložil zatiaľ nič do profilu \"O mne\"</div>" vip_category_name: "Salón" - vip_category_description: "Kategória výhradne pre členov s dôveryhodnosťou 3 a vyššou" + vip_category_description: "Kategória výhradne pre členov so stupňom dôvery 3 a vyšším" meta_category_name: "Podnety pre tvorcov stránky" meta_category_description: "Diskusia o stránke, organizácii, ako funguje a ako ju môžme vylepšit" staff_category_name: "Zamestnanci" @@ -314,15 +341,18 @@ sk: errors: uncategorized_parent: "Nekategorizovaná nemôže mať nadradenú kategóriu" self_parent: "Podkategória si nemôže byť zároveň kategóriou " - depth: "Nemôžte umiestniť podkategóriu pod inú podkategóriu" + depth: "Nemôžete umiestniť podkategóriu pod inú podkategóriu" + invalid_email_in: "'%{email}' nie je platná emailová adresa" + email_already_used_in_group: "'%{email}' už je použité skupinou '%{group_name}'." + email_already_used_in_category: "'%{email}' už je použité kategóriou '%{category_name}'." cannot_delete: - uncategorized: "Nemôžte vymazať nekategorizované" - has_subcategories: "Nemôžte vymazať kategóriu pretože obsahuje podkategórie" + uncategorized: "Nemôžete vymazať kategóriu nezaradených" + has_subcategories: "Nemôžete vymazať kategóriu pretože obsahuje podkategórie." topic_exists: - one: "Nemôžte vymazať kategóriu pretože obsahuje tému %{topic_link}." - few: "Nemôžte vymazať kategóriu pretože obsahuje %{count} témy. Najstaršia téma je %{topic_link}." - other: "Nemôžte vymazať kategóriu pretože obsahuje %{count} tém. Najstaršia téma je %{topic_link}." - topic_exists_no_oldest: "Nemôžte vymazať túto kategóriu pretože obsahuje %{count} tém." + one: "Nemôžete vymazať kategóriu pretože obsahuje tému %{topic_link}." + few: "Nemôžete vymazať kategóriu pretože obsahuje %{count} témy. Najstaršia téma je %{topic_link}." + other: "Nemôžete vymazať kategóriu pretože obsahuje %{count} tém. Najstaršia téma je %{topic_link}." + topic_exists_no_oldest: "Nemôžete vymazať túto kategóriu pretože obsahuje %{count} tém." uncategorized_description: "Témy, ktoré nepotrebujú kategóriu, alebo sa do žiadnej existujúcej nehodia." trust_levels: newuser: @@ -455,7 +485,7 @@ sk: few: "pred takmer %{count} rokmi" other: "pred takmer %{count} rokmi" password_reset: - no_token: "Prepáčte, táto linka na zmenu hesla je už príliš stará. Stlačte tlačitlo Prihlásiť a použite \"Zabudol som heslo\" pre vytvorenie novej linky" + no_token: "Ľutujeme, tento odkaz na zmenu hesla je už príliš starý. Stlačte tlačidlo Prihlásiť a použite \"Zabudol som heslo\" pre vytvorenie nového odkazu." choose_new: "Prosim zadajte nové heslo" choose: "Prosím zadajte heslo" update: 'Aktualizujte heslo' @@ -468,9 +498,10 @@ sk: confirmed: "Vaša emailova adresa bola aktualizovaná" please_continue: "Pokračujte na %{site_name}" error: "Nastala chyba pri aktualizácii emailu. Nieje už náhodou použitý?" + already_done: "Ľutujeme, tento podvrdzovací odkaz je už neplatný. Nie je Váš email už zmenený?" activation: action: "Pre aktiváciu účtu kliknite sem" - already_done: "Prepáčte, táto potvrdzovacia linka je už neplatná. Nie je už účet aktivny ?" + already_done: "Ľutujeme, tento podvrdzovací odkaz je už neplatný. Nie je Váš účet už aktivny?" please_continue: "Váš nový účet je potvrdený. Budete presmerovaní na domovskú stránku." continue_button: "Pokračujte na %{site_name}" welcome_to: "Vitajte na %{site_name}!" @@ -540,6 +571,26 @@ sk: message: make: "Téma je odteraz baner. Bude sa zobrazovať navrchu každej stránky, pokiaľ ju používateľ nezavrie." remove: "Téma odteraz nie je baner. Už sa nebude viac zobrazovat navrchu každej stránky." + unsubscribed: + title: "Odhlásený!" + unsubscribe: + title: "Odhlásiť" + stop_watching_topic: "Prestať pozerať túto tému, %{link}" + mute_topic: "Stíšiť všetky upozornenia pre túto tému, %{link}" + unwatch_category: "Prestať pozerať všetky témy v kategórii %{category}" + mailing_list_mode: "Vypnúť režim mailing listu" + disable_digest_emails: "Prestaňte mi posielať súhrnné emaily" + all: "Neposielajte mi žiadne maily zo stránky %{sitename}" + not_found_description: "Ľutujeme, nedokázali sme Vás odhlásiť. Je možné, že platnosť odkazu vo Vašom emaile vypršala." + log_out: "Odhlásiť sa" + user_api_key: + title: "Autorizovať prístup aplikácie" + authorize: "Autorizovať" + read: "čítať" + read_write: "čítať/zapisovať" + description: "Chcete udelit aplikácii \"%{application_name}\" právo %{access} Váš účtet?" + no_trust_level: "Ľutujeme, nemáte dostatočný stupeň dôvery na prístup k používateľskému API" + generic_error: "Ľutujeme, nie je možné vystaviť používateľský API kľúč, táto možnosť môže byť vypnutá administrátorom." reports: visits: title: "Používateľské návštevy" @@ -578,7 +629,7 @@ sk: xaxis: "Deň" yaxis: "Počet nových ohviezdičkovaných tém" users_by_trust_level: - title: "Užívatelia podľa stupňa dôvery" + title: "Používatelia podľa stupňa dôvery" xaxis: "Stupeň dôvery" yaxis: "Počet použivateľov" emails: @@ -586,7 +637,7 @@ sk: xaxis: "Deň" yaxis: "Počet emailov" user_to_user_private_messages: - title: "Užívateľ užívateľovi" + title: "Používateľ používateľovi" xaxis: "Deň" yaxis: "Počet správ" system_private_messages: @@ -602,7 +653,7 @@ sk: xaxis: "Deň" yaxis: "Počet správ" notify_user_private_messages: - title: "Upozorniť užívateľa" + title: "Upozorniť používateľa" xaxis: "Deň" yaxis: "Počet správ" top_referrers: @@ -700,7 +751,7 @@ sk: censored_words: "Slová, ktoré budu automatický nahradené znakmi ■■■■" delete_old_hidden_posts: "Automatické zmazanie príspevkov, ktoré ostali skryté viac ako 30 dní" default_locale: "Predvolený jazyk tejto inštancie Discourse je (ISO 639-1 Code)" - allow_user_locale: "Povoliť užívateľom zvoliť si vlastný jazyk" + allow_user_locale: "Povoliť používateľom zvoliť si vlastný jazyk" min_post_length: "Minimálny povolený počet znakov v príspevkoch" min_first_post_length: "Minimálny povolený počet znakov pre prvý príspevok (obsah témy)" min_private_message_post_length: "Minimálny povolený počet znakov v správe" @@ -712,8 +763,8 @@ sk: search_tokenize_chinese_japanese_korean: "Prinúť vyhľádávanie rozložiť Čínštinu/Japončinu/Kórejčinu dokonca i pre nie CJK stránky" allow_uncategorized_topics: "Pvoliť vytváranie tém bez kategórií. UPOZORNENIE: Pokiaľ existujú nekategorizované témy, musíte ich zaradiť do kategórii skôr než túto možnosť vypnete." allow_duplicate_topic_titles: "Povoliť témy s rovnakými, duplikovanými názvami" - unique_posts_mins: "Koľko minút musí byť medzi dvomi rovnakými príspevkami od jedného užívateľa." - educate_until_posts: "Ked užívateľ začne písať svojich prvých (n) príspevkov, zobraz sprievodcu vzdelávania pre nového užívateľa. " + unique_posts_mins: "Koľko minút musí byť medzi dvomi rovnakými príspevkami od jedného používateľa." + educate_until_posts: "Ked používateľ začne písať svojich prvých (n) príspevkov, zobraz sprievodcu vzdelávania pre nového užívateľa. " title: "Meno stránok, tak ako je použité v značke title." site_description: "Popíšte stránky v jednej vete, tak ako sa popisujú v tagu meta." contact_email: "Emailová adresa kľúčovej kontaktnej osoby zodpovednej za túto stránku. Používa sa pri kritických situáciach, ako napríklad neošetrené návestia a tiež pri kontaktnom formulári pre dôležité prípady." @@ -765,10 +816,11 @@ sk: flag_sockpuppets: "Ak nový používateľ odpovedá na tému z rovnakej IP adresy, ako nový používateľ, ktorý danú tému vytvoril, označ oba ich príspevky ako potencionálny spam." traditional_markdown_linebreaks: "V Markdown použiť tradičné oddeľovače riadkov, čo vyžaduje dve koncové medzery ako oddeľovač riadku." allow_html_tables: "V Markdown umožniť použitie tabuliek pomocou HTML značiek. TABLE, THEAD, TD, TR, TH budú umožnené (vyžaduje \"full rebake\" na všetkých starých príspevkoch ktoré obsahujú tabuľky)" - post_undo_action_window_mins: "Počet minút počas ktorých môžu užívatelia zrušiť poslednú akciu na príspevku (\"Páči sa\", označenie, atď..)." - must_approve_users: "Obsluha musí povoliť účty všetkým novým užívateľom skôr než im bude povolený prístup na stránku. UPOZORNENIE: zapnutie na živej stránke spôsobí zrušenie prístupu pre existujúcich používateľov, okrem obsluhy!" - pending_users_reminder_delay: "Upozorni moderátora ak nový užívateľ čaká na schválenie dlhšie ako tento počet hodín. Nastavte -1 pre vypnutie upozornenia." - ga_universal_tracking_code: "Google Universal Analytics (analytics.js) sledovaní kód, napr: UA-12345678-9; pozri http://google.com/analytics" + post_undo_action_window_mins: "Počet minút počas ktorých môžu používatelia zrušiť poslednú akciu na príspevku (\"Páči sa\", označenie, atď..)." + must_approve_users: "Obsluha musí povoliť účty všetkým novým používateľom skôr než im bude povolený prístup na stránku. UPOZORNENIE: zapnutie na živej stránke spôsobí zrušenie prístupu pre existujúcich používateľov, okrem obsluhy!" + pending_users_reminder_delay: "Upozorni moderátora ak nový používateľ čaká na schválenie dlhšie ako tento počet hodín. Nastavte -1 pre vypnutie upozornenia." + ga_tracking_code: "ZASTARALÉ: Google analytics (ga.js) sledovací kód, napr.: UA-12345678-9; pozri http://google.com/analytics" + ga_universal_tracking_code: "Google Universal Analytics (analytics.js) sledovací kód, napr: UA-12345678-9; pozri http://google.com/analytics" ga_universal_domain_name: "Google Universal Analytics (analytics.js) názov domény, napr: mysite.com; pozri http://google.com/analytics" enable_noscript_support: "Zapnúť štandardnú podporu prehľadávačov pomocou značky noscript" allow_moderators_to_create_categories: "Povoliť moderátorom vytváranie nových kategórií" @@ -778,33 +830,33 @@ sk: post_menu: "Určuje, ktoré položky sa objavia v menu príspevku a v akom poradí. Napríklad páči sa mi|upraviť|označiť|vymazať|zdieľať|záložka|odpovedať" post_menu_hidden_items: "Položky vo východzích nastaveniach menu schované pri príspevkovom menu, dokiaľ neni kliknuté na rozbaľovaciu elipsu." share_links: "Uveďte, ktoré položky sa maju zobraziť v zdieľacom dialógu a v akom poradí." - track_external_right_clicks: "Sledovať externé odkazy na ktore sa klkne pravým tlačidlom (npar. otvorenie v novej záložke) Vypnuté vo východzích nastaveniach, pretože to prepisuje URL adresy" + track_external_right_clicks: "Sledovať externé odkazy na ktoré sa klkne pravým tlačidlom (napr. otvorenie na novej karte) Vypnuté vo východzích nastaveniach, pretože to prepisuje URL adresy" site_contact_username: "Platné uťívateľské meno obsluhy, ktorá bude posielať automatizované správy. Pokiaľ je vynechané, použije sa východzí systémový účet. " - send_welcome_message: "Poslač všetkým novým užívateľom uvítaciu správu s príručkou ako začať. " + send_welcome_message: "Poslať všetkým novým používateľom uvítaciu správu s návodom ako začať. " suppress_reply_directly_below: "Nezobrazovať rozbaľovacie tlačidlo s počtom odpovedí ak je k príspevku len jedna odpoveď priamo pod ním." suppress_reply_directly_above: "Nezobrazovať rozbaľovacie tlačidlo v-odpovedi-na ak je len jedna odpoveď priamo nad príspevkom." suppress_reply_when_quoting: "Nezobrazovať rozbaľovacie tlačidlo v-odpovedi-na ak príspevok cituje odpoveď." max_reply_history: "Maximálny počet odpovedí ktoré sa zobrazia po rozbalení v-odpovedi-na" topics_per_period_in_top_summary: "Zobrazovaný počet najlepších tém vo východzom zozname najlepších tém." topics_per_period_in_top_page: "Zobrazovaný počet najlepších tém vzozname po rozbalení 'Ukáž viac' najlepších tém." - redirect_users_to_top_page: "Automaticky presmeruj nových a dlho neprihlásených užívateľov na hlavnú stránku. " + redirect_users_to_top_page: "Automaticky presmeruj nových a dlho neprihlásených používateľov na hlavnú stránku. " top_page_default_timeframe: "Východzí interval pre presmerovanie na hlavnú stránku." - show_email_on_profile: "Zobraziť užívateľov email na ich profile (viditeľné len nimi samotnými a obsluhou)" + show_email_on_profile: "Zobraziť používateľov email na ich profile (viditeľné len nimi samotnými a obsluhou)" email_token_valid_hours: "Platnosť tokenov pre Zabudnuté heslo a aktiváciu účtu v (n) hodinách." email_token_grace_period_hours: "Platnosť tokenov pre Zabudnuté heslo a aktiváciu účtu v (n) hodinách po ich uplatnení." enable_badges: "Povoliť systém odznakov" - enable_whispers: "Povoliť súkromnú konverzáciu pre redakciu vrámci témy. (experimantálne)" + enable_whispers: "Povoliť súkromnú konverzáciu pre redakciu v rámci témy. (experimantálne)" allow_index_in_robots_txt: "V súbore robots.txt nastaviť, že tieto stránky je povolené indexovať vyhľadávačmi." email_domains_blacklist: "Rúrou oddelený zoznam emailových domén, ktorých použitie nie je povolené pri registrácií. Napríklad: mailinator.com|trashmail.net" - email_domains_whitelist: "Rúrou oddelený zoznam emailových domén, s použitím ktorých sa používateľ MUSÍ zaregistrovať. VAROVANIE: registrácia použivatelia s neuvedenými doménami nebude povolená!" + email_domains_whitelist: "Zoznam emailových domén oddelených zvislým oddelovačom \"|\", s použitím ktorých sa používateľ MUSÍ zaregistrovať. VAROVANIE: registrácia použivatelia s neuvedenými doménami nebude povolená!" log_out_strict: "Pri odhlasovaní odhlásiť VŠETKY sessiony používateľa, na všetkých zariadeniach." version_checks: "Zisťovať aktualizácie na Discourse Hub a zobrazovať správy o novej verzii na stránke admina" new_version_emails: "Poslať email na kontaktnú emailovú adresu ak je zistená nová verzia Discourse." port: "POZOR! LEN PRE VÝVOJÁROV! Použiť tento HTTP port namiesto predvoleného portu 80. Nechajte prázdne pre port 80." force_hostname: "POZOR! LEN PRE VÝVOJÁROV! V URL zadajte hostname. Ak chcete použiť predvolené, nechajte políčko prázdne." invite_expiry_days: "Ako dlho je platná pozvánka pre používateľa, v dňoch" - invite_passthrough_hours: "Ako dlho môže užívateľ používať získaný pozývací kľúč na prihlasovanie, v hodinách" - invite_only: "Verejná registrácia je vypnutá, všetci noví užívatelia musia byť explicitne pozvaní ostatnými členmi alebo obsluhou." + invite_passthrough_hours: "Ako dlho môže používateľ používať získaný pozývací kľúč na prihlasovanie, v hodinách" + invite_only: "Verejná registrácia je vypnutá, všetci noví používatelia musia byť explicitne pozvaní ostatnými členmi alebo obsluhou." login_required: "Požadovať prihlásenie pre čítanie obshau tejto stránky, zakáž anonymný prístup. " min_username_length: "Minimálna dĺžka používateľského mena v znakoch." max_username_length: "Maximálna dĺžka používateľského mena v znakoch." @@ -821,8 +873,8 @@ sk: sso_overrides_avatar: "Nahrádzať používateľský avatar pomocou avatara z externej stránky pomocou dát z SSO dotazu. V prípade zapnutia veľmi doporučujeme vypnúť allow_uploaded_avatars" sso_not_approved_url: "Presmeruj nepovolené SSO účty na URL" enable_local_logins: "Povoliť pouťívanie lokálnych účtov a hesiel. (Poznámka: musí to byť zapnuté pre fungovanie pozvánok)" - allow_new_registrations: "Povoliť registráciu nových užívateľov. Odznačte to ak chcete zabrániť vytváraniu nových účtov. " - enable_signup_cta: "Zobraz oznámenie pre navrátilých anonymných užívateľov s výzvou na registráciu účtu. " + allow_new_registrations: "Povoliť registráciu nových používateľov. Odznačte to ak chcete zabrániť vytváraniu nových účtov. " + enable_signup_cta: "Zobraz oznámenie pre navrátilých anonymných používateľov s výzvou na registráciu účtu. " enable_yahoo_logins: "Povoliť autentifikáciu pomocou Yahoo." enable_google_oauth2_logins: "Povoliť Google Oauth2 autentifikáciu. Táto métoda je podporovaná Googlom. Vyžaduje kľúč a šifru." google_oauth2_client_id: "Client ID Vašej Google aplikácie." @@ -836,6 +888,7 @@ sk: enable_github_logins: "Povoliť autentifikáciu cez Github, vyžaduje github_client_id a github_client_secret" github_client_id: "Client id pre Github autentifikáciu, registrované na https://github.com/settings/applications" github_client_secret: "Client secret pre Github autentifikáciu, registrované na https://github.com/settings/applications" + readonly_mode_during_backup: "Zapnúť režim len na čítanie počas vytvárania zálohy" allow_restore: "Umožniť obnovu, ktorá nahradí VŠETKY data na stránkach! Ponechajte prázdne okrem prípadu ak chcete obnoviť zo zálohy." maximum_backups: "Maximálny počet záloh udržiavaných na disku. Staršie zálohy budu automaticky vymazané" automatic_backups_enabled: "Spustiť automatické zálohy podľa nastavenia intervalu záloh" @@ -867,7 +920,7 @@ sk: clean_up_uploads: "Na zamedzenie nezákonného uloženia odstrániť opustené nahrané súbory na ktoré nevedie žiadny odkaz. VAROVANIE: pred zapnutím tohoto nastavenie možno chcete zálohovať Váš adresár s nahranými súbormi." clean_orphan_uploads_grace_period_hours: "Doba (v hodinách) pred odstránením opustených nahraných súborov." purge_deleted_uploads_grace_period_days: "Doba (v dňoch) pred úplným vymazaním odstráneného nahraného súboru." - purge_unactivated_users_grace_period_days: "Doba (v dňoch) pred tým, než je užívateľ, ktorý si neaktivoval svoj účet vymazaný." + purge_unactivated_users_grace_period_days: "Doba (v dňoch) pred tým, než je používateľ, ktorý si neaktivoval svoj účet vymazaný." enable_s3_uploads: "Ukladať nahrávané súbory na úložište S3. DÔLEŽITÉ: vyžaduje platné prístupové údaje S3 (id prístupového kľúča (access key id) a tajný prístupový kľúč (secret access key))." s3_use_iam_profile: 'Použiť rolu AWS EC2 IAM na načítanie kľúčov. POZNÁMKA: zapnutie prepíše nastavený "s3 prístupový kľúč id (s3 access key id)" a "s3 tajný prístupový kľúč (s3 secret access key)".' s3_upload_bucket: "Amazon S3 bucket name, do ktorého budú nahraté súbory. POZOR: musí byť malými písmenami, žiadne bodky a žiadne podtržítka." @@ -879,22 +932,22 @@ sk: external_system_avatars_enabled: "Použiť externú avatar službu." default_opengraph_image_url: "URL štandardného opengraph obrázku." enable_flash_video_onebox: "Povolenia vkladania odkazov na swf a flv (Adobe Flash) v onebox. VAROVANIE: môže vniesť bezpečnostné riziká." - default_invitee_trust_level: "Predvolená úroveň dôvery (0-4) pre pozvaných používateľov." - default_trust_level: "Východzí stupeň dôvery (0-4) pre všekých nových užívateľov. UPOZORNENIE: Zmena nastavenia Vás môže vystaviť riziku spamovania. " - tl1_requires_topics_entered: "Koľko tém musí nový užívateľ zadať pred povýšením na stupeň dôvery 1." - tl1_requires_read_posts: "Koľko príspevkov musí nový užívateľ prečítať pred povýšením na stupeň dôvery 1." - tl1_requires_time_spent_mins: "Koľko minút musí nový užívateľ čítať príspevky pred povýšením na stupeň dôvery 1." - tl2_requires_topics_entered: "Koľko tém musí nový užívateľ zadať pred povýšením na stupeň dôvery 2." - tl2_requires_read_posts: "Koľko príspevkov musí nový užívateľ prečítať pred povýšením na stupeň dôvery 2." - tl2_requires_time_spent_mins: "Koľko minút musí nový užívateľ čítať príspevky pred povýšením na stupeň dôvery 2." - tl2_requires_days_visited: "Koľko dní musí nový užívateľ navštevovať stránku pred povýšením na stupeň dôvery 2." - tl2_requires_likes_received: "Koľko \"Páči sa\" musí nový užívateľ dostať pred povýšením na stupeň dôvery 2." - tl2_requires_likes_given: "Koľko \"Páči sa\" musí nový užívateľ rozdať pred povýšením na stupeň dôvery 2." - tl2_requires_topic_reply_count: "Na koľko tém musí nový užívateľ odpovedať pred povýšením na stupeň dôvery 2." - tl3_requires_topics_viewed_all_time: "Minimálny počet všetkých tém, ktoré musí mať užívateľ pozreté pre kvalifikáciu na dosiahnute 3 levelu dôvery. " - tl3_requires_posts_read_all_time: "Minimálny počet všetkých príspevkov, ktoré musí mať užívateľ prečítané pre kvalifikáciu na 3 level dôvery. " - tl3_promotion_min_duration: "MInimálny počet dní po pridelení 3 levelu dôvery než môže byť užívateľ degradovaný späť na 3 level dôvery." - tl3_links_no_follow: "Neodstraňujte rel = nofollow z odkazov pridaných užívateľmi s úrovňou dôveryhodnosti 3 ." + default_invitee_trust_level: "Predvolená stupeň dôvery (0-4) pre pozvaných používateľov." + default_trust_level: "Východzí stupeň dôvery (0-4) pre všekých nových používateľov. UPOZORNENIE: Zmena nastavenia Vás môže vystaviť riziku spamovania. " + tl1_requires_topics_entered: "Koľko tém musí nový používateľ zadať pred povýšením na stupeň dôvery 1." + tl1_requires_read_posts: "Koľko príspevkov musí nový používateľ prečítať pred povýšením na stupeň dôvery 1." + tl1_requires_time_spent_mins: "Koľko minút musí nový používateľ čítať príspevky pred povýšením na stupeň dôvery 1." + tl2_requires_topics_entered: "Koľko tém musí nový používateľ zadať pred povýšením na stupeň dôvery 2." + tl2_requires_read_posts: "Koľko príspevkov musí nový používateľ prečítať pred povýšením na stupeň dôvery 2." + tl2_requires_time_spent_mins: "Koľko minút musí nový používateľ čítať príspevky pred povýšením na stupeň dôvery 2." + tl2_requires_days_visited: "Koľko dní musí nový používateľ navštevovať stránku pred povýšením na stupeň dôvery 2." + tl2_requires_likes_received: "Koľko \"Páči sa\" musí nový používateľ dostať pred povýšením na stupeň dôvery 2." + tl2_requires_likes_given: "Koľko \"Páči sa\" musí nový používateľ rozdať pred povýšením na stupeň dôvery 2." + tl2_requires_topic_reply_count: "Na koľko tém musí nový používateľ odpovedať pred povýšením na stupeň dôvery 2." + tl3_requires_topics_viewed_all_time: "Minimálny počet všetkých tém, ktoré musí mať používateľ zhliadnuté pre kvalifikáciu na dosiahnute stupňa dôvery 3." + tl3_requires_posts_read_all_time: "Minimálny počet všetkých príspevkov, ktoré musí mať používateľ prečítané pre kvalifikáciu na stupeň dôvery 3." + tl3_promotion_min_duration: "MInimálny počet dní po pridelení stupňa dôvery 3 kým môže byť používateľ degradovaný späť na stupeň dôvery 2." + tl3_links_no_follow: "Neodstraňujte rel=nofollow z odkazov pridaných používateľmi so stupňom dôvery 3." min_trust_to_create_topic: "MInimálna úroveň dôvery na vytvorenie novej témy." min_trust_to_edit_wiki_post: "MInimálna úroveň dôvery na úpravu wiki príspevku." min_trust_to_allow_self_wiki: "MInimálna úroveň dôvery k tomu aby mohol používateľ svoje témy meniť na wiki." @@ -905,6 +958,7 @@ sk: newuser_max_mentions_per_post: "Maximálny počet notifikácií typu @meno môže nový užívateľ použiť v príspevku." newuser_max_replies_per_topic: "Maximálny počet odpovedí ktoré môže nový používateľ pridať do jednej témy pokiaľ na ne niekto neodpovie." max_mentions_per_post: "Maximálný počet notifikácií typu @meno, ktoré môže ktokoľvek použiť v rámci jedného príspevku." + max_users_notified_per_group_mention: "Maximálny počet používateľov, ktorý môže dostať upozornenie ak je zmienená skupina (ak je dosiahnutá hranica, žiadne upozornenie nebude poslané)" create_thumbnails: "Vytvor náhľad a okraje pre obrázoky, ktoré sú príliš veľké aby sa zmestili do príspevku." email_time_window_mins: "Počkať (n) minút pred poslaním akýchkoľvek notifikačných emailov, aby mali používatelia čas úpraviť a dokončiť svoje príspevky." email_posts_context: "Koľko posledných odpovedí zahrnúť do obsahu v notifikačných emailoch." @@ -1014,9 +1068,9 @@ sk: warn_reviving_old_topic_age: "Zobrazenie varovania, ak niekto začne odpovedať na tému, kde je posledná odpoveď staršia ako uvedený počet dní. Na vypnutie varozania zadajte 0." autohighlight_all_code: "Zapnúť vysvietenie syntaxe kódu na všetky formátované bloky kódu, i keď nie je explicitne zadaný jazyk." feed_polling_enabled: "IBA VKLADANIE: Či sa má vkladať RSS/ATOM kanál ako príspevok." - feed_polling_url: "IBA VKLADANIE: URL RSS/ATOM kanálu na vloženie" + feed_polling_url: "IBA VKLADANIE: URL RSS/ATOM kanála na vloženie" embed_by_username: "Discourse používateľské meno pre používateľa, ktorý vkladá vložené príspevky." - embed_username_key_from_feed: "Kľúč na načítanie discourse používateľského mena z RSS/ATOM kanálu." + embed_username_key_from_feed: "Kľúč na načítanie discourse používateľského mena z RSS/ATOM kanála." embed_truncate: "Orezať vkladané príspevky." embed_post_limit: "Maximálny počet príspevkov na vloženie." embed_username_required: "Na vytvorenie téme je vyžadované používateľské meno." @@ -1033,8 +1087,10 @@ sk: emoji_set: "Aké emoji chcete mať?" enforce_square_emoji: "Vynútiť švorcový pomer strán na všetkých emoji." approve_unless_trust_level: "Príspevky používateľov pod touto úrovňou důvery musia byť schválené" + auto_close_messages_post_count: "Maximálny počet povolených príspevkov v správe kým je automaticky uzavretá (0 znamená vypnuté)" + auto_close_topics_post_count: "Maximálny počet povolených príspevkov v téme kým je automaticky uzavretá (0 znamená vypnuté)" default_email_private_messages: "Štandardne poslať email použivateľovi, ktorému niekto poslal správu." - default_email_direct: "Štandardne poslať email ak niekto cituje/odpovedá/uvednie alebo pozve používateľa." + default_email_direct: "Štandardne poslať email ak niekto cituje/odpovedá na/zmieni alebo pozve používateľa." default_email_mailing_list_mode: "Štandardne poslať email pre každý nový príspevok." default_email_always: "Štandardne poslať emailovú správu dokonca i vtedy, ak je používateľ aktívny." default_other_new_topic_duration_minutes: "Globálna šandardná podmienka kedy sa téma považuje za novú." @@ -1044,9 +1100,12 @@ sk: default_other_dynamic_favicon: "Štandardne zobraziť počet nových/aktualizovaných tém v ikone prehliadača." default_other_disable_jump_reply: "Štandardne po odpovedi neskákať na používateľov príspevok." default_topics_automatic_unpin: "Štandardne automaticky odopnúť témy ak používateľ dosiahne posledný príspevok." - default_categories_watching: "Štandardný zoznam kategórií, ktoré sú sledované." + default_categories_watching: "Štandardný zoznam kategórií, ktoré sú pozerané." default_categories_tracking: "Štandardný zoznam kategórií, ktoré sú sledované." default_categories_muted: "Štandardný zoznam kategórií, ktoré sú vypnuté." + min_trust_level_for_user_api_key: "Stupeň dôvery potrebný na generovanie používateľských API kľúčov" + min_trust_to_create_tag: "Minimálny stupeň dôvery potrebný na vytvorenie štítku" + min_trust_level_to_tag_topics: "Minimálny stupeň dôvery potrebný na štítkovanie tém" errors: invalid_email: "Nesprávna emailová adresa." invalid_username: "S daným používateľským menom neexistuje žiadny používateľ." @@ -1092,13 +1151,21 @@ sk: deleted_user: "vymazaný užívateľ" emoji: errors: - name_already_exists: "Prepáčte, meno '%{name}'je už použité iným emoji." - error_while_storing_emoji: "Prepáčte, pri ukladaní emoji nastala chyba." + name_already_exists: "Ľutujeme, meno '%{name}' je už použité iným emoji." + error_while_storing_emoji: "Ľutujeme, pri ukladaní emoji nastala chyba." topic_statuses: archived_enabled: "Táto téma je archivovaná. Je zmrazená a už sa nedá nijako meniť. " archived_disabled: "Táto téma je vyňatá z archivu. Už nie je zmrazená a môže sa opäť meniť. " closed_enabled: "Táto téma je už uzavretá. Nové odpovede už nie sú povolené." closed_disabled: "Táto téma je teraz otvorená. Nové odpovede sú povolené." + autoclosed_message_max_posts: + one: "Táto správa bola automaticky uzavretá po dosiahnutí maximálneho limitu 1 odpovede." + few: "Táto správa bola automaticky uzavretá po dosiahnutí maximálneho limitu %{count} odpovedí." + other: "Táto správa bola automaticky uzavretá po dosiahnutí maximálneho limitu %{count} odpovedí." + autoclosed_topic_max_posts: + one: "Táto téma bola automaticky uzavretá po dosiahnutí maximálneho limitu 1 odpovede." + few: "Táto téma bola automaticky uzavretá po dosiahnutí maximálneho limitu %{count} odpovedí." + other: "Táto téma bola automaticky uzavretá po dosiahnutí maximálneho limitu %{count} odpovedí." autoclosed_enabled_days: one: "Táto téma bola automaticky uzavretá po 1 dni . Nové odpovede už nie sú povolené." few: "Táto téma bola automaticky uzavretá po %{count} dňoch . Nové odpovede už nie sú povolené." @@ -1140,7 +1207,7 @@ sk: not_activated: "Systém vás nemôže prihlásiť. Poslali sme vám aktivačný email. Prosím, postupujte podľa inštrukcií na aktiváciu účtu, ktoré sú uvedené v tomto emaile." not_allowed_from_ip_address: "Nie je možné prihlásenie ako %{username} z tejto IP adresy." admin_not_allowed_from_ip_address: "Nie je možné prihlásenie ako admin z tejto IP adresy." - suspended: "Nemôžte sa prihlásiť do %{date}." + suspended: "Nemôžete sa prihlásiť do %{date}." suspended_with_reason: "Tento účet je suspendovaný do %{date}: %{reason}" errors: "%{errors}" not_available: "Nie je k dispozícii. Skúste %{suggestion}?" @@ -1266,45 +1333,122 @@ sk: subject_template: "Export dát kompletný" csv_export_failed: subject_template: "Export dát zlyhal" + text_body_template: "Ľutujeme, ale export Vašich dát zlyhal. Prosím, skontrolujte logy alebo kontaktujte člena obsluhy." email_reject_insufficient_trust_level: subject_template: "[%{site_name}] Problém s emailom -- Nízka úroveň dôvery" + text_body_template: | + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + + Váš účet nemá požadovaný stupeň dôvery na vytváranie nových tém pomocou emailu. Ak si myslíte, že ide o chybu, kontaktujte obsluhu. + email_reject_user_not_found: + text_body_template: | + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + + Vaša odpoveď bola poslaná z neznámej emailovej adresy. Skúste ju poslať z inej emailovej adresy alebo kontaktujte obsluhu. + email_reject_screened_email: + text_body_template: | + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + + Vaša odpoveď bola poslaná z blokovanej emailovej adresy. Skúste ju poslať z inej emailovej adresy alebo kontaktujte obsluhu. email_reject_inactive_user: subject_template: "[%{site_name}] Problém s emailom -- Neaktívny užívateľ" + text_body_template: | + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + + Váš účet asociovaný s touto emailovou adresou nie je aktivovaný. Prosím aktivujte svoj účet pred posielaním emailov. + email_reject_blocked_user: + text_body_template: | + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + + Váš účet asociovaný s touto emailovou adresou bol zablokovaný. + email_reject_reply_user_not_matching: + text_body_template: | + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + + Vaša odpoveď bola poslaná z inej emailovej adresy ako sme očakávali, takže si nie sme istí či sa jedná o tú istú osobu. Skúste ju poslať z inej emailovej adresy alebo kontaktujte obsluhu. email_reject_no_account: subject_template: "[%{site_name}] Problém s emailom -- Neznámy účet" + text_body_template: | + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + + Nemôžeme nájsť žiaden účet zodpovedajúci Vašej emailovej adrese. Skúste ju poslať z inej emailovej adresy alebo kontaktujte obsluhu. email_reject_empty: subject_template: "[%{site_name}] Problém s emailom -- Žiadny obsah" text_body_template: | - Prepáčte, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. Vo Vašom emaile sa nám nepodarilo nájsť žiadny pridávaný obsah. Ak ste si istý, že ste obsah pridali, pokúste sa znovu a použite jednoduchšie formátovanie. email_reject_parsing: text_body_template: | - Prepáčte, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. Vo Vašom emaile se nepodarilo nájsť pridávaný obsah. **Uistite sa, že ste odpoveď uviedli na začiatku emailu** -- nedokážeme spracovať vložené odpovede. email_reject_invalid_access: subject_template: "[%{site_name}] Problém s emailom -- Nesprávny prístup" + text_body_template: | + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + + Váš účet nemá právo na vytváranie nových tém v danej kategórii. Ak si myslíte, že ide o chybu, kontaktujte obsluhu. email_reject_strangers_not_allowed: subject_template: "[%{site_name}] Problém s emailom -- Nesprávny prístup" + text_body_template: | + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + + Kategória, do ktorej ste poslali tento email, povoľuje odpovede iba od používateľov s platným účtom a známou emailovou adresou. Ak si mysíte, že ide o chybu, kontaktujte zamestnanca stránok. email_reject_invalid_post: subject_template: "[%{site_name}] Problém s emailom -- Chyba pri uverejnení" + text_body_template: | + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + + Medzi možnými príčinami môže byť: komplexné formátovanie, správa je príliš veľká, správa je príliš krátka. Prosíme skúste znovu alebo, ak sa chovanie opakuje, uverejnite pomocou webstránky. email_reject_invalid_post_specified: subject_template: "[%{site_name}] Problém s emailom -- Chyba pri uverejnení" + text_body_template: | + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + + Dôvod: + + %{post_error} + + Ak tento problém dokážete odstrániť, prosíme pokus opakujte. email_reject_invalid_post_action: subject_template: "[%{site_name}] Problém s emailom -- Neplatná akcia k príspevku" + text_body_template: | + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + + Akcia uverejnenia nebola rozpoznaná. Prosíme skúste znovu alebo, ak sa chovanie opakuje, uverejnite pomocou webstránky. email_reject_reply_key: subject_template: "[%{site_name}] Problém s emailom -- Neznámy kľúč odpovede" + text_body_template: | + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + + Kľúč odpovede v emaili je neplatný alebo neznámy, takže nedokážeme zistiť na čo tento email odpovedá. Kontaktujte obsluhu. email_reject_bad_destination_address: subject_template: "[%{site_name}] Problém s emailom -- Neznáma adresa príjemcu - Komu:" + text_body_template: | + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + + Žiadna z adries príjemcov nebola rozpoznaná. Prosíme, uistite sa, že email posielate na správnu adresu poskytnutú obsluhou. email_reject_topic_not_found: subject_template: "[%{site_name}] Problém s emailom -- Téma nebola nájdená" + text_body_template: | + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + + Téma, na ktorú odpovedáte už neexistuje - možno bola zmazaná? Ak si myslíte, že ide o chybu, kontaktujte obsluhu. email_reject_topic_closed: subject_template: "[%{site_name}] Problém s emailom -- Téma je uzavretá" + text_body_template: | + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + + Téma, na ktorú odpovedáte je momentálne zavretá a neakceptuje ďalšie odpovede. Ak si myslíte, že ide o chybu, kontaktujte obsluhu. email_reject_auto_generated: subject_template: "[%{site_name}] Problém s emailom -- Automaticky generovaná odpoveď" + text_body_template: | + Ľutujeme, ale Vaša emailová správa na %{destination} (titled %{former_title}) nefungovala. + + Váš email bol označený ako "automaticky vygenerovaný", čo znamená, že bol vytvorený automaticky počítačom namiesto napísaný človekom; tento typ emailov nemôžeme akceptovať. Ak si myslíte, že ide o chybu, kontaktujte obsluhu. email_error_notification: subject_template: "[%{site_name}] Problém s emailom -- Chyba pri POP autentifikácií" spam_post_blocked: @@ -1358,7 +1502,7 @@ sk: text_body_template: | Niekto si vyžiadal reset Vášho hesla na [%{site_name}](%{base_url}). - Ak ste to neboli Vy, môžte ignorovať tento email. + Ak ste to neboli Vy, môžete ignorovať tento email. Pre zmenu hesl kliknite na nasledujúci odkaz %{base_url}/users/password-reset/%{email_token} @@ -1399,6 +1543,8 @@ sk: images: too_large: "Ľutujeme, obrázok, ktorý sa pokúšate nahrať, je príliš veľký (maximálna veľkosť je %{max_size_kb}KB), prosím zmenšite ho a skúste znovu. " size_not_found: "Ľutujeme, ale nepodarilo sa nám zistiť veľkosť obrázku. Nie je nahodou poškodený?" + avatar: + missing: "Ľutujeme, ale nemôžeme nájsť žiaden avatar asociovaný s touto emailovou adresou. Môžete ho skúsiť nahrať znova?" email_log: no_user: "Nepodarilo sa nájsť užívateľa s id %{user_id}" anonymous_user: "Používateľ je anonymný" @@ -1530,6 +1676,11 @@ sk: title: "Podmienky používania" privacy_topic: title: "Ochrana súkromia" + badges: + first_mention: + name: Prvá zmienka + description: Zmienený používateľ v príspevku + long_description: Tento odznak je udelený, keď prvýkrát zmienite niekoho @meno vo Vašom príspevku. Každá zmienka generuje upozornenie danej osobe, takže bude vedieť o Vašom príspevku. Jednoducho začnite písať @ (zavináč) aby ste zmienili používateľa alebo, ak je to povolené, skupinu - Je to pohodlný spôsob ako upútať ich pozornosť. admin_login: success: "Email odoslaný" error: "Chyba !" @@ -1540,8 +1691,6 @@ sk: performance_report: initial_post_raw: Táto téma obsahuje denné reporty rýchlosti Vašich stránok. initial_topic_title: Reporty rýchlosti stránok - time: - <<: *datetime_formats activemodel: errors: <<: *errors diff --git a/config/locales/server.sq.yml b/config/locales/server.sq.yml index 65d97c969..2b746b51e 100644 --- a/config/locales/server.sq.yml +++ b/config/locales/server.sq.yml @@ -7,7 +7,6 @@ sq: dates: - short_date_no_year: "D MMM" short_date: "D MMM, YYYY" long_date: "MMMM D, YYYY h:mma" datetime_formats: &datetime_formats @@ -29,12 +28,10 @@ sq: loading: "Loading" powered_by_html: 'Mundësuar nga <a href="http://www.discourse.org">Discourse</a>, për një eksperience më të mirë aktivizoni JavaScript' log_in: "Identifikohu" - disable_remote_images_download_reason: "Remote images download was disabled because there wasn't enough disk space available." anonymous: "Anonim" errors: &errors format: '%{attribute} %{message}' messages: - too_long_validation: "is limited to %{max} characters; you entered %{length}." invalid_boolean: "Boolean jo i vlefshëm." taken: "është i marrë" accepted: duhet të pranohet @@ -42,56 +39,19 @@ sq: present: mund të lihet bosh confirmation: "nuk përputhet %{attribute}" empty: nuk mund të lihet bosh - equal_to: must be equal to %{count} - even: must be even exclusion: është i rezervuar - greater_than: must be greater than %{count} - greater_than_or_equal_to: must be greater than or equal to %{count} - inclusion: is not included in the list invalid: është i pavlefshëm - less_than: must be less than %{count} - less_than_or_equal_to: must be less than or equal to %{count} not_a_number: nuk është një numër - not_an_integer: must be an integer - odd: must be odd - record_invalid: 'Validation failed: %{errors}' - restrict_dependent_destroy: - one: "Cannot delete record because a dependent %{record} exists" - many: "Cannot delete record because dependent %{record} exist" - too_long: - one: is too long (maximum is 1 character) - other: is too long (maximum is %{count} characters) - too_short: - one: is too short (minimum is 1 character) - other: is too short (minimum is %{count} characters) - wrong_length: - one: is the wrong length (should be 1 character) - other: is the wrong length (should be %{count} characters) - other_than: "must be other than %{count}" - template: - body: 'There were problems with the following fields:' - header: - one: 1 error prohibited this %{model} from being saved - other: '%{count} errors prohibited this %{model} from being saved' embed: load_from_remote: "Postimi nuk mundi të ngarkohet. Riprovoheni!" site_settings: default_categories_already_selected: "Nuk mund të zgjidhni një kategori të përdorur në një tjetër listë." bulk_invite: file_should_be_csv: "Skedari duhet të jete i formatit csv ose txt" - backup: - operation_already_running: "An operation is currently running. Can't start a new job right now." - backup_file_should_be_tar_gz: "The backup file should be a .tar.gz archive." - not_enough_space_on_disk: "There is not enough space on disk to upload this backup." not_logged_in: "Ju duhet të identifikoheni për këtë veprim." - not_found: "The requested URL or resource could not be found." invalid_access: "Ju nuk jeni të drejta për të parë burimin e kërkuar." - read_only_mode_enabled: "The site is in read only mode. Interactions are disabled." reading_time: "Koha e leximit" likes: "Pëlqime" - too_many_replies: - one: "We're sorry, but new users are temporarily limited to 1 reply in the same topic." - other: "We're sorry, but new users are temporarily limited to %{count} replies in the same topic." embed: start_discussion: "Fillo Diskutim" continue: "Vazhdo Diskutimin" @@ -100,24 +60,17 @@ sq: other: "janë %{count} përgjigje" loading: "Duke Ngarkuar Diskutimin..." permalink: "Permalink" - imported_from: "This is a companion discussion topic for the original entry at %{link}" in_reply_to: "▶ %{username}" replies: one: "1 përgjigje" other: "%{count} përgjigje" spamming_host: "Na vjen keq, you cannot post a link to that host." - user_is_suspended: "Suspended users are not allowed to post." - topic_not_found: "Something has gone wrong. Perhaps this topic was closed or deleted while you were looking at it?" - just_posted_that: "is too similar to what you recently posted" invalid_characters: "përmban karaktere jo të vlefshëm" - is_invalid: "is invalid; try to be a little more descriptive" next_page: "faqja tjetër →" prev_page: "← faqe mëparshme" page_num: "Faqe %{num}" home_title: "Kryefaqja" - topics_in_category: "Topics in the '%{category}' category" rss_posts_in_topic: "Burimi RSS i '%{topic}'" - rss_topics_in_category: "RSS feed of topics in the '%{category}' category" author_wrote: "%{author} shkruajti:" num_posts: "Postime:" num_participants: "Pjesëmarrësit:" @@ -127,13 +80,9 @@ sq: latest: "Temat e fundit" hot: "Temat Kryesore" posts: "Postimet e fundit" - too_late_to_edit: "That post was created too long ago. It can no longer be edited or deleted." + too_late_to_edit: "Ky postim është fshirë para shumë kohësh. Nuk mund të ndryshohet apo fshihet më." excerpt_image: "imazh" - queue: - delete_reason: "Deleted via post moderation queue" groups: - errors: - member_already_exist: "'%{username}' is already a member of this group." default_names: everyone: "të gjithë" admins: "admins" @@ -159,49 +108,47 @@ sq: Për më tepër, [lexoni porositë e bashkësisë](/guidelines). Ky panel do t'ju shfaqet vetëm gjatë %{education_posts_text} tuaj të parë. new-reply: | - Mirë se vini tek %{site_name} — **faleminderit për ndihmën!** + Mirë se vini tek %{site_name} — **faleminderit për pjesëmarrjen!** - - Does your reply improve the conversation in some way? + - Jini të sjellshëm me anëtarët e tjerë të faqes. - - Be kind to your fellow community members. + - Kritikat janë të mirëpritura, ama mundohuni të kritikoni *idetë* e jo anëtarët. - - Constructive criticism is welcome, but criticize *ideas*, not people. + - A i shton diçka diskutimit përgjigja juaj? - For more, [see our community guidelines](/guidelines). This panel will only appear for your first %{education_posts_text}. + Për më shumë, shikoni [udhëzimet e faqes](/guidelines). Ky njoftim do të shfaqet vetëm për %{education_posts_text}. avatar: | - ### How about a picture for your account? + ### Pse nuk i vendosni një foto ose avatar llogarisë tuaj? + Hej, ju keni dërguar disa tema dhe përgjigje në faqe, por nuk keni akoma foto profili. You've posted a few topics and replies, but your profile picture isn't as unique as you are -- it's just a letter. - Have you considered **[visiting your user profile](%{profile_path})** and uploading a picture that represents you? - - It's easier to follow discussions and find interesting people in conversations when everyone has a unique profile picture! + A e dini se mund të shkoni tek **[profili juaj](%{profile_path})** dhe të ngarkoni një foto përfaqësuese? sequential_replies: | - ### Consider replying to several posts at once + ### Konsideroni t'i përgjigjeni disa komenteve njëkohësisht - Rather than many sequential replies to a topic, please consider a single reply that includes quotes from previous posts or @name references. + Është më mirë të postoni një përgjigje me disa citime sesa të dërgoni disa përgjigje njëra pas tjetrës. - You can edit your previous reply to add a quote by highlighting text and selecting the <b>quote reply</b> button that appears. + Mund të redaktoni përgjigjet tuaja dhe t'i shtoni citime. - It's easier for everyone to read topics that have fewer in-depth replies versus lots of small, individual replies. - dominating_topic: | - ### Let others join the conversation + Kështu do të jetë dhe më e lehtë për të gjithë të lexojnë tema që kanë disa përgjigje të thella në vend të shumë përgjigjeve individuale. + dominating_topic: |+ + ### Lëri edhe të tjerët të marrin pjesë në diskutim - This topic is clearly important to you – you've posted more than %{percent}% of the replies here. + Duket që kjo temë është e rëndësishme për ju – ju keni postuar mbi %{percent}% të përgjigjeve këtu. + + Ama, a po i lini hapësirë anëtarëve të tjerë të shprehen? - Are you sure you're providing adequate time for other people to share their points of view, too? too_many_replies: | - ### You have reached the reply limit for this topic + ### Keni arritur limitin e përgjigjeve tek kjo temë - We're sorry, but new users are temporarily limited to %{newuser_max_replies_per_topic} replies in the same topic. - - Instead of adding another reply, please consider editing your previous replies, or visiting other topics. + Na vjen keq, por anëtarët e rinj nuk mund të postojnë më shumë se %{newuser_max_replies_per_topic} përgjigje në një temë. reviving_old_topic: | - ### Revive this topic? + ### Doni të rizgjoni këtë temë të vjetër? - The last reply to this topic is now over %{days} days old. Your reply will bump the topic to the top of its list and notify anyone previously involved in the conversation. + Përgjigja e fundit këtu është postuar mbi %{days} ditë më parë. Përgjigja juaj do t'a ngjisë këtë postim në majë të listave dhe do t'ju çojë një njoftim të gjithë pjesëmarrësve në diskutim. - Are you sure you want to continue this old conversation? + A jeni të sigurtë që doni të vazhdoni? activerecord: attributes: category: @@ -215,32 +162,19 @@ sq: topic: attributes: base: - warning_requires_pm: "You can only attach warnings to private messages." - too_many_users: "You can only send warnings to one user at a time." - cant_send_pm: "Sorry, you cannot send a private message to that user." + cant_send_pm: "Ndjesë, nuk mund t'i dërgoni këtij përdoruesi një mesazh privat." no_user_selected: "Ju duhet të zgjidhni një përdorues të vlefshëm." user: attributes: password: common: "është një ndër 10000 fjalëkalimet më të përdorur. Ju ftojmë të përdorni një më të sigurtë." - same_as_username: "is the same as your username. Please use a more secure password." - same_as_email: "is the same as your email. Please use a more secure password." - ip_address: - signup_not_allowed: "Signup is not allowed from this account." color_scheme_color: attributes: hex: invalid: "nuk është një ngjyrë e vlefshme" <<: *errors - user_profile: - no_info_me: "<div class='missing-profile'>the About Me field of your profile is currently blank, <a href='/users/%{username_lower}/preferences/about-me'>would you like to fill it out?</a></div>" - no_info_other: "<div class='missing-profile'>%{name} hasn't entered anything in the About Me field of their profile yet</div>" - vip_category_name: "Lounge" - vip_category_description: "A category exclusive to members with trust level 3 and higher." meta_category_name: "Reagimet e Faqes" - meta_category_description: "Discussion about this site, its organization, how it works, and how we can improve it." staff_category_name: "Stafi" - staff_category_description: "Private category for staff discussions. Topics are only visible to admins and moderators." assets_topic_body: "This is a permanent topic, visible only to staff, for storing images and files used in the site design. Don't delete it!\n\n\nHere's how:\n\n\n1. Reply to this topic.\n2. Upload all the images you wish to use for logos, favicons, and so forth here. (Use the upload toolbar icon in the post editor, or drag-and-drop or paste images.)\n3. Submit your reply to post it.\n4. Right click the images in your new post to get the path to the uploaded images, or click the edit icon to edit your post and retrieve the path to the images. Copy the image paths.\n5. Paste those image paths into [basic settings](/admin/site_settings/category/required).\n\n\nIf you need to enable different file type uploads, edit `authorized_extensions` in the [file settings](/admin/site_settings/category/files)." lounge_welcome: title: "Mirë se vini në Lounge" @@ -282,19 +216,17 @@ sq: newuser: title: "anëtar i ri" basic: - title: "anëtar basic" + title: "anëtar i thjeshtë" member: title: "anëtarë" regular: - title: "i rregullt" + title: "i zakonshëm" leader: title: "udhëheqës" - change_failed_explanation: "You attempted to demote %{user_name} to '%{new_trust_level}'. However their trust level is already '%{current_trust_level}'. %{user_name} will remain at '%{current_trust_level}' - if you wish to demote user lock trust level first" rate_limiter: - too_many_requests: "We have a daily limit on how many times that action can be taken. Please wait %{time_left} before trying again." hours: - one: "1 hour" - other: "%{count} hours" + one: "1 orë" + other: "%{count} orë" minutes: one: "1 minutë" other: "%{count} minuta" @@ -346,32 +278,23 @@ sq: one: "1 sekondë më parë" other: "%{count} sekonda më parë" less_than_x_minutes: - one: "less than 1 minute ago" - other: "less than %{count} minutes ago" + one: "më pak se 1 minutë më parë" + other: "më pak se %{count} minuta më parë" x_minutes: one: "1 minutë më parë" other: "%{count} minuta më parë" about_x_hours: - one: "1 hour ago" - other: "%{count} hours ago" + one: "para 1 ore" + other: "para %{count} orësh" x_days: - one: "1 day ago" - other: "%{count} days ago" + one: "para 1 dite" + other: "para %{count} ditësh" about_x_months: one: "rreth 1 muaj më parë" other: "rreth %{count} muaj më parë" x_months: one: "1 muaj më parë" other: "%{count} muaj më parë" - about_x_years: - one: "about 1 year ago" - other: "about %{count} years ago" - over_x_years: - one: "over 1 year ago" - other: "over %{count} years ago" - almost_x_years: - one: "almost 1 year ago" - other: "almost %{count} years ago" password_reset: no_token: "Sorry, that password change link is too old. Select the Log In button and use 'I forgot my password' to get a new link." choose_new: "Zgjidhni një fjalëkalim të ri" @@ -379,46 +302,47 @@ sq: update: 'Rifresko Fjalëkalimin' save: 'Vendos Fjalëkalim' title: 'Rivendos Fjalëkalimin' - success: "You successfully changed your password and are now logged in." - success_unapproved: "You successfully changed your password." + success: "Ndryshimi i fjalëkalimit u krye me sukses dhe tashmë ju jeni futur në faqe." + success_unapproved: "Ndryshimi i fjalëkalimit u krye me sukses." continue: "Vazhdo tek %{site_name}" change_email: - confirmed: "Adresa e postës u azhurnuar." + confirmed: "Adresa e postës u azhornua." please_continue: "Vazhdo tek %{site_name}" - error: "There was an error changing your email address. Perhaps the address is already in use?" + error: "Hasëm një gabim gjatë ndryshimit të adresës email. Mos vallë është në përdorim nga një llogari tjetër në faqe?" activation: action: "Klikoni këtu për të aktivizuar llogarinë tuaj" - already_done: "Sorry, this account confirmation link is no longer valid. Perhaps your account is already active?" please_continue: "Llogaria juaj e re u konfirumua; ju po ridrejtoheni për tek faqja kryesore." continue_button: "Vazhdo tek %{site_name}" welcome_to: "Mirë se vini tek %{site_name}!" - approval_required: "A moderator must manually approve your new account before you can access this forum. You'll get an email when your account is approved!" post_action_types: off_topic: title: 'Jashtë teme' - description: 'This post is not relevant to the current discussion as defined by the title and first post, and should probably be moved elsewhere.' - long_form: 'flagged this as off-topic' + description: 'Ky postim nuk i përshtatet bisedës në fjalë siç përcaktohet nga titulli dhe postimi i parë dhe duhet të zhvendoset diku tjetër.' + long_form: 'sinjalizoi këtë postim si jashtë teme' spam: title: 'Spam' - description: 'This post is an advertisement. It is not useful or relevant to the current topic, but promotional in nature.' - long_form: 'flagged this as spam' - email_title: '"%{title}" was flagged as spam' + description: 'Ky postim është një njoftim reklamues. Nuk është i vlefshëm dhe nuk ka lidhje me temën e tanishme, por ka natyrë promovuese.' + long_form: 'sinjalizoi këtë postim si spam' + email_title: '"%{title}" u sinjalizua si spam' email_body: "%{link}\n\n%{message}" inappropriate: title: 'i papërshtatshëm' - description: 'This post contains content that a reasonable person would consider offensive, abusive, or a violation of <a href="/guidelines">our community guidelines</a>.' - long_form: 'flagged this as inappropriate' + description: 'Ky postim përmban pjesë që një person i arsyeshëm do ta quante ofenduese, fyese, ose kundër <a href="/guidelines">udhëzimeve të komunitetit tonë</a>.' + long_form: 'sinjalizoi këtë postim si të papërshtatshëm' notify_user: + title: 'Dërgoji @{{username}} një mesazh' + description: 'Dëshiroj të flas me këtë person drejtpërdrejt dhe privatish rreth këtij postimi.' long_form: 'messaged user' email_title: 'Postimi juaj në "%{title}"' email_body: "%{link}\n\n%{message}" notify_moderators: title: "Diçka tjetër" + description: 'Ky postim kërkon vëmendjen e stafit për një arsye që nuk është radhitur më lart.' email_body: "%{link}\n\n%{message}" bookmark: title: 'Bookmark' description: 'Bookmark this post' - long_form: 'bookmarked this post' + long_form: 'shtoi postimin tek të preferuarat' like: title: 'Pëlqe' description: 'Më pëlqen ky postim' @@ -426,7 +350,7 @@ sq: vote: title: 'Voto' description: 'Voto për këtë postim' - long_form: 'voted for this post' + long_form: 'votoi për këtë postim' topic_flag_types: spam: title: 'Spam' @@ -434,8 +358,8 @@ sq: long_form: 'flagged this as spam' inappropriate: title: 'I papërshtatshëm' - description: 'This topic contains content that a reasonable person would consider offensive, abusive, or a violation of <a href="/guidelines">our community guidelines</a>.' - long_form: 'flagged this as inappropriate' + description: 'Ky postim përmban pjesë që një person i arsyeshëm do ta quante ofenduese, fyese, ose kundër <a href="/guidelines">udhëzimeve të komunitetit tonë</a>.' + long_form: 'shënoje si të papërshtatshme' notify_moderators: title: "Diçka Tjetër" long_form: 'shënoje për vëmendjen e moderatorëve' @@ -930,10 +854,10 @@ sq: category: 'Categories' topic: 'Results' user: 'Users' - original_poster: "Original Poster" + original_poster: "Postuesi fillestar" most_posts: "Most Posts" - most_recent_poster: "Most Recent Poster" - frequent_poster: "Frequent Poster" + most_recent_poster: "Postuesi i përgjigjes së fundit" + frequent_poster: "Postues i shpeshtë" redirected_to_top_reasons: new_user: "Welcome to our community! These are the most popular recent topics." not_seen_in_a_month: "Welcome back! We haven't seen you in a while. These are the most popular topics since you've been away." @@ -998,16 +922,7 @@ sq: not_allowed_from_ip_address: "You can't log in as %{username} from that IP address." admin_not_allowed_from_ip_address: "You can't log in as admin from that IP address." suspended: "You can't log in until %{date}." - suspended_with_reason: "Account suspended until %{date}: %{reason}" - errors: "%{errors}" - not_available: "Not available. Try %{suggestion}?" - something_already_taken: "Something went wrong, perhaps the username or email is already registered. Try the forgot password link." - omniauth_error: "Sorry, there was an error authorizing your account. Perhaps you did not approve authorization?" - omniauth_error_unknown: "Something went wrong processing your log in, please try again." - new_registrations_disabled: "New account registrations are not allowed at this time." - password_too_long: "Passwords are limited to 200 characters." - email_too_long: "The email you provided is too long. Mailbox names must be no more than 254 characters, and domain names must be no more than 253 characters." - reserved_username: "That username is not allowed." + reserved_username: "Ky emër nuk lejohet." missing_user_field: "You have not completed all the user fields" close_window: "Authentication is complete. Close this window to continue." user: @@ -1030,22 +945,43 @@ sq: other: "%{count} sinjalizime në pritje për t'u trajtuar" invite_mailer: subject_template: "%{invitee_name} invited you to '%{topic_title}' on %{site_domain_name}" - text_body_template: | - %{invitee_name} invited you to a discussion - + text_body_template: |+ + %{invitee_name} ju ftoi në një bisedë > **%{topic_title}** > > %{topic_excerpt} - at + tek > %{site_title} -- %{site_description} - If you're interested, click the link below: + Nëse jeni i interesuar, klikoni lidhjen e mëposhtme: %{invite_link} - This invitation is from a trusted user, so you can reply to the discussion immediately. + Kjo ftesë vjen nga një përdorues i besuar, ju mund të merrni pjesë në bisedë menjëherë. + + custom_invite_mailer: + text_body_template: |+ + %{invitee_name} ju ftoi në një bisedë + > **%{topic_title}** + > + > %{topic_excerpt} + + tek + + > %{site_title} -- %{site_description} + + Mesazh nga %{invitee_name}: + + %{user_custom_message} + + Nëse jeni i interesuar, klikoni lidhjen e mëposhtme: + + %{invite_link} + + Kjo ftesë vjen nga një përdorues i besuar, ju mund të merrni pjesë në bisedë menjëherë. + invite_forum_mailer: subject_template: "%{invitee_name} ju ka ftuar të bëheni pjesë e %{site_domain_name}" text_body_template: | @@ -1105,7 +1041,7 @@ sq: disagreed: "Thanks for letting us know. We're looking into it." deferred: "Thanks for letting us know. We're looking into it." deferred_and_deleted: "Thanks for letting us know. We've removed the post." - temporarily_closed_due_to_flags: "Kjo temë është përkohësisht e mbyllur për shkak të një numri të madh sinjalizimesh nga bashkësia." + temporarily_closed_due_to_flags: "Kjo temë është përkohësisht e mbyllur për shkak të një numri të madh sinjalizimesh nga komuniteti." system_messages: welcome_user: subject_template: "Mirë se vini tek %{site_name}!" @@ -1207,6 +1143,13 @@ sq: download_remote_images_disabled: subject_template: "Downloading remote images disabled" text_body_template: "The `download_remote_images_to_local` setting was disabled because the disk space limit at `download_remote_images_threshold` was reached." + unsubscribe_link: | + Për të mos marrë më njoftime të tilla, [klikoni këtu](%{unsubscribe_url}). + unsubscribe_link_and_mail: | + Për të mos marrë më njoftime të tilla, [klikoni këtu](%{unsubscribe_url}). + unsubscribe_mailing_list: | + Ju po njoftoheni sepse keni aktivizuar metodën e listave me email. + Për të mos marrë më njoftime të tilla, [klikoni këtu](%{unsubscribe_url}). subject_re: "Re: " subject_pm: "[PM] " user_notifications: @@ -1215,7 +1158,22 @@ sq: unsubscribe: title: "Unsubscribe" description: "Not interested in getting these emails? No problem! Click below to unsubscribe instantly:" + reply_by_email: "[Shiko Temën](%{base_url}%{url}) ose përgjigjju këtij email-i për të postuar." + reply_by_email_pm: "[Shiko Mesazhin](%{base_url}%{url}) ose përgjigjju këtij email-i për të vazhduar bisedën." + only_reply_by_email: "Përgjigjju këtij email-i për të vazhduar." + visit_link_to_respond: "[Shiko Temën](%{base_url}%/{url}) për tu përgjigjur." + visit_link_to_respond_pm: "[Shiko Mesazhin](%{base_url}%/{url}) për tu përgjigjur." posted_by: "Posted by %{username} on %{post_date}" + invited_to_topic_body: | + %{username} ju ftoi në një bisedë + + > **%{topic_title}** + > + > %{topic_excerpt} + + tek + + > %{site_title} -- %{site_description} user_invited_to_private_message_pm: subject_template: "[%{site_name}] %{username} invited you to a message '%{topic_title}'" text_body_template: | @@ -1362,7 +1320,7 @@ sq: Click the following link to login: %{base_url}/users/admin-login/%{email_token} account_created: - subject_template: "[%{site_name}] Your New Account" + subject_template: "[%{site_name}] Llogaria Juaj e Re" text_body_template: | Një llogari e re u krijua për ju tek %{site_name} @@ -1430,6 +1388,7 @@ sq: too_large: "Sorry, the image you are trying to upload is too big (maximum size is %{max_size_kb}KB), please resize it and try again." size_not_found: "Sorry, but we couldn't determine the size of the image. Maybe your image is corrupted?" email_log: + post_user_deleted: "Përdoruesi i këtij postimi është fshirë." no_user: "Can't find user with id %{user_id}" anonymous_user: "User is anonymous" suspended_not_pm: "User is suspended, not a message" @@ -1437,26 +1396,26 @@ sq: post_not_found: "Can't find a post with id %{post_id}" notification_already_read: "The notification this email is about has already been read" topic_nil: "post.topic is nil" - post_deleted: "post was deleted by the author" + post_deleted: "autori e ka fshirë postimin" user_suspended: "user was suspended" already_read: "user has already read this post" message_blank: "message is blank" message_to_blank: "message.to is blank" text_part_body_blank: "text_part.body is blank" - body_blank: "body is blank" + body_blank: "përmbajtja është bosh" color_schemes: base_theme_name: "Baza" about: "Rreth" - guidelines: "Guidelines" - privacy: "Privacy" - edit_this_page: "Edit this page" + guidelines: "Udhëzimet" + privacy: "Privatësia" + edit_this_page: "Modifiko këtë faqe" csv_export: boolean_yes: "Po" boolean_no: "Jo" static_topic_first_reply: | Edit the first post in this topic to change the contents of the %{page_name} page. guidelines_topic: - title: "Pyetjet/Udhëzimet" + title: "Pyetje dhe Përgjigje/Udhëzime" body: | <a name="civilized"></a> @@ -1695,16 +1654,161 @@ sq: privacy_topic: title: "Politika e Privatësisë" badges: + editor: + name: Redaktor + description: Redaktori i parë i postimit + long_description: | + Kjo stemë jepet kur ndryshoni një nga postimet tuaja për herë të parë. Ndërkohë që nuk do jetë e mundur të ndryshoni postimet tuaja përgjithmonë, ndryshimi është gjithmonë një ide e mirë - ju mund të përmirësoni postimet tuaja, të korigjoni gabime të vogla, apo të shtoni çdo gjë që mungonte nga postimi i parë. Ndryshojini postimet që t'i bëni akoma më të mira! + basic_user: + name: Anëtar i Thjeshtë + description: Ka të drejtat bazë të një anëtari në këtë komunitet <a href="https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/4">Informacion shtesë në anglisht</a> + long_description: | + Kjo stemë jepet kur ju arrini nivelin e bisedës 1. Falemindeit që jeni përreth prej ca kohësh dhe që lexoni disa tema për të mësuar më tepër rreth komunitetit tonë. Limitet e përdoruesit të ri janë hequr, keni mundësi të përdorni të gjitha aftësitë kryesore të komunitetit, si mesazhet private, sinjalizimet, ndryshim për wiki, dhe aftësinë për të postuar disa imazhe njëherazi dhe lidhje. member: - name: Anëtarë + name: Anëtar + description: <a href="https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/5">U dha</a> mundësia për ftesa, mesazhe në grup, më shumë pëlqime + long_description: | + Kjo stemë jepet kur ju arrini nivelin e bisimit 2. Faleminderit që jeni pjese prej më shumë se disa javësh e komunitetit tonë. Ju tashmë mund të dërgoni ftesa nga faqja juaj e përdoruesit ose nga tema të veçanta, të krijoni mesazhe në grup, dhe të keni ca pëlqime më shumë në ditë. regular: - name: I rregullt + name: I zakonshëm + description: <a href="https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/6">U dha</a> mundësia për ri-kategorizim, ri-emërtim, lidhje ndjekëse, wiki, dhe më shumë pëlqime + long_description: | + Kjo stemë jepet kur ju arrini nivelin e besimit 3. Faleminderit që jeni pjesë e komutetit tonë prej disa muajsh. Ju jeni tashmë një prej lexuesve më aktivë, dhe një bashkëpunëtor i besueshëm që përmirëson komunitetin tonë. Ju mundet tashmë të ri-kategorizoni dhe ri-emëroni temat, të keni cilësime të mëtejshme për sinjalizime spam-esh, të keni hyrje në zona private të faqes, gjithashtu dhe më tepër pëlqime ditore. leader: name: Udhëheqës + description: <a href="https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/7">Dhënë</a> mundësia për ndryshim të gjithanshëm, ngjitje në krye, mbyllje, arkivim, ndarje dhe ngjitje, më tepër pëlqime + long_description: | + Kjo stemë jepet kur ju arrini nivelin e besimit 4. Jeni një udhëheqës në këtë komunitet si i përzgjedhur nga stafi, dhe ju jeni një shembull për pjesën tjetër të anëtarëve me veprimet dhe fjalët tuaja këtu. Ju keni mundësinë të ndryshoni të gjitha postimet, të aftë për moderime të tjera siç janë ngjitja në krye, mbyllja, çlistimi, arkivimi, ndarja dhe ngjitja, dhe ju keni tonelata pëlqimesh ditore. welcome: name: Mirë se vini + long_description: | + Kjo stemë jepet kur merrni pëlqimin e parë për një postim. Urime, keni postuar diçka të cilën anëtarët e komunitetit e gjetën interesante, fantastike apo të dobishme! + autobiographer: + name: Autobiograf + description: Plotësoi <a href="/my/preferences">profilin</a> e anëtarit + long_description: | + Kjo stemë jepet kur mbushni <a href="/my/preferences">profilin tuaj</a> dhe zgjidhni një imazhi profili. Kur lejoni komunitetin t'ju njohë ca më shumë se kush jeni dhe çfarë ju intereson, ndihmon në përmirësimin dhe lidhjen e mëtejshme të komunitetit. Bashkohuni me ne! anniversary: - name: Përvjetori + name: Përvjetor + long_description: | + Kjo stemë jepet kur keni qenë një anëtar për një vit me të paktën një postim për atë vit. Faleminderit që jeni përreth dhe jepni ndihmën tuaj për komunitetin tonë. Ne nuk mund t'ia dilnim pa ju. + nice_post: + long_description: | + Kjo stemë jepet kur përgjigja juaj merr 10 pëlqime. Përgjigja juaj ishte vërtet e goditur për komunitetit dhe ndihmoi në ecjen e bisedës më tej! + good_post: + long_description: | + Kjo stemë jepet kur përgjigja juaj merr 25 pëlqime. Përgjigja juaj ishte e jashtëzakonshme dhe e shndërroi bisedën më të pëlqyeshme për këdo! + great_post: + long_description: | + Kjo stemë jepet kur përgjigja juaj merr 50 pëlqime. Uau! Përgjigja juaj ishte frymëzuese, interesante, për të qeshur, ose e mprehtë dhe komuniteti e pëlqeu jashtë mase! + nice_topic: + long_description: | + Kjo stemë jepet kur tema juaj merr 10 pëlqime. Hej, ju nisët një bisedë interesante që komuniteti e shijoi! + good_topic: + long_description: | + Kjo stemë jepet kur tema juaj merr 25 pëlqime. Ju nisët një bisedë të zjarrtë për të cilën komuniteti u mblodh përreth dhe e pëlqeu! + great_topic: + long_description: | + Kjo stemë jepet kur tema juaj merr 50 pëlqime. Ju nisët një bisedë interesante dhe komuniteti e shijoi bisedën dinamike që ndoqi! + nice_share: + long_description: | + Kjo stemë jepet kur shpërdan një lidhje që është klikuar nga 25 vizitorë të jashtëm. Faleminderit që keni përhapur fjalën rreth bisedave tona, dhe këtij komuniteti. + good_share: + long_description: | + Kjo stemë jepet kur shpërdan një lidhje që është klikuar nga 300 vizitorë të jashtëm. Punë e paqme! Keni reklamuar një diskutim të mire tek një grup njerëzish të panjohur dhe keni ndihmuar në rritjen e këtij komuniteti. + great_share: + long_description: | + Kjo stemë jepet kur shpërdan një lidhje që është klikuar nga 1000 vizitorë të jashtëm. Uau! Keni reklamuar një bisedë interesante tek një lexues i shumtë dhe i ri, dhe ndihmuat mjaft në rritjen e komunitetit! + first_like: + name: Pëlqimi i Parë + description: Pëlqeu një postim + long_description: | + Kjo stemë jepet kur për herë të parë ju pëlqeni një postim duke përdorur butonin :heart:. Të pëlqyerit e një postimi është një mënyrë shumë e mirë për t'u bërë të ditur anëtarëve të tjerë që postimi i tyre ishte interesant, i dobishëm, fantastik apo zbavitës. Shpërndaj dashuri! + first_flag: + long_description: | + Kjo stemë jepet kur për herë të parë sinjalizoni një postim. Sinjalizimi është mënyra se si ndihmojmë në mbajtjen pastër të faqes për këdo. Nëse vini re ndonjë postim që ka nevojë për vëmendjen e një moderatori për cilëndo arsye, ju lutem mos ngurroni të sinjalizoni. Gjithashtu mund të sinjalizoni duke u nisur një <b>mesazh personal</b> përdoruesve nëse shihni diçka që nuk shkon me postimin e tyre. Nëse shihni një problem, :flag_black: sinjalizojeni! + promoter: + long_description: | + Kjo stemë jepet kur ftoni dikë për t'u bërë pjesë e komunitetit nëpërmjet butonit të ftesave në faqen e përdoruesit, ose në fund të faqes. Duke ftuar miq që mund të jenë të interesuar në biseda të veçanta është një mënyrë shumë e mirë të paraqesësh njerëz të rinj në komunitet, kështu që faleminderit! + campaigner: + description: Ftoi 3 anëtarë të thjeshtë + long_description: | + Kjo stemë jepet kur ke ftuar 3 persona që në vazhdim, kanë shpenzuar kohë mjaftueshëm në faqe për t'u bërë anëtarë të thjeshtë. Një komunitet kumbues ka nevojë për anëtarë të rinj që marrin pjesë rregullisht dhe i shtojnë zëra të rinj bisedave. + champion: + long_description: | + Kjo stemë jepet kur ke ftuar 5 persona që në vazhdim, kanë shpenzuar kohë mjaftueshëm në faqe për t'u bërë anëtarë të plotë. Uau! Faleminderit për zgjerimin e komunitetit tonë me anëtarë të rinj! + first_share: + long_description: | + Kjo stemë jepet kur për herë të parë ju ndani një lidhje tek një përgjigje apo temë duke përdorur butonin e shpërndarjes. Të ndarët e lidhjeve është të tregosh biseda interesante me pjesën tjetër të botës dhe të rritësh komunitetitn tënd. + first_link: + long_description: | + Kjo stemë jepet kur për herë të parë shtoni një lidhje tek një temë tjetër. Duke lidhur tema ndihmoni lexuesit e tjerë të gjejnë biseda interesante që kanë lidhje, duke shfaqur lidhjen midisi temave nga të dyja anët. Shtoni lidhje lirisht! + first_quote: + long_description: | + Kjo stemë jepet kur për herë të parë citoni një postim në përgjigjen tuaj. Të cituarit në përgjigjen tuaj e pjesëve të rëndësishme prej postimeve të mëparshme, ndihmon në mbajtjen e bisedave të lidhura me njëra-tjetrën dhe brenda tematikës. Mënyra më e lehtë për të cituar është duke theksuar pjesë të një postimi, dhe duke shtypur më pas butonin përgjigju. Citoni me bollëk! + read_guidelines: + name: Lexoi Udhëzimet + description: Ka lexuar <a href="/guidelines">udhëzimet e komunitetit</a> + long_description: | + Kjo stemë jepet pasi <a href="/guidelines">lexon udhëzimet e komunitetit</a>. Duke ndjekur dhe ndarë këto udhëzime të thjeshta ndihmon në ndërtimin e një komuniteti të sigurtë, dëfryes dhe të qëndrueshëm. Gjithmonë kini parasysh që është një tjetër qënie njerëzore, dikush shumë i ngjashëm me ju, në anën tjetër të ekranit. Silluni mirë! + reader: + long_description: | + Kjo stemë jepet për herën e parë kur lexoni një temë të gjatë me më tepër se 100 përgjigje. Kur lexon një bisedë ndihmon në ndjekjen e diskutimit, kupton këndvështrimet e ndryshme, dhe çon në biseda më interesante. Sa më shumë lexon, aq më e mirë bëhet biseda. Siç na pëlqen ta themi, të Lexuarit është Themelore! :slight_smile: + popular_link: + description: Postoi një lidhje të jashtme që mori 50 klikime + long_description: | + Kjo stemë jepet kur një lidhje që ndatë merr 50 klikime. Faleminderit që postuat një lidhje të dobishme që rriti intersimin në bisedë. + hot_link: + description: Postoi një lidhje të jashtme që mori 300 klikime + long_description: | + Kjo stemë jepet kur një lidhje që shpërndatë merr 300 klikime. Faleminderit që postuat një lidhje interesante që e shpuri bisedën përpara dhe ndezi diskutimin! + famous_link: + description: Postoi një lidhje të jashtme që mori 1000 klikime + long_description: | + Kjo stemë jepet kur një lidhje që shpërndani merr 1000 klikime. Uau! Ju postuat një lidhje që ka përmirësuar bisedën duke shtuar detaje të rëndësishme, kontekst, dhe të dhëna. Punë e paqme! + appreciated: + long_description: | + Kjo stemë jepet kur merrni të paktën një pëlqim në 20 postime të ndryshme. Komunitetit i pëlqen mundi juaj nëpër bisedimet këtu! + respected: + long_description: |+ + Kjo stemë jepet kur merrni të paktën 2 pëlqime në 100 postime të ndryshme. Po fitoni respektin e komunitetit për mundin e shumtë nëpër bisedimet këtu. + + admired: + long_description: | + Kjo stemë jepet kur merrni të paktën 5 pëlqime në 300 postime të ndryshme. Uau! Komuniteti e admiron mundin e shpeshtë dhe të një cilësie të lartë për bisedimet këtu. + out_of_love: + long_description: | + Kjo stemë jepet kur ju përdorni të gjitha nga 50 pëlqimet tuaja ditore. Kur kujtohesh të gjesh kohë dhe të pelqesh postimet që ju pëlqejnë dhe vlerësoni, nxit anëtarët e komunitetit të krijojnë akoma më shumë biseda të mira në të ardhmen. + higher_love: + long_description: | + Kjo stemë jepet kur ju pëlqeni 50 postime në 5 ditë. Faleminderit që merrni nga koha juaj për të nxitur bisedat më të mira çdo ditë! + crazy_in_love: + long_description: | + Kjo stemë jepet kur ju pëlqeni 50 postime brenda 20 ditëve. Uau! Ju jeni një shembull nxitjeje të rregullt të anëtarëve të komunitetit! + thank_you: + description: Ka pëlqyer 20 postime dhe ka dhënë 10 pëlqime + long_description: | + Kjo stemë jepet kur keni 20 postime të pelqyera dhe jepni 10 apo më shumë pëlqime në këmbim. Kur dikush pëlqen postimet tuaja, ju gjeni kohën të pëlqeni çfarë të tjerët postojnë, gjithashtu. + gives_back: + description: Ka pëlqyer 100 postime dhe ka dhënë 100 pëlqime + long_description: | + Kjo stemë jepet kur keni 100 postime të pelqyera dhe jepni 100 apo më shumë pëlqime në këmbim. Faleminderit që parapaguani! + empathetic: + description: Ka pëlqyer 500 postime dhe ka dhënë 1000 pëlqime + long_description: | + Kjo stemë jepet kur ju keni 500 postime të pëlqyera dhe kur jepni 1000 apo më tepër pëlqime në këmbim. Uau! Qenkeni shembulli i zemërgjërit dhe vlerësimit të dyanshëm :two_hearts:. + first_emoji: + long_description: | + Kjo stemë jepet kur ju shtoni një Emoji në postimin tuaj për herë të parë :thumbsup:. Emoji ju lejon të përçoni emocionet në postimet tuaja, prej kënaqësisë :smiley: tek mërzitja :anguished: e deri tek inati :angry: dhe çdo gjë midis :sunglasses:. Thjesht filloni të shkruani : (dy pika) ose shtypni butonin Emoji në shiritin e veglave të fushës së shkrimit për të zgjedhur mes qindra llojesh :ok_hand: + first_mention: + long_description: Kjo stemë jepet herën e parë kur ju përmendni @username e dikujt në një postim. Secila përmendje krijon një njoftim për atë person, që të vihen në dijeni për postimin tuaj. Thjesht filloni të shtypni @ (simbolin te) për të përmendur çdo përdorues ose, nëse e mundur, çdo grup - është një mënyrë e volitshme për të patur vëmendjen e dikujt. + first_onebox: + name: Onebox i Parë + description: Postoi një lidhje në onebox + long_description: Kjo stemë jepet herën e parë kur postoni një lidhje në një rresht të vetëm, i cili shpaloset automatikisht në një onebox me një përmbledhje të shkurtër të lidhjes, një titull, dhe (kur është e mundur) një imazh. + first_reply_by_email: + long_description: | + Kjo stemë jepet herën e parë kur i përgjigjeni një postimi nëpërmjet email-it :e-mail: admin_login: success: "Email Sent" error: "Error!" diff --git a/config/locales/server.tr_TR.yml b/config/locales/server.tr_TR.yml index 0c932f55a..7ae7be70a 100644 --- a/config/locales/server.tr_TR.yml +++ b/config/locales/server.tr_TR.yml @@ -27,24 +27,24 @@ tr_TR: topics: "Konular" posts: "gönderiler" loading: "Yükleniyor" - powered_by_html: 'Gücünü <a href="http://www.discourse.org">Discourse</a> ''tan alır, en iyi görünüm için JavaScript etkinleştirmeniz gerekir' + powered_by_html: 'Gücünü <a href="http://www.discourse.org">Discourse</a>''tan alır, en iyi görünüm için JavaScript etkinleştirmeniz gerekir' log_in: "Giriş Yap" - purge_reason: "terkedilmiş, deaktif hesap olarak otomatik olarak silindi" + purge_reason: "terkedilmiş, edilgen hesap olarak otomatik olarak silindi" disable_remote_images_download_reason: "Yeterli disk alanı kalmaması sebebiyle uzaktan görüntü indirme devre dışı bırakıldı." anonymous: "Anonim" emails: incoming: - default_subject: "Bu kişiden %{email} gelen e-posta" - show_trimmed_content: "Kısaltılmış olan yazıyı göster" + default_subject: "%{email} adresinden gelen e-posta" + show_trimmed_content: "Kısaltılmış olan içeriği göster" errors: no_message_id_error: "E-postanın 'Message-Id' başlığı olmadığında olur" - inactive_user_error: "Gönderici aktif olmadığında olur." - blocked_user_error: "Gönderici bloklandığında olur." + inactive_user_error: "Gönderici etkin olmadığında olur." + blocked_user_error: "Gönderici engellendiğinde olur." errors: &errors format: '%{attribute} %{message}' messages: too_long_validation: "%{max} karakter ile limitli; siz %{length} karakter girdiniz." - invalid_boolean: "Geçersiz boolean değeri." + invalid_boolean: "Geçersiz mantıksal değer." taken: "alınmış" accepted: onaylanmalı blank: boş bırakılamaz @@ -53,7 +53,7 @@ tr_TR: empty: boş olamaz equal_to: '%{count} rakamına eşit olmalı' even: çift sayı olmalı - exclusion: rezerve edildi + exclusion: ayrıldı greater_than: '%{count} rakamından fazla olmalı' greater_than_or_equal_to: '%{count} rakamına eşit veya daha fazla olmalı' has_already_been_used: "önceden kullanıldı" @@ -70,7 +70,7 @@ tr_TR: one: "Kayıt silinemiyor çünkü bir bağımlı %{record} var" many: "Kayıt silinemiyor çünkü bir bağımlı %{record} var" too_long: - other: çok uzun (en fazla %{count} karakter olabilir) + other: çok uzun (en fazla %{count} karakter) too_short: other: çok kısa (en az %{count} karakter olabilir) wrong_length: @@ -90,15 +90,15 @@ tr_TR: default_categories_already_selected: "Bir başka listede kullanılan bir kategoriyi seçemezsiniz." s3_upload_bucket_is_required: "Bir 's3_upload_bucket' tanımlamadıysanız, S3 yüklemelerini etkinleştiremezsiniz." bulk_invite: - file_should_be_csv: "Yüklenen dosya csv veya txt formatında olmalı. " + file_should_be_csv: "Yüklenen dosya csv veya txt biçiminde olmalı. " backup: operation_already_running: "Devam eden bir işlem var. Yeni bir işlem başlatılamaz." backup_file_should_be_tar_gz: "Yedekleme dosyası .tar.gz uzantılı olmalı." - not_enough_space_on_disk: "Yedeklemenin yapılması için diskte yeterli alan bulunmuyor." + not_enough_space_on_disk: "Yedeklemenin yüklenebilmesi için diskte yeterli alan bulunmuyor." not_logged_in: "Bunun için giriş yapmanız gerekir." not_found: "İstenilen URL ya da kaynak bulunamadı." invalid_access: "İstenilen kaynağı görüntüleyebilmeniz için izniniz yok." - read_only_mode_enabled: "Bu site sadece okuma modunda. Etkileşimler etkisizleştirildi." + read_only_mode_enabled: "Bu site sadece okuma modunda. Eylemler devre dışı." reading_time: "Okuma Zamanı" likes: "Beğeniler" too_many_replies: @@ -120,7 +120,7 @@ tr_TR: no_mentions_allowed_newuser: "Üzgünüz, yeni kullanıcılar diğer kullanıcılardan bahsedemezler." too_many_mentions_newuser: other: "Üzgünüz, yeni kullanıcılar bir gönderide sadece %{count} kullanıcıdan bahsedebilirler." - no_images_allowed: "Üzgünüz, yeni kullanıcılar gönderilere resim ekleyemezler." + no_images_allowed: "Üzgünüz, yeni kullanıcılar gönderilere resim koyamazlar." too_many_images: other: "Üzgünüz, yeni kullanıcılar bir gönderiye sadece %{count} resim koyabilirler. " no_attachments_allowed: "Üzgünüz, yeni kullanıcılar gönderilere bir şey ekleyemezler." @@ -155,9 +155,9 @@ tr_TR: private_posts: "Son özel mesajlar" group_posts: "%{group_name} tarafından son gönderiler" group_mentions: "%{group_name} tarafından son bahsetmeler" - user_posts: "@%{username} tarafından son yazılar" + user_posts: "@%{username} tarafından son gönderiler" user_topics: "@%{username} tarafından son konular" - tag: "işaretlenmiş konular" + tag: "Etiketlenmiş konular" too_late_to_edit: "Gönderi çok uzun zaman önce oluşturulmuş. Artık düzenlenemez ya da silinemez. " revert_version_same: "Şu anki sürüm geri dönmeye çalıştığınız sürüm ile aynı." excerpt_image: "resim" @@ -165,10 +165,10 @@ tr_TR: delete_reason: "Gönderi yönetim sırası aracılığıyla silindi" groups: errors: - can_not_modify_automatic: "otomatik bir grupta değişiklik yapamazsınız" + can_not_modify_automatic: "Otomatik bir grupta değişiklik yapamazsınız" member_already_exist: "'%{username}' zaten grubun bir üyesi." invalid_domain: "'%{domain}' geçerli bir alan adı değil." - invalid_incoming_email: "Bu '%{email}' e-posta geçerli değil." + invalid_incoming_email: "'%{email}' geçerli bir e-posta adresi değil." email_already_used_in_group: "'%{email}' zaten '%{group_name}' grubu tarafından kullanılıyor." email_already_used_in_category: "'%{email}' zaten '%{category_name}' kategorisi tarafından kullanılıyor." default_names: @@ -203,7 +203,7 @@ tr_TR: - Yapıcı eleştirici her zaman kabul edilir, ama *fikirleri* eleştirin, insanları değil. - Daha fazlası için, [topluluk yönergelerine bakın](/guidelines). Bu yazı sadece ilk %{education_posts_text} için görünür. + Daha fazlası için, [topluluk yönergelerimize bakın](/guidelines). Bu yazı sadece ilk %{education_posts_text} için görünür. avatar: | ### Hesabının bir resmi olsun istemez misin? @@ -261,11 +261,11 @@ tr_TR: attributes: password: common: "En çok kullanılan 10000 paroladan biri. Lütfen daha güvenli bir parola seçin." - same_as_username: "kullanıcı adınızla aynı. Lütfen daha güvenli bir şifre seçiniz." - same_as_email: "e-posta adresinizle aynı. Lütfen daha güvenli bir şifre seçiniz." + same_as_username: "kullanıcı adınızla aynı. Lütfen daha güvenli bir parola seçiniz." + same_as_email: "e-posta adresinizle aynı. Lütfen daha güvenli bir parola seçiniz." same_as_current: "şimdiki parolanızla aynı." ip_address: - signup_not_allowed: "Bu hesaptan yeni üyelik oluşturulmasına izin verilmiyor." + signup_not_allowed: "Bu hesaptan yeni kayıt oluşturulmasına izin verilmiyor." color_scheme_color: attributes: hex: @@ -290,17 +290,17 @@ tr_TR: Tebrikler! :confetti_ball: - Bu konuyu görebiliyorsanız, yakın süre önce **standart** (güven seviyesi 3) seviyesine terfi etmişsiniz demektir. + Bu konuyu görebiliyorsanız, yakın süre önce **müdavim** (güven seviyesi 3) seviyesine terfi etmişsiniz demektir. Artık … * Herhangi bir konunun başlık bilgisini düzenleyebilirsiniz * Herhangi bir konunun kategorisini değiştirebilirsiniz * Eklediğiniz linkler takip edilebilir durumunda olacaktır ([otomatik nofollow] (http://en.wikipedia.org/wiki/Nofollow) kaldırıldı) - * Sadece 3. güven seviyesi ve üzerindekilere gözüken özel Lobi kategorisine erişebilirsiniz - * Tek bayraklamayla spam içerikli mesajları gizleyebilirsiniz + * Sadece 3. güven seviyesi ve üzerindekilere gözüken özel lobi kategorisine erişebilirsiniz + * Tek bildirmeyle spam içerikli mesajları gizleyebilirsiniz - [Şu anki standart seviyedeki arkadaşların listesi(/badges/3/regular). Merhaba demeyi unutmayın. + [Şu anki müdavim seviyedeki kişilerin listesi](/badges/3/regular). Merhaba demeyi unutmayın. Bu topluluğun önemli bir parçası olduğunuz için teşekkür ederiz! @@ -310,12 +310,12 @@ tr_TR: category: topic_prefix: "%{category} kategorisi hakkında " replace_paragraph: "(Bu paragrafın yerine yeni kategorinizin kısa bir açıklamasını girin. Buraya yazılanlar kategori seçim alanında görüneceği için, açıklamanızı 200 karakterin altında tutmaya çalışın.**Siz bu metni düzenleyene veya herhangi bir konu oluşturana kadar bu kategori, kategori sayfasında gözükmeyecek.**)" - post_template: "%{replace_paragraph}\n\nAşağıdaki satırları daha uzun açıklama, kategori yönergeleri ya da kurallar oluşturmak için kullanın:\n\n-Bu kategorinin amacı ne? İnsanlar konu oluştururken neden bu kategoriyi kullanmalılar?\n\n-Bu kategorinin mevcut diğer kategorilerden farkı ne?\n\n- Bu kategorideki konular neleri içermeli?\n\n- Bu kategoriye gerçekten ihtiyacımız var mı? Bu kategoriyi bir başka kategori ya da alt kategori ile birleştirmeli miyiz?\n" + post_template: "%{replace_paragraph}\n\nAşağıdaki satırları daha uzun açıklama, kategori yönergeleri ya da kurallar oluşturmak için kullanın:\n\n- Bu kategorinin amacı ne? İnsanlar konu oluştururken neden bu kategoriyi kullanmalılar?\n\n- Bu kategorinin mevcut diğer kategorilerden farkı ne?\n\n- Bu kategorideki konular neleri içermeli?\n\n- Bu kategoriye gerçekten ihtiyacımız var mı? Bu kategoriyi bir başka kategori ya da alt kategori ile birleştirmeli miyiz?\n" errors: uncategorized_parent: "Kategorisizin üst kategorisi olamaz" self_parent: "Alt kategorinin üst kategorisi kendisi olamaz" depth: "Bir alt kategori başka bir alt kategorinin altında yer alamaz" - invalid_email_in: "Bu '%{email}' e-posta geçerli değil." + invalid_email_in: "Bu '%{email}' geçerli bir e-posta değil." email_already_used_in_group: "'%{email}' zaten '%{group_name}' grubu tarafından kullanılıyor." email_already_used_in_category: "'%{email}' zaten '%{category_name}' kategorisi tarafından kullanılıyor." cannot_delete: @@ -339,18 +339,18 @@ tr_TR: change_failed_explanation: " %{user_name} adlı kullanıcıyı '%{new_trust_level}' seviyesine düşürmeye çalıştınız. Ancak, halihazırda kullanıcının güven seviyesi zaten '%{current_trust_level}'. %{user_name} '%{current_trust_level}' seviyesinde kalacak - eğer seviyesini düşürmek istiyorsanız öncelikle güven seviyesini kilitlemelisiniz" rate_limiter: slow_down: "Bu eylemi birçok sefer gerçekleştirdiniz, daha sonra tekrar deneyin." - too_many_requests: "Bu işlem için günlük limitinizi aştınız. Lütfen tekrar denemek için %{time_left} bekleyin. " + too_many_requests: "Bu eylem için günlük limitinizi aştınız. Lütfen tekrar denemek için %{time_left} bekleyin. " by_type: - first_day_replies_per_day: "Yeni bir kullanıcının ilk gününde verebileceği maksimum cevap sayısına ulaştınız. Lütfen tekrar denemek için %{time_left} bekleyin." - first_day_topics_per_day: "Yeni bir kullanıcının ilk gününde oluşturabileceğiz maksimum konu sayısına ulaştınız. Lütfen tekrar denemek için %{time_left} bekleyin." - create_topic: "Kısa sürede çok sayıda konu oluşturmaya çalıştınız. Lütfen tekrar denemek için %{time_left} bekleyin." - create_post: "Kısa sürede çok sayıda cevap yazmaya çalıştınız. Lütfen tekrar denemek için %{time_left} bekleyin." + first_day_replies_per_day: "Yeni bir kullanıcının ilk gününde verebileceği en fazla cevap sayısına ulaştınız. Lütfen tekrar denemek için %{time_left} bekleyin." + first_day_topics_per_day: "Yeni bir kullanıcının ilk gününde oluşturabileceği en fazla konu sayısına ulaştınız. Lütfen tekrar denemek için %{time_left} bekleyin." + create_topic: "Kısa sürede çok sayıda konu oluşturmaya çalıştınız. Lütfen tekrar denemeden önce %{time_left} bekleyin." + create_post: "Kısa sürede çok sayıda cevap yazmaya çalıştınız. Lütfen tekrar denemeden önce %{time_left} bekleyin." delete_post: "Kısa sürede çok sayıda gönderi silmeye çalıştınız. Lütfen tekrar denemek için %{time_left} bekleyin." - topics_per_day: "Bugün oluşturabileceğiniz maksimum konu sayısına ulaştınız. Lütfen tekrar denemek için %{time_left} bekleyin." - pms_per_day: "Bugün oluşturabileceğiniz maksimum mesaj sayısına ulaştınız. Lütfen tekrar denemek için %{time_left} bekleyin." - create_like: "Bugün yapabileceğiniz maksimum beğeni sayısına ulaştınız. Lütfen tekrar denemek için %{time_left} bekleyin." - create_bookmark: "Bugün yapabileceğiniz maksimum işaretleme sayısına ulaştınız. Lütfen tekrar denemek için %{time_left} bekleyin." - edit_post: "Bugün yapabileceğiniz maksimum düzenleme sayısına ulaştınız. Lütfen tekrar denemek için %{time_left} bekleyin." + topics_per_day: "Bugün oluşturabileceğiniz en fazla konu sayısına ulaştınız. Lütfen tekrar denemek için %{time_left} bekleyin." + pms_per_day: "Bugün oluşturabileceğiniz en fazla mesaj sayısına ulaştınız. Lütfen tekrar denemek için %{time_left} bekleyin." + create_like: "Bugün yapabileceğiniz en fazla beğeni sayısına ulaştınız. Lütfen tekrar denemek için %{time_left} bekleyin." + create_bookmark: "Bugün yapabileceğiniz en fazla imleme sayısına ulaştınız. Lütfen tekrar denemek için %{time_left} bekleyin." + edit_post: "Bugün yapabileceğiniz en fazla düzenleme sayısına ulaştınız. Lütfen tekrar denemek için %{time_left} bekleyin." live_post_counts: "Canlı gönderi sayımları için çok hızlı istek yapıyorsunuz. Lütfen tekrar denemeden önce %{time_left} bekleyin." hours: other: "%{count} saat" @@ -406,9 +406,9 @@ tr_TR: over_x_years: other: "%{count} yıldan daha fazla önce" almost_x_years: - other: "yaklaşık %{count} yıl önce" + other: "neredeyse %{count} yıl önce" password_reset: - no_token: "Üzgünüz, bu şifre değiştirme bağlantısı çok eski. Yeni bir bağlantı almak için lütfen 'Giriş Yap' tuşuna basın ve 'Parolamı unuttum'u seçin." + no_token: "Üzgünüz, bu parola değiştirme bağlantısı çok eski. Yeni bir bağlantı almak için lütfen 'Giriş Yap' tuşuna basın ve 'Parolamı unuttum'u seçin." choose_new: "Lütfen yeni bir parola seçin" choose: "Lütfen parola seçin" update: 'Parolayı Güncelle' @@ -422,10 +422,10 @@ tr_TR: please_continue: "%{site_name} adresine devam edin" error: "E-posta adresiniz değiştirilirken bir hata oluştu. Bu adres zaten kullanımda olabilir." error_staged: "E-posta adresiniz değiştirilirken bir hata oluştu. Bu adres zaten başka bir kullanıcı tarafından kullanımdadır." - already_done: "Üzgünüz, bu doğrulama bağlantısı geçerli değil. Email'iniz değiştirilmiş olabilir mi?" + already_done: "Üzgünüz, bu doğrulama bağlantısı geçerli değil. E-posta adresiniz değiştirilmiş olabilir mi?" authorizing_old: title: "Geçerli e-posta adresi onayladığınız için teşekkür ederiz" - description: "Doğrulama için yeni adresine şimdi email gönderiyoruz." + description: "Doğrulama için yeni adresine şimdi e-posta gönderiyoruz." activation: action: "Hesabınızı etkinleştirmek için buraya tıklayın" already_done: "Üzgünüz, hesap doğrulama linki artık geçerli değil. Hesabınız zaten etkin olabilir mi?" @@ -438,17 +438,17 @@ tr_TR: off_topic: title: 'Konu dışı' description: 'Bu gönderinin, başlık ve ilk gönderide belirtilen mevcut tartışmayla alakası yok, ve büyük ihtimal başka bir yere taşınmalı.' - long_form: 'konu dışı olarak bayraklandı' + long_form: 'konu dışı olarak bildirildi' spam: - title: 'Spam' + title: 'İstenmeyen' description: 'Bu gönderi reklam içeriklidir. Mevcut konuya alakası ya da faydası yoktur.' - long_form: 'spam olarak bayraklanmış' - email_title: '"%{title}" spam olarak bayraklandı' + long_form: 'istenmeyen olarak bildirilmiş' + email_title: '"%{title}" istenmeyen olarak bildirildi' email_body: "%{link}\n\n%{message}" inappropriate: title: 'Uygunsuz' description: 'Bu gönderi saldırgan, kötüleyici ya da <a href="/guidelines">topluluk yönergelerini</a> ihlal eden içerik barındırmaktadır. ' - long_form: 'uygunsuz olarak bayraklanmış' + long_form: 'bunu uygunsuz olarak bildirdi' notify_user: title: '@{{username}} adlı kullanıcıya mesaj gönder' description: 'Bu kişiyle gönderisi hakkında doğrudan ve gizli olarak konuşmak istiyorum.' @@ -457,14 +457,14 @@ tr_TR: email_body: "%{link}\n\n%{message}" notify_moderators: title: "Başka Bir Şey" - description: 'Bu gönderinin, yukarıda belirtilmeyen bir nedenden ötürü yetkililer tarafından kontrol edilmesi gerekiyor.' - long_form: 'moderatörün ilgisi için bayraklandı' + description: 'Bu gönderinin, yukarıda belirtilmeyen bir nedenden ötürü görevliler tarafından kontrol edilmesi gerekiyor.' + long_form: 'bunu moderatörün ilgisi için bildirdi' email_title: '"%{title}" konu başlığının moderatör tarafından kontrol edilmesi gerekiyor' email_body: "%{link}\n\n%{message}" bookmark: - title: 'İşaretle' - description: 'Bu gönderiyi işaretle' - long_form: 'bu gönderi işaretlendi' + title: 'İmle' + description: 'Bu gönderiyi imle' + long_form: 'bu gönderi imlendi' like: title: 'Beğen' description: 'Bu gönderiyi beğen' @@ -475,22 +475,22 @@ tr_TR: long_form: 'bu gönderi oylandı' topic_flag_types: spam: - title: 'Spam' + title: 'İstenmeyen' description: 'Bu konu reklam içeriklidir. Bu siteye alakası ya da faydası yoktur.' - long_form: 'spam olarak bayraklandı' + long_form: 'bunu istenmeyen olarak bildirdi' inappropriate: title: 'Uygunsuz' description: 'Bu konu saldırgan, kötüleyici ya da <a href="/guidelines">topluluk yönergelerini</a> ihlal eden içerik barındırmaktadır. ' - long_form: 'uygunsuz olarak bayraklandı' + long_form: 'bunu uygunsuz olarak bildirdi' notify_moderators: title: "Başka Bir Şey" description: 'Bu gönderi <a href="/guidelines">yönergeler</a>, <a href="%{tos_url}">hizmet şartları</a> veya başka herhangi bir nedenden dolayı moderatör incelemesi gerektirmektedir.' - long_form: 'moderatörün ilgisi için bayraklandı' + long_form: 'bunu moderatörün ilgisi için bildirdi' email_title: '"%{title}" konu başlığının moderatör tarafından kontrol edilmesi gerekiyor' email_body: "%{link}\n\n%{message}" flagging: - you_must_edit: '<p>Gönderiniz topluluk tarafından bayraklandı. Lütfen <a href="/my/private-messages">mesajlarınıza göz atın</a>.</p>' - user_must_edit: '<p>Bu gönderi topluluk tarafından bayraklandı ve geçici olarak gizlendi.</p>' + you_must_edit: '<p>Gönderiniz topluluk tarafından bildirildi. Lütfen <a href="/my/private-messages">mesajlarınıza göz atın</a>.</p>' + user_must_edit: '<p>Bu gönderi topluluk tarafından bildirildi ve geçici olarak gizlendi.</p>' archetypes: regular: title: "Standart Konu" @@ -503,12 +503,12 @@ tr_TR: title: "Abonelik İptal Edildi!" unsubscribe: title: "Aboneliği İptal Et" - stop_watching_topic: "Bu konuyu izlemeyi bırak, %{link}" - mute_topic: "Bu konuya ait tüm bildirimleri sessiz al, %{link}" - unwatch_category: "%{category} içerisindeki konuları izlemeyi durdur" + stop_watching_topic: "Bu konuyu gözlemeyi bırak, %{link}" + mute_topic: "Bu konuya ait tüm bildirimleri sustur, %{link}" + unwatch_category: "%{category} içerisindeki tüm konuları gözlemeyi durdur" mailing_list_mode: "Duyuru listesi modunu kapat" disable_digest_emails: "Bana özet e-postaları göndermeyi durdur" - all: "%{sitename} tarafından hiçbir mail gönderme" + all: "Bana %{sitename} tarafından gelen hiçbir mail gönderme" different_user_description: "E-posta gönderdiğimizden farklı bir kullanıcıyla giriş yapmışsınız. Lütfen çıkış yapın, veya anonim moduna geçip tekrar deneyin." log_out: "Çıkış" user_api_key: @@ -542,13 +542,13 @@ tr_TR: xaxis: "Gün" yaxis: "Yeni beğenilerin sayısı" flags: - title: "Bayraklar" + title: "Bildirilenler" xaxis: "Gün" - yaxis: "Bayrakların sayısı" + yaxis: "Bildirilenlerin sayısı" bookmarks: - title: "İşaretlenenler" + title: "İmlenenler" xaxis: "Gün" - yaxis: "Yeni işaretlenenlerin sayısı" + yaxis: "Yeni imlenenlerin sayısı" starred: title: "Yıldızlı" xaxis: "Gün" @@ -610,7 +610,7 @@ tr_TR: page_view_total_reqs: title: "Toplam" xaxis: "Gün" - yaxis: "Toplam Sayfa Görünümleri" + yaxis: "Toplam Sayfa Görüntülemeleri" page_view_logged_in_mobile_reqs: title: "Giriş Yapılmış Sayfa Görüntülemeleri" xaxis: "Gün" @@ -669,7 +669,7 @@ tr_TR: s3_config_warning: 'Sunucu s3''e dosya yüklenebilmesi için yapılandırılmış, fakat şunlardan en az biri henüz ayarlanmamış: s3_access_key_id, s3_secret_access_key or s3_upload_bucket. <a href="/admin/site_settings">Site Ayarları</a> sayfasına gidin ve ayarları güncelleyin. <a href="http://meta.discourse.org/t/how-to-set-up-image-uploads-to-s3/7229" target="_blank">Daha fazla bilgi için "How to set up image uploads to S3?" konulu gönderiye bakın</a>.' s3_backup_config_warning: 'Sunucu s3''e yedekleme yüklenebilmesi için yapılandırılmış, fakat şunlardan en az biri henüz ayarlanmamış: s3_access_key_id, s3_secret_access_key or s3_backup_bucket. <a href="/admin/site_settings">Site Ayarları</a> sayfasına gidin ve ayarları güncelleyin. <a href="http://meta.discourse.org/t/how-to-set-up-image-uploads-to-s3/7229" target="_blank">Daha fazla bilgi için "How to set up image uploads to S3?" konulu gönderiye bakın</a>.' image_magick_warning: 'Sunucu büyük resimlerin küçük boylarının oluşturulması için yapılandırılmış, fakat ImageMagick henüz kurulmamış. Favori paket yöneticinizi kullanarak ImageMagick kurun veya <a href="http://www.imagemagick.org/script/binary-releases.php" target="_blank">son sürümünü indirin</a>.' - failing_emails_warning: 'Başarısızlıkla sonuçlanmış %{num_failed_jobs} e-posta işlemi bulunuyor. app.yml dosyanızı kontrol edin ve e-posta sunucu ayarlarınızın doğru olduğundan emin olun. <a href="/sidekiq/retries" target="_blank">Sidekiq''deki başarısız işlemlere gözatın</a>.' + failing_emails_warning: 'Başarısızlıkla sonuçlanmış %{num_failed_jobs} e-posta işlemi bulunuyor. app.yml dosyanızı kontrol edin ve e-posta sunucu ayarlarınızın doğru olduğundan emin olun. <a href="/sidekiq/retries" target="_blank">Sidekiq''deki başarısız işlemlere göz atın</a>.' default_logo_warning: "Siteniz için logo grafikleri yükleyin. <a href='/admin/site_settings'>Site Ayarları</a>'nda logo_url, logo_small_url, ve favicon_url güncellemelerini yapın." contact_email_missing: "Sitenizle alakalı acil durumlar için size ulaşabileceğimiz bir iletişim e-postası girin. Lütfen <a href='/admin/site_settings'>Site Ayarları'nda</a> iletişim e-postanızı güncelleyin." contact_email_invalid: "Site iletişim e-postası geçersiz. İletişim e-postanızı <a href='/admin/site_settings'>Site Ayarları</a> sayfasından güncelleyin." @@ -678,8 +678,8 @@ tr_TR: consumer_email_warning: "Sitenizde e-posta gönderimleri için Gmail (ya da başka bir e-posta hizmeti) kurulumu yapılmış. <a href='http://support.google.com/a/bin/answer.py?hl=en&answer=166852' target='_blank'>Gmail ile gönderebileceğiniz e-posta sayısı limitlidir</a>. Onun yerine, e-postalarınızın ulaştırılabildiğinden emin olmak için mandrill.com benzeri bir hizmet sağlayıcısını kullanın." site_contact_username_warning: "Önemli otomatik mesajları gönderen kişi olarak gözükecek adminin kullanıcı adını girin. <a href='/admin/site_settings'>Site Ayarları&lt;/a> sayfasından site_contact_username parametresini güncelleyin." notification_email_warning: "Bildiri e-postaları alan adınıza bağlı geçerli bir e-posta adresinden yollanmıyor; e-postalar düzenli ve güvenilir bir şekilde ulaşmayabilir. Lütfen <a href='/admin/site_settings'>Site Ayarları</a> sayfasından notification_email değeri için geçerli bir yerel e-posta adresi girin." - subfolder_ends_in_slash: "Alt dizin ayarlarınız hatalı, DISCOURSE_RELATIVE_URL_ROOT sonunda slaş bulunmalı" - bad_favicon_url: "Minik simge yüklemesi başarısız oldu. <a href='/admin/site_settings'>Site ayarları</a>ndan favicon_url alanını kontrol edin." + subfolder_ends_in_slash: "Alt dizin kurulumunuz hatalı, DISCOURSE_RELATIVE_URL_ROOT sonunda yan çizgi bulunmalı." + bad_favicon_url: "Minik simge yüklemesi başarısız oldu. <a href='/admin/site_settings'>Site Ayarları</a>ndan favicon_url alanını kontrol edin." site_settings: censored_words: " ■■■■ yerine otomatik olarak kullanılacak kelimeler" delete_old_hidden_posts: "30 günden fazla süreyle gizli kalan gizlenmiş gönderileri otomatik olarak sil." @@ -701,7 +701,7 @@ tr_TR: educate_until_posts: "Kullanıcılar, ilk (n) gönderilerini yazmaya başladıklarında, pop-up yeni kullanıcı eğitim paneli metin düzenleyecisinin üstünde çıksın." title: "Sayfa başlığı etiketinde kullanılacak, bu sitenin ismi." site_description: "Meta açıklama etiketinde kullanılacak, bu sitenin bir cümlelik açıklaması." - contact_email: "Bu site için sorumlu kişinin e-posta adresi. Sadece acil durumlar için /about iletişim formu içerisinde ve beklenmeyen bayraklamalar gibi kritik bildiriler için kullanılacak." + contact_email: "Bu site için sorumlu kişinin e-posta adresi. Sadece acil durumlar için /about iletişim formu içerisinde ve beklenmeyen bildirmeler gibi kritik bildiriler için kullanılacak." contact_url: "Bu site için iletişim URL'si. Acil durumlar için /about iletişim formunda kullanılır." queue_jobs: "SADECE YAZILIMCILAR İÇİN! UYARI! Aksi gerekmediği takdirde sidekiq işlerini hep otomatik sıraya koydurtun. Bu özellik devre dışı bırakılırsa, siteniz düzgün çalışmayacaktır." crawl_images: "Doğru genişlik ve yükseklik boyutlarını girmek için uzak URL'lerdeki resimlerin birer kopyasını alınsın." @@ -709,9 +709,9 @@ tr_TR: download_remote_images_threshold: "Uzaktaki resimlerin yerele indirilmesi için gereken en az disk alanı (yüzdesel)" download_remote_images_max_days_old: "n günden daha eski gönderiler için uzak adresteki resimleri indirme." disabled_image_download_domains: "Bu alan adlarından hiç bir zaman uzaktan resim indirme. Sınırlandırılmış liste." - editing_grace_period: "Gönderi oluşturulduktan (n) saniye içerisinde bir düzenleme yapıldığında, gönderi geçmişinde yeni bir versiyon oluşturma." + editing_grace_period: "Gönderi oluşturulduktan (n) saniye içerisinde bir düzenleme yapıldığında, gönderi geçmişinde yeni bir sürüm oluşturma." post_edit_time_limit: "Yazar gönderiyi yayınladıktan sonra (n) dakika içerisinde gönderiyi düzenleyebilir ya da silebilir. Sonsuz için 0 girin." - edit_history_visible_to_public: "Düzenlenmiş gönderinin eski versiyonlarını herkesin görmesine izin ver. Bu özellik kapatıldığında, eski versiyonları sadece görevliler görebilir." + edit_history_visible_to_public: "Düzenlenmiş gönderinin eski sürümlerini herkesin görmesine izin ver. Bu özellik kapatıldığında, eski versiyonları sadece görevliler görebilir." delete_removed_posts_after: "Yazar tarafından kaldırılan gönderiler (n) saat sonra otomatik olarak silinecektir. 0 olarak ayarlanırsa, gönderiler beklemeden hemen silinir." max_image_width: "Bir gönderideki küçük resimlerin en fazla genişliği" max_image_height: "Bir gönderideki küçük resimlerin en fazla yüksekliği" @@ -719,7 +719,7 @@ tr_TR: show_subcategory_list: "Bir kategoriye girildiğinde konu listesi yerine alt kategori listesini göster." fixed_category_positions: "Seçerseniz, kategoriler için sabit bir sıralama belirleyebileceksiniz. Seçmezseniz, kategoriler aktivite sırasına göre listelenir. " fixed_category_positions_on_create: "Seçerseniz, konu oluşturma ekranında da kategori sıralaması korunur (fixed_category_positions gerektirir)." - add_rel_nofollow_to_user_content: "İç bağlantılar (ana alan adları dahil) hariç, gönderilen tüm kullanıcı içeriklerine rel nofollow ekle. Bu ayarı değiştirirseniz, tüm gönderileri \"rake post:rebake\" ile rebake etmeniz gerekir." + add_rel_nofollow_to_user_content: "İç bağlantılar (ana alan adları dahil) hariç, gönderilen tüm kullanıcı içeriklerine rel nofollow ekle. Bu ayarı değiştirirseniz, tüm gönderileri \"rake post:rebake\" ile yeniden işlemeniz gerekir." exclude_rel_nofollow_domains: "nofollow eklenmeyecek sınırlandırılmış alan adları listesi. tld.com'a izin verirseniz otomatik olarak sub.tld.com'a da izin verilir." post_excerpt_maxlength: "Gönderi alıntısının / özetinin en fazla uzunluğu." show_pinned_excerpt_mobile: "Mobil görünümünde başa tutturulmuş konuların özetini göster." @@ -733,14 +733,14 @@ tr_TR: apple_touch_icon_url: "Apple dokunmatik cihazları için kullanılan ikon. Önerilen boyut; 144 x 144 pixel." notification_email: "Tüm önemli sistem e-postaları için kullanılacak olan gönderen e-posta adresi. E-postaların başarıyla ulaşması için buraya girilen alan adının SPF, DKIM ve reverse PTR kayıtlarının doğru yapılması lazım." email_custom_headers: "Sınırlandırılmış özel e-posta başlıkları listesi" - email_subject: "Standart e-postaları için özelleştirilebilir konu formatı. Bakınız https://meta.discourse.org/t/customize-subject-format-for-standard-emails/20801" + email_subject: "Standart e-postaları için özelleştirilebilir konu biçimi. Bakınız https://meta.discourse.org/t/customize-subject-format-for-standard-emails/20801" force_https: "Sitenizi HTTPS kullanmaya zorlayın. DİKKAT: bu seçeneği HTTPS'nin her yerde doğru bir şekilde çalıştığından emin olmadan SEÇMEYİN. Sitenizde bulunan paylaşım siteleri bağlantılarını, CDN' adresinizi, dışsal bağlantısı olan logolarınızı da kontrol ettiniz mi?" summary_score_threshold: "Bir gönderinin 'Bu Konuyu Özetle' içinde yer alması için gereken en az skor." summary_posts_required: "'Bu Konuyu Özetle'nin etkinleştirilmesi için konuda olması gereken en az gönderi sayısı" summary_likes_required: "'Bu Konuyu Özetle'nin etkinleştirilmesi için konuda olması gereken en az beğeni sayısı" summary_percent_filter: "Kullanıcı 'Bu Konuyu Özetle'ye tıkladığında, gönderinin ilk % kısmını göster" summary_max_results: "'Bu Konuyu Özetle'den dönen en fazla gönderi sayısı" - enable_private_messages: "Güven düzeyi 1'e(mesaj göndermek için en az seviye ayarıyla belirlenebilir) sahip kullanıcıların mesaj oluşturup cevaplamasına izin ver. Site kadrosundakiler her durumda mesaj gönderebilir." + enable_private_messages: "Güven düzeyi 1'e(özel mesaj göndermek için en az seviye ayarıyla belirlenebilir) sahip kullanıcıların mesaj oluşturup cevaplamasına izin ver. Görevliler her durumda mesaj gönderebilir." enable_long_polling: "Bildiri için kullanılan message bus uzun sorgular yapabilir" long_polling_base_url: "Uzun sorgular için kullanılan baz URL (CDN dinamik içerik sunuyorsa, bunu origin olarak ayarladığına emin ol) ör: http://origin.site.com" long_polling_interval: "Gönderilecek bilgi olmadığı zaman sunucunun kullanıcılara geri dönmeden önce beklemesi gereken zaman (sadece giriş yapmış kullanıcın için)" @@ -748,17 +748,17 @@ tr_TR: anon_polling_interval: "Kaç mili saniyede bir anonim kullanıcılar sorgu yapmalı" background_polling_interval: "(Pencere arkaplanda olduğu zaman) kaç mili saniyede bir kullanıcılan sorgu yapmalı" flags_required_to_hide_post: "Gönderinin otomatik olarak gizlenip kullanıcıya mesaj gönderilmesi için gereken toplam bildirim sayısı (hiçbir zaman için 0)" - cooldown_minutes_after_hiding_posts: "Topluluk tarafından bayraklanarak gizlenen gönderiyi düzenleyebilmek için, kullanıcının beklemesi gereken dakika süresi " + cooldown_minutes_after_hiding_posts: "Topluluk tarafından bildirilerek gizlenen gönderiyi düzenleyebilmek için, kullanıcının beklemesi gereken dakika süresi " max_topics_in_first_day: "Kullanıcının ilk gönderisini oluşturduktan sonraki 24 saatlik zaman dilimi içerisinde oluşturmasına izin verilen konu sayısı." max_replies_in_first_day: "Kullanıcının ilk gönderisini oluşturduktan sonraki 24 saatlik zaman dilimi içerisinde oluşturabileceği cevap sayısı." tl2_additional_likes_per_day_multiplier: "Güvenlik seviyesi 2 (Üye) olanlar için günlük beğeni limitini bu rakamla çarparak artır" - tl3_additional_likes_per_day_multiplier: "Güvenlik seviyesi 3 (Müdavim) olanlar için günlük beğeni limitini bu rakamla çarparak artır" + tl3_additional_likes_per_day_multiplier: "Güven seviyesi 3 (Müdavim) olanlar için günlük beğeni limitini bu rakamla çarparak artır" tl4_additional_likes_per_day_multiplier: "Güvenlik seviyesi 4 (Lider) olanlar için günlük beğeni limitini bu rakamla çarparak artır" notify_mods_when_user_blocked: "Eğer bir kullanıcı otomatik olarak engellendiyse, tüm moderatörlere mesaj yolla." - flag_sockpuppets: "Eğer, yeni kullanıcı konuya, konuyu başlatan yeni kullanıcı ile aynı IP adresinden cevap yazarsa, her iki gönderiyi de potansiyel spam olarak işaretle. " + flag_sockpuppets: "Eğer, yeni kullanıcı konuya, konuyu başlatan yeni kullanıcı ile aynı IP adresinden cevap yazarsa, her iki gönderiyi de potansiyel istenmeyen olarak bildir. " traditional_markdown_linebreaks: "Markdown'da, satır sonundan önce yazının sağında iki tane boşluk gerektiren, geleneksel satır sonu metodunu kullan kullan." allow_html_tables: "Tabloların HTML etiketleri kullanılarak Markdown ile oluşturulmasına izin verin. TABLE, THEAD, TD, TR, TH kabul edilir (tablo içeren tüm eski gönderilerin yenilenmesini gerektirir) " - post_undo_action_window_mins: "Kullanıcıya tanınan, bir gönderide yapılan yeni aksiyonları (beğenme, bayraklama, vs) geri alabilme dakika süresi" + post_undo_action_window_mins: "Bir gönderide yapılan yeni eylemlerin (beğenme, bildirme vb) geri alınabileceği zaman, dakika olarak" must_approve_users: "Siteye erişimlerine izin verilmeden önce tüm yeni kullanıcı hesaplarının görevliler tarafından onaylanması gerekir. UYARI: yayındaki bir site için bunu etkinleştirmek görevli olmayan hesapların erişimini iptal edecek." pending_users_reminder_delay: "Belirtilen saatten daha uzun bir süredir onay bekleyen yeni kullanıcılar mevcutsa moderatörleri bilgilendir. Bilgilendirmeyi devre dışı bırakmak için -1 girin." maximum_session_age: "Kullanıcı son ziyaretinden bu yana n saat boyunca giriş yapmış olarak kalacak" @@ -770,8 +770,8 @@ tr_TR: allow_moderators_to_create_categories: "Moderatörlerin yeni kategoriler oluşturmasına izin ver" cors_origins: "Cross-origin isteklerin (CORS) izin verilen originler. Her origin http:// veya https:// içermeli. CORS'u etkinleştirebilmek için DISCOURSE_ENABLE_CORS env değişkeni doğru olarak ayarlanmalı." use_admin_ip_whitelist: "Yöneticiler, sadece Taranmış IP listesinde tanımlanmış bir IP adresinden erişim sağlıyorlarsa giriş yapabilirler. (Yönetici > Kayıtlar > Taranmış IP'ler)" - top_menu: "Anasayfa navigasyonunda nelerin, hangi sırada yer alacağını belirleyin. Örneğin en sonIyeniIokunmamışIkategorilerIen popülerIokunmuşlarIgönderilenlerIişaretlenenler" - post_menu: "Gönderi menüsündeki öğelerin hangi sırada yer alacağını belirleyin. Örnek: beğen|düzenle|bayrakla|sil|paylaş|işaretle|cevapla" + top_menu: "Anasayfa navigasyonunda nelerin, hangi sırada yer alacağını belirleyin. Örneğin en sonIyeniIokunmamışIkategorilerIen popülerIokunmuşlarIgönderilenlerIimlenenler" + post_menu: "Gönderi menüsündeki öğelerin hangi sırada yer alacağını belirleyin. Örnek: beğen|düzenle|bildir|sil|paylaş|imle|cevapla" post_menu_hidden_items: "Gönderi menüsündeki maddeler, genişletme üç noktasına tıklanmadığı takdirde otomatik olarak gizlenir. " share_links: "Paylaşım penceresinde hangi maddelerin ne sırada gözükeceğini belirleyin." track_external_right_clicks: "URL'leri tekrar yazdığı için, sağ tıklanan dış bağlantıların (ör: yeni bir sekmede aç) takibi varsayılan ayarlarda devre dışı bırakılmıştır." @@ -790,14 +790,14 @@ tr_TR: email_token_valid_hours: "Parolamı unuttum / hesap etkinleştirme jetonları (n) saat geçerlidir." email_token_grace_period_hours: "Parolamı unuttum / hesabı etkinleştir jetonları kullanıldıktan sonra (n) saat boyunca hala geçerlidir." enable_badges: "Rozet sistemini etkinleştir" - enable_whispers: "Bu konu içerisinde yetkililerin birbirleriyle gizli olarak iletişim kurmasına izin ver. (deneyseldir)" + enable_whispers: "Konu içerisinde görevlilerin birbirleriyle gizli olarak iletişim kurmasına izin ver. (deneyseldir)" allow_index_in_robots_txt: "robots.txt dosyasında bu sitenin arama motorları tarafından indekslenmesine izin verildiğini belirt." email_domains_blacklist: "Kullanıcıların kayıt olurken kullanamayacağı e-posta alan adlarının, dikey çizgilerle ayrıştırılmış listesi. Örneğin: mailinator.com|trashmail.net" email_domains_whitelist: "Kullanıcıların kayıt olurken kullanmak ZORUNDA olduğu e-posta alan adlarının, dikey çizgilerle ayrıştırılmış listesi. UYARI: Bu listede yer almayan e-posta alan adları kabul edilmeyecektir!" forgot_password_strict: "Parola sıfırlama kullanıldığında kullanıcıyı hesabın varlığı ile ilgili olarak bilgilendirme." log_out_strict: "Çıkış yapılırken, kullanıcının tüm cihazlardaki TÜM seanslarını sonlandır" - version_checks: "Discourse Hub'a versiyon güncellemeleri için ping yolla ve yeni versiyon mesajlarına /admin gösterge panelinde yer ver" - new_version_emails: "Discourse'un yeni versiyonu çıktığında contact_email adresine e-posta gönder." + version_checks: "Discourse Hub'a sürüm güncellemeleri için ping yolla ve yeni versiyon mesajlarına /admin gösterge panelinde yer ver" + new_version_emails: "Discourse'un yeni sürümü çıktığında contact_email adresine e-posta gönder." port: "SADECE YAZILIMCILAR İÇİN! UYARI! Varsayılan 80 portu yerine bu HTTP portunu kullanın. Varsayılan 80'i kullanmak için boş bırakın. " force_hostname: "SADECE YAZILIMCILAR İÇİN! DİKKAT! URL'de bir bilgisayar adı belirleyin. Varsayılan için boş bırakın." invite_expiry_days: "Kullanıcı davet anahtarlarının geçerlilik süresi, gün olarak" @@ -806,7 +806,7 @@ tr_TR: login_required: "Bu sitede içerik görüntülenebilmesi için kimlik doğrulamayı zorunlu kıl, isimsiz girişe izin verme." min_username_length: "Karakter olarak en küçük kullanıcı adı uzunluğu." max_username_length: "Karakter olarak en büyük kullanıcı adı uzunluğu." - reserved_usernames: "Üyelik için izin verilmeyen kullanıcı adları." + reserved_usernames: "Kayıt için izin verilmeyen kullanıcı adları." min_password_length: "En az parola uzunluğu." min_admin_password_length: "Yönetici için en az parola uzunluğu." block_common_passwords: "En çok kullanılan 10,000 parola arasında yer alan parolalara izin verme." @@ -836,17 +836,17 @@ tr_TR: github_client_id: "Github doğrulaması için gereken, https://github.com/settings/applications adresinde kayıtlı client id" github_client_secret: "Github doğrulaması için gereken, https://github.com/settings/applications adresinde kayıtlı client secret" readonly_mode_during_backup: "Yedek alınırken yalnızca okuma modunu etkinleştir" - allow_restore: "Geri almaya izin ver. Tüm sitedeki verileri değiştirebilir! Bir yedeklemeyi geri yüklemeyi planlamıyorsanız devre dışı bırakın." + allow_restore: "Geri almaya izin ver. Sitedeki TÜM verileri değiştirebilir! Bir yedeklemeyi geri yüklemeyi planlamıyorsanız devre dışı bırakın." maximum_backups: "Diskte tutulacak en fazla yedek sayısı. Eski yedekler otomatik olarak silinir." - automatic_backups_enabled: "Yedek sıklığında tanımlandığı gibi yedekleri otomatik çalıştır" + automatic_backups_enabled: "Yedek sıklığında tanımlandığı gibi otomatik yedek almayı çalıştır" backup_frequency: "Hangi sıklıkta bir site yedeği oluştururuz, gün olarak." enable_s3_backups: "Tamamlanınca yedeklemeleri S3'e yükle. ÖNEMLİ: Dosyalar ayarında doğru S3 girilmesini gerektirir" s3_backup_bucket: "Yedeklemelerin yüklenmesi için uzak biriktirme yeri. UYARI: Özel bir biriktirme yeri olduğundan emin olun" s3_disable_cleanup: "Yerel olarak silinen yedeklerin S3 sunucularından silinmesini kapat" backup_time_of_day: "Yedeklemenin yapılacağı UTC zaman" - backup_with_uploads: "Yüklemeleri planlanmış yedeklemlere dahil et. Etkisizleştirilirse sadece veritabanı yedeklenecek." + backup_with_uploads: "Planlanmış yedeklere yüklemeleri de dahil et. Etkisizleştirilirse sadece veritabanı yedeklenecek." active_user_rate_limit_secs: "'last_seen_at' alanını ne kadar sıklıkta güncelliyoruz, saniye olarak" - verbose_localization: "UI'da genişletilmiş yerelleştirme ipuçlarını göster" + verbose_localization: "Arayüzde ayrıntılı yerelleştirme ipuçlarını göster" previous_visit_timeout_hours: "Ziyaretin üzerinden burada belirtilen saat kadar süre geçtiğinde, ziyareti \"bir önceki\" olarak nitelendir" rebake_old_posts_count: "Her 15 dakikada yeniden işlenecek olan eski konu sayısı." rate_limit_create_topic: "Bir konu oluşturduktan sonra, başka bir konu oluşturmak için kullanıcılar (n) saniye beklemeli. " @@ -854,8 +854,8 @@ tr_TR: rate_limit_new_user_create_topic: "Bir konu oluşturduktan sonra, başka bir konu oluşturmak için yeni kullanıcılar (n) saniye beklemeli. " rate_limit_new_user_create_post: "Bir gönderi oluşturduktan sonra, başka bir gönderi oluşturmak için yeni kullanıcılar (n) saniye beklemeli. " max_likes_per_day: "Bir günde, bir kullanıcının verilebileceği en fazla beğeni sayısı." - max_flags_per_day: "Bir günde, bir kullanıcının verebileceği en fazla bayrak sayısı. " - max_bookmarks_per_day: "Kullanıcı başına düşen günlük en fazla işaretleme sayısı." + max_flags_per_day: "Bir günde, bir kullanıcının yapabileceği en fazla bildirme sayısı. " + max_bookmarks_per_day: "Kullanıcı başına düşen günlük en fazla imleme sayısı." max_edits_per_day: "Bir günde, bir kullanıcının yapabileceği en fazla düzenleme sayısı." max_topics_per_day: "Bir günde, bir kullanıcının oluşturabileceği en fazla konu sayısı." max_private_messages_per_day: "Bir günde kullanıcıların oluşturabileceği en fazla mesaj sayısı" @@ -884,7 +884,7 @@ tr_TR: convert_pasted_images_quality: "Dönüştürülen JPG dosyasının kalitesi (1 en düşük kalite, 100 en iyi kalite)" enable_flash_video_onebox: "Kutularda swf ve flv (Adobe Flash) yerleştirmelerine izin ver. UYARI: güvenlik açıkları doğurabilir" default_invitee_trust_level: "Davet edilen kullanıcılar için varsayılan güven seviyesi (0-4)." - default_trust_level: "Tüm yeni kullanıcılar için varsayılan güven seviyesi (0-4). DİKKAT! Bu ayarı değiştirmeniz ciddi spam riski doğurabilir." + default_trust_level: "Tüm yeni kullanıcılar için varsayılan güven seviyesi (0-4). DİKKAT! Bu ayarı değiştirmeniz ciddi istenmeyen gönderi riski doğurabilir." tl1_requires_topics_entered: "Yeni bir kullanıcının güven seviyesi 1'e yükseltilmeden önce oluşturması gereken konu sayısı." tl1_requires_read_posts: "Yeni bir kullanıcının güven seviyesi 1'e yükseltilmeden önce okuması gereken gönderi sayısı." tl1_requires_time_spent_mins: "Yeni bir kullanıcının güven seviyesi 1'e yükseltimeden önce gönderi okuyarak geçirmesi gereken dakika miktarı." @@ -953,14 +953,14 @@ tr_TR: staff_like_weight: "Görevlilerin beğenilere verilecek ekstra ağırlık faktörü." topic_view_duration_hours: "Her N saatte IP/Kullanıcı başına bir kez yeni konu görüntülemesi say" user_profile_view_duration_hours: "Her N saatte IP/Kullanıcı başına bir kez yeni profil görüntülemesi say" - levenshtein_distance_spammer_emails: "Spam e-postaları eşleştirilirken, bulanık eşleşme için tahammül edilecek karakter sayısı farklılığı." - max_new_accounts_per_registration_ip: "Eğer bu IP'den güven seviyesi 0 olan halihazırda (n) hesap varsa (hiçbiri görevli, GS2 ya da daha yüksek seviyede biri değilse), bu IP'den yeni üyelik kabul etme. " + levenshtein_distance_spammer_emails: "İstenmeyen e-postaları eşleştirilirken, bulanık eşleşme için tahammül edilecek karakter sayısı farklılığı." + max_new_accounts_per_registration_ip: "Eğer bu IP'den güven seviyesi 0 olan halihazırda (n) hesap varsa (hiçbiri görevli, GS2 ya da daha yüksek seviyede biri değilse), bu IP'den yeni kayıt kabul etme. " min_ban_entries_for_roll_up: "Topla butonuna tıklandığında, (N) adetten fazla giriş varsa yeni bir subnet engelleme girişi yaratılacak." max_age_unmatched_emails: "Taranmış e-posta kayıtlarından karşılığı olmayanları (N) gün sonunda sil. " max_age_unmatched_ips: "Taranmış IP girişlerinden karşılığı olmayanları (N) gün sonunda sil." - num_flaggers_to_close_topic: "Bir konunun moderatör müdahalesi için otomatik olarak durdurulmadan önce alması gereken en az tekil bayrak sayısı" - num_flags_to_close_topic: "Bir konunun moderatör müdahalesi için otomatik olarak durdurulmadan önce alması gereken en az etkin bayrak sayısı " - auto_respond_to_flag_actions: "Bir bayrağı kaldırırken otomatik cevaplamayı etkinleştir" + num_flaggers_to_close_topic: "Bir konunun moderatör müdahalesi için otomatik olarak durdurulmadan önce alması gereken en az tekil bildirim sayısı" + num_flags_to_close_topic: "Bir konunun moderatör müdahalesi için otomatik olarak durdurulmadan önce alması gereken en az etkin bildirim sayısı " + auto_respond_to_flag_actions: "Bir bildirim kaldırırken otomatik olarak cevaplamayı etkinleştir" min_first_post_typing_time: "Milisaniye olarak bir kullanıcının ilk gönderisini yazarken geçmesi gereken en küçük süre, bu süre geçmezse gönderi otomatik olarak onaylanma kuyruğuna girer. Devre dışı bırakmak için 0'a ayarlayın (tavsiye edilmez)." auto_block_fast_typers_on_first_post: "min_first_post_typing_time'ı karşılamayan kullanıcıları otomatik olarak engelle." auto_block_fast_typers_max_trust_level: "Hızlı yazıcıları otomatik engellemek için en büyük güven seviyesi." @@ -983,7 +983,7 @@ tr_TR: email_in: "Kullanıcıların e-posta aracılığıyla yeni konu oluşturabilmesine izin ver (pop3 sorgulaması gerektirir). Adresleri her kategorinin \"Ayarlar\" sekmesinden düzenleyin." email_in_min_trust: "Bir kullanıcının e-posta aracılığı ile yeni konu oluşturabilmesi için sahip olması gereken en az güven seviyesi." email_prefix: "E-postaların konu bölümünü belirten [etiket]. Boş bırakılırsa 'title' yazacak." - email_site_title: "Bu siteden giden e-postalarda gönderici olarak kullanılacak sitenin başlığı. Herhangi bir şey girilmezse varsayılan olarak 'title' yazacak. Eğer 'başlık\" içeriğinizde, email göndericisinin stringlerinde izin verilmeyen karakterler varsa, bu ayarı kullanın. " + email_site_title: "Bu siteden giden e-postalarda gönderici olarak kullanılacak sitenin başlığı. Herhangi bir şey girilmezse varsayılan olarak 'title' yazacak. Eğer 'başlık\" içeriğinizde, e-posta göndericisinin stringlerinde izin verilmeyen karakterler varsa, bu ayarı kullanın. " minimum_topics_similar: "Yeni konu oluşturulurken, benzer konuların gösterilmesi için sitede olması gereken konu sayısı." relative_date_duration: "Gönderinin üstünden bu kadar gün geçtikten sonra, gönderi tarihi mutlak şekilde değil (20 Şubat) göreceli şekilde (7g) gösterilecek." delete_user_max_post_age: "İlk gönderisini (x) günden eski olan kullanıcıların silinmesine izin verme." @@ -998,7 +998,7 @@ tr_TR: automatically_download_gravatars: "Hesap oluşturma veya e-posta değişikliği esnasında kullanıcılar için Gravatarları indir" digest_topics: "E-posta özetinde en fazla gösterilebilecek olan konu sayısı." digest_min_excerpt_length: "E-posta özetindeki konular için gösterilecek özet boyutu, karakter olarak." - disable_digest_emails: "Tüm kullanıcılar için özet email'leri devre dışı bırak." + disable_digest_emails: "Tüm kullanıcılar için özet e-postaları devre dışı bırak." detect_custom_avatars: "Kullanıcıların özel profil resimleri yükleyip yüklemediklerini kontrol et ya da etme." max_daily_gravatar_crawls: "Discourse'un gün içinde özel avatarlar için Gravatar'ı en fazla kaç kere kontrol edeceği." public_user_custom_fields: "Kullanıcıların için, herkes tarafından görüntülenebilir özel alanların beyaz listesi." @@ -1025,7 +1025,7 @@ tr_TR: short_progress_text_threshold: "Bir konudaki gönderi sayısı bu sayının üzerine çıktığında, ilerleme çubuğunda sadece şu anki gönderi sayısını göster. İlerleme çubuğunun kalınlığını değiştirirseniz, bu değeri de değiştirmeniz gerekebilir." default_code_lang: "GitHub kod bloklarına (lang-auto, ruby, python vs.) uygulanacak, varsayılan programlama dili sözdizimi vurgulaması." warn_reviving_old_topic_age: "Herhangi bir kullanıcı, son cevabın burada belirtilen gün sayısından daha önce yazıldığı bir konuya cevap yazmaya başladığında, bir uyarı mesajı çıkacak. Bu özelliği devre dışı bırakmak için 0 girin. " - autohighlight_all_code: "Tüm önceden formatlanan kod bloklarına, açıkça dil seçimi yapılmamış olsa da, zorla kod vurgulaması uygula." + autohighlight_all_code: "Tüm önceden biçimlendirilen kod bloklarına, açıkça dil seçimi yapılmamış olsa da, zorla kod vurgulaması uygula." highlighted_languages: "Dahil edilen kod renklendirme kuralları. (Uyarı: çok fazla dil eklemek performansı etkileyebilir) demo için bakınız: https://highlightjs.org/static/demo/" feed_polling_enabled: "SADECE YERLEŞTİRME İÇİN: RSS/ATOM beslemesinin gönderi olarak yerleştirilip yerleştirilemeyeceği." feed_polling_url: "SADECE YERLEŞTİRME İÇİN: Yerleştirilecek RSS/ATOM beslemesinin URL'i." @@ -1033,17 +1033,18 @@ tr_TR: embed_username_key_from_feed: "Beslemeden Discourse kullanıcı adını çekmek için kullanılacak anahtar" embed_truncate: "Yerleştirilmiş gönderileri kırp." embed_post_limit: "Yerleştirilecek en fazla gönderi sayısı." - embed_username_required: "Konu olşuturmak için kullanıcı gereklidir." + embed_username_required: "Konu oluşturmak için kullanıcı adı gereklidir." embed_whitelist_selector: "Yerleştirmelerde kullanılmasına izin verilen öğeler için CSS seçicisi." embed_blacklist_selector: "Yerleştirmelerden çıkartılmış öğeler için CSS seçicisi." - notify_about_flags_after: "Bu kadar saat geçmesine rağmen hala ilgilenilmemiş bayraklar varsa, contact_email adresine e-posta gönder. Devre dışı bırakmak için 0 girin. " + notify_about_flags_after: "Bu kadar saat geçmesine rağmen hala ilgilenilmemiş bildirimler varsa, contact_email adresine e-posta gönder. Devre dışı bırakmak için 0 girin. " enable_cdn_js_debugging: "/logs 'ların asli hataları tüm js içeriklerine crossorigin izinleri ekleyerek göstermesine izin ver." show_create_topics_notice: "Eğer sitede herkese açık konu sayısı 5'den az ise, adminden yeni konular oluşturmasını isteyen bir uyarı mesajı göster. " delete_drafts_older_than_n_days: (n) günden eski taslakları sil. + bootstrap_mode_min_users: "bootstrap modunun edilgen olması için gereken en az kullanıcı sayısı (edilgen bırakmak için 0 yapın)" vacuum_db_days: "Geçiş sonrası DB alanı geri kazanmak için TAM VAKUM ANALİZİ'ni çalıştırın (devre dışı bırakmak için 0 girin)" prevent_anons_from_downloading_files: "Anonim kullanıcıların eklenti indirebilmesini önle. DİKKAT: Bu ayar, eklenti olarak gönderilen resim-dışı site içeriklerinin de çalışmasını engelleyebilir." slug_generation_method: "Slug üretim yöntemi seçin. 'kodlanmış' seçeneği yüzde kodlamalı metin oluşturur. 'hiçbiri' seçeneği slug'ı devre dışı bırakır." - enable_emoji: "Emojiyi aktifleştir" + enable_emoji: "Emojiyi etkinleştir" emoji_set: "Emojinizi nasıl isterdiniz?" enforce_square_emoji: "Tüm emojileri kare en-boy oranına zorla" approve_unless_trust_level: "Bu güven seviyesi altındaki kullanıcılardan gelen gönderilerin onaylanması gerekir" @@ -1051,7 +1052,7 @@ tr_TR: default_email_private_messages: "Öntanımlı olarak birisi bir kullanıcıya mesaj attığında e-posta gönder." default_email_direct: "Öntanımlı olarak birisi bir kullanıcı hakkında alıntı yapma, cevaplama, bahsetme ya da davet etme eylemlerini gerçekleştirdiğinde e-posta gönder." default_email_mailing_list_mode: "Öntanımlı olarak her yeni gönderi için bir e-posta gönder." - disable_mailing_list_mode: "Kullanıcıların duyuru listesi modunu aktif etmesini engelle." + disable_mailing_list_mode: "Kullanıcıların duyuru listesi modunu etkinleştirmesini engelle." default_email_always: "Öntanımlı olarak kullanıcı etkin olsa bile e-posta bildirimi gönder." default_other_new_topic_duration_minutes: "Konunun yeni olarak düşünülmesi için genel varsayılan koşul." default_other_auto_track_topics_after_msecs: "Bir konunun otomatik olarak takip edilmesi için geçmesi gereken genel varsayılan zaman." @@ -1061,13 +1062,16 @@ tr_TR: default_other_disable_jump_reply: "Kullanıcılar cevapladıktan sonra, öntanımlı olarak, onların gönderilerine atlama." default_other_like_notification_frequency: "Beğenildiğinde öntanımlı olarak kullanıcılara bildir" default_topics_automatic_unpin: "Kullanıcı sayfa sonuna eriştiğinde tutturulmuş konuları otomatik olarak sayfadan ayır." - default_categories_watching: "Öntanımlı olarak, izlenen kategorilerin listesi." + default_categories_watching: "Öntanımlı olarak gözlenen kategorilerin listesi." default_categories_tracking: "Öntanımlı olarak, takip edilen kategorilerin listesi." default_categories_muted: "Öntanımlı olarak, sesi kısılan kategorilerin listesi." tagging_enabled: "Konularda etiketleri etkinleştirin?" min_trust_to_create_tag: "Yeni bir etiket oluşturmak için gereken en az güven seviyesi." + max_tags_per_topic: "Bir konuya eklenebilecek en fazla etiket." + max_tag_length: "Bir etiket isminde kullanılabilecek en fazla karakter sayısı." + max_tag_search_results: "Etiketler için arama yapılırken gösterilecek en fazla sonuç." tag_style: "Etiket rozetleri için görsel stil." - min_trust_level_to_tag_topics: "Etiket konuları oluşturmak için gereken en az güven seviyesi." + min_trust_level_to_tag_topics: "Konulara etiket eklemek için gereken en az güven seviyesi." errors: invalid_email: "Geçersiz e-posta adresi." invalid_username: "Bu kullanıcı adı ile bir kullanıcı bulunmuyor." @@ -1075,8 +1079,8 @@ tr_TR: invalid_integer_min: "Değer %{min} ya da daha fazla olmalı." invalid_integer_max: "Değer en fazla %{max} olabilir." invalid_integer: "Değer tam sayı olmalı." - regex_mismatch: "Değer istenen formatla eşleşmiyor." - must_include_latest: "Üst menü 'en son\" sekmesini içermeli" + regex_mismatch: "Değer gereken biçimle eşleşmiyor." + must_include_latest: "Üst menü 'en son' sekmesini içermeli" invalid_string: "Geçersiz değer." invalid_string_min_max: "%{min} ile %{max} karakter arasında olmalı." invalid_string_min: "En az %{min} karakter olmalı." @@ -1146,21 +1150,21 @@ tr_TR: login: not_approved: "Hesabını henüz onaylanmadı. Giriş yapmak için hazır olduğunuzda e-posta ile bilgilendirileceksiniz." incorrect_username_email_or_password: "Yanlış kullanıcı adı, e-posta ya da parola" - wait_approval: "Üye olduğunuz için teşekkürler. Hesabınız onaylandığında sizi haberdar edeceğiz." + wait_approval: "Kayıt olduğunuz için teşekkürler. Hesabınız onaylandığında sizi haberdar edeceğiz." active: "Hesabınız etkinleştirildi ve kullanıma hazır." activate_email: "<p>Az kaldı! <b>%{email}</b> adresine bir etkinleştirme e-postası gönderdik. Hesabınızı etkinleştirmek için lütfen e-postadaki yönlendirmeleri takip edin.</p><p>Eğer e-postayı almadıysanız, gereksiz klasörünüzü kontrol edin ya da başka bir etkinleştirme e-postası daha göndermek için tekrar giriş yapmayı deneyin.</p>" not_activated: "Henüz giriş yapamazsınız. Size bir etkinleştirme e-postası gönderdik. Hesabınızı etkinleştirmek için lütfen e-postadaki yönlendirmeleri takip edin." not_allowed_from_ip_address: "Bu IP adresinden %{username} kullanıcı adı ile giriş yapamazsınız." admin_not_allowed_from_ip_address: "Bu IP adresinden admin olarak giriş yapamazsınız." suspended: "%{date} tarihine kadar giriş yapamazsınız." - suspended_with_reason: "Hesap %{date} tarihine kadar yasaklanmıştır. Sebep: %{reason}" + suspended_with_reason: "Hesap %{date} tarihine kadar askıya alınmıştır. Sebep: %{reason}" errors: "%{errors}" not_available: "Uygun değil. Bunu denemeye ne dersiniz? %{suggestion}" something_already_taken: "Bir şeyler ters gitti. Kullanıcı adı veya e-posta zaten kayıtlı olabilir. Parolamı Unuttum bağlantısını deneyin." omniauth_error: "Üzgünüz, hesabınız doğrulanırken bir hata oluştu. Doğrulama işlemini onaylamamış olabilir misiniz?" omniauth_error_unknown: "Girişiniz yapılırken bir şeyler ters gitti, lütfen tekrar deneyin." new_registrations_disabled: "Şu an yeni hesap oluşturulamıyor. " - password_too_long: "Parolalar maksimum 200 karakter olabilir." + password_too_long: "Parolalar en fazla 200 karakter olabilir." email_too_long: "Vermiş olduğun e-posta çok uzun. E-posta kutusu isimleri 254, alan adı isimleri ise 253 karakterden daha uzun olamaz." reserved_username: "Bu kullanıcı adını kullanamazsın." missing_user_field: "Kullanıcı alanlarının tamamını doldurmadınız" @@ -1176,19 +1180,27 @@ tr_TR: must_begin_with_alphanumeric_or_underscore: "bir harf, rakam ya da alt çizgi ile başlamalı" must_end_with_alphanumeric: "bir harf ya da bir rakam ile bitmeli" must_not_contain_two_special_chars_in_seq: "2 ya da daha fazla uzunlukta özel karakter dizisi (.-_) içermemeli" + must_not_end_with_confusing_suffix: ".json ya da .png gibi kafa karıştırıcı bir son ek içermemeli." email: - not_allowed: "için o e-posta sağlayıcısına izin verilmiyor. Lütfen başka bir email adresi kullanın. " + not_allowed: "için o e-posta sağlayıcısına izin verilmiyor. Lütfen başka bir e-posta adresi kullanın. " blocked: "için izin yok." ip_address: blocked: "Mevcut IP adresiniz üzerinden yeni kayıt işlemine izin verilmiyor." - max_new_accounts_per_registration_ip: "Mevcut IP adresiniz üzerinden yeni kayıt işlemine izin verilmiyor. (Belirlenen maksimum limit aşıldı.) Bir yetkili ile iletişime geçin." + max_new_accounts_per_registration_ip: "Mevcut IP adresiniz üzerinden yeni kayıt işlemine izin verilmiyor. (Belirlenen sınır aşıldı.) Bir görevli ile iletişime geçin." flags_reminder: flags_were_submitted: other: "Bildirimler %{count} saat önce gönderilmiş. Lütfen inceleyin." subject_template: - other: "İlgilenilmesi gereken %{count} bayrak var" + other: "İlgilenilmesi gereken %{count} bildirim var" unsubscribe_mailer: subject_template: "%{site_title} üzerinden daha fazla e-posta güncellemesi almak istemediğinizi onaylayın" + text_body_template: | + Birisi (galiba siz?) bundan sonra %{site_domain_name} adresinden daha fazla e-posta bildirimi almamak için istekte bulundu. + Eğer bunu onaylıyorsanız, lütfen bağlantıya tıklayın: + + %{confirm_unsubscribe_link} + + Eğer e-posta bildirimlerini almaya devam etmek istiyorsanız, bu e-postayı görmezden gelin. invite_mailer: subject_template: "%{invitee_name} sizi %{site_domain_name} sitesindeki '%{topic_title}' adlı konuya davet etti. " text_body_template: | @@ -1210,7 +1222,29 @@ tr_TR: Bu davet güvenilir bir kullanıcı tarafından gönderilmiştir, cevap yazarak tartışmaya hemen katılabilirsiniz. custom_invite_mailer: - subject_template: "%{invitee_name} sizi %{site_domain_name} sitesindeki '%{topic_title}' adlı konuya davet etti. " + subject_template: "%{invitee_name} sizi %{site_domain_name} sitesindeki '%{topic_title}' adlı konuya davet etti " + text_body_template: | + %{invitee_name} sizi + + > %{site_title} -- %{site_description} + + sitesindeki + + > **%{topic_title}** + > + > %{topic_excerpt} + + tartışmasına davet ediyor. + + Ayrıca %{invitee_name} diyor ki: + + %{user_custom_message} + + Eğer ilgileniyorsanız, aşağıdaki bağlantıya tıklayın: + + %{invite_link} + + Bu davet güvenilir bir kullanıcı tarafından gönderilmiştir, cevap yazarak tartışmaya hemen katılabilirsiniz. invite_forum_mailer: subject_template: "%{invitee_name} sizi %{site_domain_name} sitesine katılmanız için davet etti" text_body_template: | @@ -1248,14 +1282,14 @@ tr_TR: text_body_template: | %{site_name}'e olan davetiyeni kabul ettiğin için teşekkür ederiz -- hoşgeldin! - Şimdi bir şifre seçmek için şu bağlantıya tıklayın: + Şimdi bir parola seçmek için şu bağlantıya tıklayın: %{base_url}/users/password-reset/%{email_token} (Eğer yukarıdaki bağlantının süresi dolmuşsa e-posta adresinizle giriş yaparken "Parolamı unuttum" bağlantısına tıklayınız.) test_mailer: subject_template: "[%{site_name}] E-posta Ulaştırma Testi" new_version_mailer: - subject_template: "[%{site_name}] Yeni Discourse versiyonu, güncelleme var" + subject_template: "[%{site_name}] Yeni Discourse sürümü, güncelleme var" text_body_template: | Yuhaaa, [Discourse](http://www.discourse.org) için yeni bir sürüm hazır! @@ -1288,18 +1322,20 @@ tr_TR: subject_template: other: "[%{site_name}] %{count} konu incelenmeyi bekliyor." flag_reasons: - off_topic: "Gönderiniz **konu-dışı** olarak bayraklandı: topluluk, gönderinizin konu başlığı ve ilk gönderi ile tanımlanan konu içeriğine uygun olmadığını düşünüyor. " - inappropriate: "Gönderiniz **uygunsuz** olarak bayraklandı: topluluk gönderinizin saldırgan, kaba ya da [topluluk yönergelerine](/guidelines) aykırı olduğunu düşünüyor." - spam: "Gönderiniz **spam** olarak bayraklandı: topluluk, gönderinizin mevcut konuya uygun veya yararlı olmaktansa fazlasıyla promosyonel ve reklam içerikli olduğunu düşünüyor." - notify_moderators: "Gönderiniz **moderatör kontrolü için** bayraklandı: topluluk, gönderinizle ilgili bir şeyin moderatör tarafından kontrol edilmesi gerektiğini düşünüyor." + off_topic: "Gönderiniz **konu-dışı** olarak bildirildi: topluluk, gönderinizin konu başlığı ve ilk gönderi ile tanımlanan konu içeriğine uygun olmadığını düşünüyor. " + inappropriate: "Gönderiniz **uygunsuz** olarak bildirildi: topluluk gönderinizin saldırgan, kaba ya da [topluluk yönergelerine](/guidelines) aykırı olduğunu düşünüyor." + spam: "Gönderiniz **istenmeyen** olarak bildirildi: topluluk, gönderinizin mevcut konuya uygun veya yararlı olmaktansa fazlasıyla promosyonel ve reklam içerikli olduğunu düşünüyor." + notify_moderators: "Gönderiniz **moderatör kontrolü için** bildirildi: topluluk, gönderinizle ilgili bir şeyin moderatör tarafından kontrol edilmesi gerektiğini düşünüyor." flags_dispositions: agreed: "Bizi bilgilendirdiğiniz için teşekkür ederiz. Bir sorun olduğu konusunda size katılıyoruz ve ilgileniyoruz." agreed_and_deleted: "Bizi bilgilendirdiğiniz için teşekkür ederiz. Bir sorun olduğu konusunda size katılıyoruz, gönderiyi kaldırdık. " disagreed: "Bizi bilgilendirdiğiniz için teşekkür ederiz. Konu ile ilgileniyoruz." deferred: "Bizi bilgilendirdiğiniz için teşekkür ederiz. Konu ile ilgileniyoruz." deferred_and_deleted: "Bizi bilgilendirdiğiniz için teşekkür ederiz. Gönderiyi kaldırdık." - temporarily_closed_due_to_flags: "Bu konu topluluk tarafından çok fazla rapor edildiği için geçici olarak kapatılmıştır." + temporarily_closed_due_to_flags: "Bu konu topluluk tarafından çok fazla bildirildiği için geçici olarak kapatılmıştır." system_messages: + post_hidden: + subject_template: "Gönderi topluluk bildirimleri tarafından gizlendi" welcome_user: subject_template: "%{site_name} sitesine hoşgeldiniz!" text_body_template: | @@ -1321,9 +1357,9 @@ tr_TR: Daha sonra tekrar giriş yapmak için: - 1. Giriş yaparken her zaman **ilk davetiyenizdekiyle aynı email adresini kullanın**. Yoksa sizin olduğunuzu anlayamayız! + 1. Giriş yaparken her zaman **ilk davetiyenizdeki ile aynı e-posta adresini kullanın**. Yoksa sizin olduğunuzu anlayamayız! - 2. [Kullanıcı profiliniz][prefs] için yeni bir şifre oluşturun ve o şifre ile giriş yapın. + 2. [Kullanıcı profiliniz][prefs] için yeni bir parola oluşturun ve o parola ile giriş yapın. %{new_user_tips} @@ -1336,12 +1372,22 @@ tr_TR: [prefs]: %{user_preferences_url} backup_succeeded: subject_template: "Yedekleme başarıyla tamamlandı" + text_body_template: | + Yedekleme başarılı oldu. + + Yedeğinizi indirmek için [yönetici> yedekleme alanını](%{base_url}/admin/backups) ziyaret edin. + + İşlem kaydı burada: + + ```text + %{logs} + ``` backup_failed: subject_template: "Yedekleme başarısız" text_body_template: | Yedekleme başarısız oldu. - Hata kayıtları burda: + İşlem kaydı burada: ```text %{logs} @@ -1351,7 +1397,7 @@ tr_TR: text_body_template: | Geri yükleme başarılı oldu. - İşlem kaydı burda: + İşlem kaydı burada: ```text %{logs} @@ -1359,9 +1405,9 @@ tr_TR: restore_failed: subject_template: "Geri alma başarısız" text_body_template: | - Geri yükleme başarısız. + Geri yükleme başarısız oldu. - İşte hata kayıtları: + İşlem kaydı burada: ```text %{logs} @@ -1401,11 +1447,11 @@ tr_TR: email_reject_screened_email: subject_template: "[%{site_name}] E-posta sorunu -- Engellenen E-posta" email_reject_inactive_user: - subject_template: "[%{site_name}] E-posta sorunu -- Etkin olmayan Kullanıcı" + subject_template: "[%{site_name}] E-posta sorunu -- Edilgen Kullanıcı" email_reject_blocked_user: subject_template: "[%{site_name}] E-posta sorunu -- Engellenen Kullanıcı" email_reject_reply_user_not_matching: - subject_template: "[%{site_name}] E-posta sorunu -- Beklenmeyen Yanıt Adresi" + subject_template: "[%{site_name}] E-posta sorunu -- Beklenmeyen Cevap Adresi" email_reject_no_account: subject_template: "[%{site_name}] E-posta sorunu -- Bilinmeyen Hesap" email_reject_empty: @@ -1442,6 +1488,8 @@ tr_TR: subject_template: "Yeni hesap askıda" blocked_by_staff: subject_template: "Hesap geçiçi olarak askıda" + user_automatically_blocked: + subject_template: "Yeni kullanıcı %{username} topluluk bildirimleri tarafından engellendi" spam_post_blocked: subject_template: "Üst üste aynı bağlantıların paylaşılmasından ötürü %{username} adlı yeni kullanıcının gönderileri engelledi" unblocked: @@ -1449,7 +1497,7 @@ tr_TR: text_body_template: | Merhaba, - Bu otomatik mesaj %{site_name} üzerinden size yetkili incelemesinin ardından hesabınızın artık askıda olmadığını bilmeniz amacıyla gönderilmiştir. + Bu otomatik mesaj %{site_name} forumunda, görevli incelemesinin ardından hesabınızın artık askıda olmadığını bilmeniz amacıyla gönderilmiştir. Şimdi tekrar cevaplar ve konular oluşturabilirsiniz. Sabrınız için teşekkürler. pending_users_reminder: @@ -1472,6 +1520,8 @@ tr_TR: unsubscribe: title: "Aboneliği İptal Et" description: "Bu e-postalarla ilgilenmiyor musunuz? Sorun değil! Aşağıya tıklayarak aboneliğinizi hemen iptal edebilirsiniz:" + reply_by_email: "Yanıtlamak için [konuyu ziyaret edin](%{base_url}%{url}) ya da bu e-postaya cevap verin." + reply_by_email_pm: "Yanıtlamak için [mesajı ziyaret edin](%{base_url}%{url}) ya da bu e-postaya cevap verin." only_reply_by_email: "Cevap vermek için bu e-postayı cevaplayın." visit_link_to_respond: "Cevaplamak için [konuyu ziyaret edin](%{base_url}%{url})." visit_link_to_respond_pm: "Cevaplamak için [mesajı ziyaret edin](%{base_url}%{url})." @@ -1498,6 +1548,12 @@ tr_TR: > %{site_title} -- %{site_description} user_invited_to_private_message_pm: subject_template: "[%{site_name}] %{username} sizi bir mesaja davet etti '%{topic_title}'" + text_body_template: | + %{header_instructions} + + %{message} + + %{respond_instructions} user_invited_to_private_message_pm_staged: subject_template: "[%{site_name}] %{username} sizi bir mesaja davet etti '%{topic_title}'" text_body_template: | @@ -1525,7 +1581,7 @@ tr_TR: %{respond_instructions} user_replied_pm: - subject_template: "[%{site_name}] [PM] %{topic_title}" + subject_template: "[%{site_name}] [ÖM] %{topic_title}" text_body_template: | %{header_instructions} @@ -1638,7 +1694,7 @@ tr_TR: set_password: subject_template: "[%{site_name}] Parola Oluşturun" text_body_template: | - Biri, [%{site_name}](%{base_url}) sitesindeki hesabınıza parola ekleme talebinde bulundu. Dilerseniz, bu doğrulanmış email hesabınızla eşleşen, desteklediğiniz herhangi bir online servisi (Google, Facebook, vs.) kullanarak da giriş yapabilirsiniz. + Biri, [%{site_name}](%{base_url}) sitesindeki hesabınıza parola ekleme talebinde bulundu. Dilerseniz, bu doğrulanmış e-posta hesabınızla eşleşen, desteklediğiniz herhangi bir çevrimiçi servisi (Google, Facebook, vs.) kullanarak da giriş yapabilirsiniz. Eğer istekte bulunan siz değilseniz, bu e-postayı görmezden gelebilirsiniz. @@ -1774,7 +1830,7 @@ tr_TR: <ul> <li>Başlığa göre öncelikli aranır – kuşkuya düşerseniz başlığa göre arama yapın</li> <li>Özgün, sık kullanılmayan kelimeler en iyi sonucu verirler</li> - <li>Belirli bir kategori, konu veya kullanıcı ile ilgili aramayı deneyin</li> + <li>Belirli bir kategori, konu veya kullanıcı ile ilgili aramayı demek faydalı olabilir</li> </ul> </p> <h3>Ayarlar</h3> @@ -1785,7 +1841,7 @@ tr_TR: <tr><td><code>#category-slug</code></td><td><code>category:falanfilan</code></td><td><code>group:falanfilan</code></td><td><code>badge:falanfilan</code></td><td></td></tr> <tr><td><code>in:likes</code></td><td><code>in:posted</code></td><td><code>in:watching</code></td><td><code>in:tracking</code></td><td><code>in:private</code></td></tr> <tr><td><code>in:bookmarks</code></td><td><code>in:first</code></td><td><code>in:pinned</code></td><td><code>in:unpinned</code></td><td><code>in:wiki</code></td></tr> - <tr><td><code>posts_count:num</code></td><td><code>before:gün veya tarih</code></td><td><code>after:gün veya tarih</code></td><td><code>tags:bir,iki</code></td><td></td></tr> + <tr><td><code>posts_count:num</code></td><td><code>before:gün/tarih</code></td><td><code>after:gün/tarih</code></td><td><code>tags:bir,iki</code></td><td></td></tr> </table> </p> <h3>Örnekler</h3> @@ -1793,12 +1849,12 @@ tr_TR: <ul> <li><code>gökkuşağı #parklar</code> "parklar" kategorisi içerisinde bulunan konularda "gökkuşağı" kelimesini arar. </li> <li><code>gökkuşağı category:parklar status:open order:latest</code> "parklar" kategorisi içerisinde bulunan açık, arşivlenmemiş konularda "gökkuşağı" kelimesini arar, en son konuya göre sıralar</li> - <li><code>gökkuşağı category:"parklar ve bahçeler" in:bookmarks</code> sizin tarafınızdan "parklar ve bahçeler" kategorisinde işaretlenmiş konularda "gökkuşağı" kelimesini arar.</li> + <li><code>gökkuşağı category:"parklar ve bahçeler" in:bookmarks</code> sizin tarafınızdan "parklar ve bahçeler" kategorisinde imlenmiş konularda "gökkuşağı" kelimesini arar.</li> </ul> </p> badges: editor: - name: Editör + name: Düzenleyici description: İlk gönderini düzenledin long_description: | Bu rozet gönderilerinizden birini düzenlediğinizde verilecektir. Mesajlarınızı düzenlemek her zaman için iyidir — mesajlarınızı geliştirebilir, küçük hataları düzeltebilir, ya da unuttuğunuz detayları ekleyebilirsiniz. Daha iyi mesaj oluşturabilmek için düzenleyin. @@ -1806,35 +1862,35 @@ tr_TR: name: Acemi description: Bütün esas forum uygulamalarını kullanabilmeye <a href="https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/4">hak kazanılmıştır</a> long_description: | - Bu rozet ilk rütbene ulaştığın için verildi. Forumda neler olduğunu takip ettiğiniz için ve konuları okuduğunuz için teşekkürler. Artık yeni özelliklere sahipsin; kişisel mesajlaşma, işaretleme, düzenleme, ve çoklu resim ve bağlantı paylaşablme gibi. + Bu rozet 1. güven seviyesi ulaştığın için verildi. Forumda neler olduğunu takip ettiğin için ve konuları okuduğun için teşekkürler. Artık yeni özelliklere sahipsin; kişisel mesajlaşma, bildirme, düzenleme, ve çoklu resim ve bağlantı paylaşabilme gibi. member: - name: Sadık Üye + name: Üye description: Davetler, grup mesajlaşmaları, ve daha fazla beğeni <a href="https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/5">hakkı kazanılmıştır</a> long_description: | - Bu rozet ikinci rütbeye ulaştığın için verildi.Bir kaç haftadır aramızda zaman geçirdiğin için teşekkürler. Artık kullanıcı sayfandan ya da konu sayfandan davetler gönderebilirsin, kişisel grup mesajları oluşturabilirsin ve günlük daha fazla beğeni yapabilirsin. + Bu rozet 2. güven seviyesine için verildi. Birkaç haftadır aramızda zaman geçirdiğin için teşekkürler. Artık kullanıcı sayfandan ya da konu sayfandan davetler gönderebilirsin, kişisel grup mesajları oluşturabilirsin ve günlük daha fazla beğeni yapabilirsin. regular: - name: Daimi Üye + name: Müdavim description: Yeniden kategorize etme, yeniden isimlendirme, takip edilen bağlantılar, ve daha fazla beğeni <a href="https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/6">hakkı kazanılmıştır</a> long_description: | - Bu rozet üçüncü seviye rütbeye ulaştığın için verildi. Bir kaç aydır düzenli katılımcımız olduğunuz için teşekkür ederiz. Forumumuzun en aktif okuyucularından ve güvenilir katılımcılarından birisiniz. Artık konuları tekrar kategorize edip, isimlendirebilirsiniz, bazı özel alanlara da girebilirsiniz ve günlük daha fazla beğeni yapabilirsiniz. + Bu rozet 3. güven seviyesine ulaştığın için verildi. Bir kaç aydır düzenli katılımcımız olduğun için teşekkür ederiz. Forumumuzun en etkin okuyucularından ve güvenilir katılımcılarından birisisin. Artık konuları tekrar kategorize edip, isimlendirebilirsin, bazı özel alanlara da girebilirsiniz ve günlük daha fazla beğeni yapabilirsin. leader: name: Lider - description: Genel düzenleme, sabitleme, kapama, arşivleme, ayırma ve birleştirme, daha fazla beğeni <a href="https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/7">hakkı kazanılmıştır</a> + description: Genel düzenleme, başa tutturma, kapama, arşivleme, ayırma ve birleştirme, daha fazla beğeni <a href="https://meta.discourse.org/t/what-do-user-trust-levels-do/4924/7">hakkı kazanılmıştır</a> long_description: | - Bu rozet dördüncü rütbeye ulaştığın için verildi. Forumda yönetim tarafından seçilmiş bir lidersin ve yaptığınız paylaşımlarla diğer üyelere örnek oluyorsunuz. Bütün mesajları düzenleme hakkına sahipsiniz. Modaratörlerin yapabileceği, sabitleme,kapama, arşivleme, ayırma ve birleştirme gibi işlemleri yapabilrsiniz. Artık günlük çok daha fazla beğeni yapabilirsiniz. + Bu rozet 4. güven seviyesine ulaştığın için verildi. Forumda yönetim tarafından seçilmiş bir lidersiniz ve yaptığınız paylaşımlarla diğer üyelere örnek oluyorsunuz. Bütün mesajları düzenleme hakkına sahipsiniz. Moderatörlerin yapabileceği, başa tutturma, kapama, arşivleme, ayırma ve birleştirme gibi işlemleri yapabilirsiniz. Artık günlük çok daha fazla beğeni yapabilirsiniz. welcome: name: Hoş geldiniz - description: İlk Beğeni + description: İlk beğeni alma long_description: | Bu rozet mesajına ilk beğenini aldığın için verildi. Tebrikler forumda diğer üyelerin ilgisini çeken, yararlı bir paylaşımda bulundun! autobiographer: name: Güncel Profil description: <a href="/my/preferences">profil</a> bilgilerini tamamlama long_description: | - Bu rozet <a href="/my/preferences">profil sayfasını </a> tamamladığınız ve bir profil resmi oluşturduğunuz için verilmiştir. Artık diğer üyeler sizin hakkınzıda daha fazla bilgi sahibi olup, sizin ilgi alanlarınızı daha yakından takip edebilir. + Bu rozet <a href="/my/preferences">profil sayfasını </a> tamamladığınız ve bir profil resmi seçtiğiniz için verilmiştir. Artık topluluk sizin hakkınızda daha fazla bilgi sahibi olup, sizin ilgi alanlarınızı daha yakından takip edebilir. anniversary: name: Tanışma Yıldönümü - description: Bir sene içerisinde, en az bir kere gönderi yazmış aktif üye + description: Bir sene içerisinde, en az bir kere gönderi yazmış etkin üye long_description: | Bu rozet en az bir mesaj yazarak bir yıllık üyeliğinizi tamamladığınız için size verilmiştir. Forumda zaman geçirdiğiniz ve bizlere katkıda bulunduğunuz için teşekkür ederiz. Sizler olmasanız yapamazdık. nice_post: @@ -1861,7 +1917,7 @@ tr_TR: name: Çok İyi Konu description: Konu 25 beğeni topladı long_description: | - Bu rozet açtığınız konuya yapılan 25 beğeniden dolayı verilmiştir. Forum üyeleri tarafından çok beğenilen hararetli bir konu açtınız. + Bu rozet açtığınız konuya yapılan 25 beğeniden dolayı verilmiştir. Forum üyeleri tarafından çok beğenilen hareketli bir konu açtınız. great_topic: name: Muhteşem Konu description: Konu 50 beğeni topladı @@ -1876,7 +1932,7 @@ tr_TR: name: Çok İyi Paylaşım description: Bir gönderiniz 300 tekil ziyaretci tarafından paylaşıldı long_description: | - Bu rozeti paylaştığınız bağlantı forum dışından 300 kişi tarafından tıklandığı için kazandınız.Çok iyi iş başardın! Paylaşımların daha fazla kişiye ulaşmasını ve forumun gelişmesini sağladın. + Bu rozeti paylaştığınız bağlantı forum dışından 300 kişi tarafından tıklandığı için kazandınız. Çok iyi iş başardın! Paylaşımların daha fazla kişiye ulaşmasını ve forumun gelişmesini sağladın. great_share: name: 'Muhteşem Paylaşım ' description: Bir gönderiniz 1000 tekil ziyaretci tarafından paylaşıldı @@ -1888,10 +1944,10 @@ tr_TR: long_description: | Bu rozet ilk defa bir mesajı beğendiğin için verildi. Mesajları beğenmek diğer kullanıcıların yaptıkları paylaşımların ilgi çekici olduğunu onlara göstermek açısından oldukça önemlidir. Beğeninizi gösterin! first_flag: - name: İlk İşaret - description: Gönderiyi işaretledin + name: İlk Bildirim + description: Gönderiyi bildirdi long_description: | - Bu rozet ilk kez bir mesajı şikayet ettiğiniz için verilmiştir. Şikayet etme daha huzurlu bir ortam oluşturmaya yardımcı olmak açısından oldukça önemlidir. Eğer herhangi bir mesajın yönetici tarafından incelenmesini istiyorsanız, lütfen şikayet etmekten çekinmeyin. Eğer mesajlarıyla ilgili bir sorun farkederseniz, diğer üyelerede <b>kişisel mesajlar</b> gönderebilirsiniz. Eğer bir problem farkederseniz, :flag_black: şikayet edin! + Bu rozet ilk kez bir mesajı bildirdiğiniz için verilmiştir. Bildirme daha huzurlu bir ortam oluşturmaya yardımcı olmak açısından oldukça önemlidir. Eğer herhangi bir mesajın yönetici tarafından incelenmesini istiyorsanız, lütfen bildirmekten çekinmeyin. Eğer mesajlarıyla ilgili bir sorun fark ederseniz, diğer üyelere de <b>kişisel mesajlar</b> gönderebilirsiniz. Eğer bir problem fark ederseniz, :flag_black: şikayet edin! promoter: name: Destekçi description: Kullanıcı davet etme @@ -1901,20 +1957,20 @@ tr_TR: name: Mücadeleci description: 3 Acemi kullanıcı davet edildi long_description: | - Bu rozet davet ettiğiniz 3 kişi sitede vakit geçirerek acemi üye rütbesine ulaştığı için size verilmiştir. Hareketli bir forumun düzenli katkıda bulunan katılımcıları ve destekçileri olmalıdır. + Bu rozet davet ettiğiniz 3 kişi sitede vakit geçirerek acemi üye seviyesine ulaştığı için size verilmiştir. Hareketli bir forumun düzenli katkıda bulunan katılımcıları ve destekçileri olmalıdır. champion: name: Şampiyon - description: 5 sadık üye davet edildi + description: 5 üye davet edildi long_description: | - Bu rozet davet ettiğiniz 5 kişi sitede vakit geçirerek sadık üye rütbesine ulaştığı için size verilmiştir. Süper! Yeni üyelerle tanışmamıza sebep olduğunuz için teşekkürler! + Bu rozet davet ettiğiniz 5 kişi sitede vakit geçirerek üye seviyesine ulaştığı için size verilmiştir. Süper! Yeni üyelerle tanışmamıza sebep olduğunuz için teşekkürler! first_share: name: İlk Paylaşım - description: Bir bağlantı paylaşma + description: Bir gönderi paylaşma long_description: | Bu rozet ilk defa bir cevabın ya da konunun bağlantısını paylaştığınız için verilmiştir. Bağlantı paylaşmak tartışmaların daha fazla kişiye ulaşması açısından çok önemlidir. first_link: name: İlk Bağlantı - description: Başka bir konuya link ekleme + description: Başka bir konuya bağlantı ekleme long_description: | Bu rozet ilk defa bir konuya link eklediğiniz için verilmiştir. Konu linkleri diğer okuyucularından bu diyaloglardan yararlanmalarını sağlar. first_quote: @@ -1923,10 +1979,10 @@ tr_TR: long_description: | Bu rozet cevabınızda başkasından alıntı yaptığınız için verilmiştir. Başka konulardan ve mesajlardan alıntı yapmak mesajlar arasındaki bağlantıyı kuvvetlendirir. En kolay alıntı yapma yolu alıntı yapacağınız bölümü seçip cevap butonuna basmaktır. read_guidelines: - name: Site Uyumlusu - description: <a href="/guidelines">site kurallarını</a> okuma + name: Yönergeleri Okuma + description: <a href="/guidelines">Site yönergelerini</a> okuma long_description: | - Bu rozeti <a href="/guidelines">site kurallarını </a> okuduğunuz için kazandınız. Site kurallarını bilmek ve bu kurallara uygun davranmak daha huzurlu bir ortam içiersinde paylaşım yapmanızı sağlar. + Bu rozeti <a href="/guidelines">site yönergelerini</a> okuduğunuz için kazandınız. Site kurallarını bilmek ve bu kurallara uygun davranmak daha huzurlu bir ortam içiersinde paylaşım yapmanızı sağlar. reader: name: Okuyucu description: 100 cevaptan fazla cevabı olan bir konunun her cevabını okuma @@ -1996,11 +2052,11 @@ tr_TR: long_description: | Bu rozet mesajınıza ilk defa bir emoji eklediğiniz için verilmiştir :thumbsup:. first_mention: - name: İlk Anma + name: İlk Bahsetme description: 'Gönderide bir kullanıcıdan bahsetme ' long_description: Bu rozet ilk defa mesajınızda başka bir kullanıcıdan bahsettiğiniz için verilmiştir. Her bahsetme bahsi geçen kullanıcıya bildirim gitmesini sağlar, böylece bu kullanıcı sizin mesajınızdan haberdar olur. Sadece bahsi geçen kullanıcı adına @ gerekir. first_reply_by_email: - name: İlk Cevap Mail İle + name: Mail İle İlk Cevap description: 'Gönderiye mail yoluyla cevap verme ' long_description: | Bu rozet ilk defa bir gönderiye mail yoluyla cevap verdiğiniz için verilmiştir :e-mail:. @@ -2018,8 +2074,9 @@ tr_TR: user_exists: "Üzgünüz, bu kullanıcı zaten davet edildi. Konuya yalnızca bir kullanıcı davet edebilirsiniz." tags: title: "Etiketler" - staff_tag_disallowed: " \"%{tag}\" etiketi yalnızca yetkili tarafından eklenebilir gözüküyor" - staff_tag_remove_disallowed: " \"%{tag}\" etiketi yalnızca yetkili tarafından silinebilir gözüküyor" + staff_tag_disallowed: " \"%{tag}\" etiketi yalnızca görevliler tarafından eklenebilir gözüküyor." + staff_tag_remove_disallowed: " \"%{tag}\" etiketi yalnızca görevliler tarafından silinebilir gözüküyor." + rss_by_tag: "%{tag} etiketli konular" activemodel: errors: <<: *errors diff --git a/config/locales/server.zh_CN.yml b/config/locales/server.zh_CN.yml index 4668ddc47..aa558d1a2 100644 --- a/config/locales/server.zh_CN.yml +++ b/config/locales/server.zh_CN.yml @@ -1119,7 +1119,7 @@ zh_CN: default_email_always: "即使用户活跃时,仍默认发送邮件通知。" default_email_previous_replies: "默认在邮件中包含之前的回复。" default_email_in_reply_to: "默认在邮件中包含回复的摘要文本。" - default_other_new_topic_duration_minutes: "新主题条件的全局缺省设置" + default_other_new_topic_duration_minutes: "近期主题条件的全局缺省设置" default_other_auto_track_topics_after_msecs: "经过多少毫秒之后一个主题就被自动追踪的全局缺省设置" default_other_external_links_in_new_tab: "默认在新的标签页打开外部链接" default_other_enable_quoting: "默认在高亮选择文字时启用引用回复" @@ -1888,13 +1888,13 @@ zh_CN: from: "%{site_name}的摘要" read_more: "阅读更多" more_topics: "有其他 %{new_topics_since_seen} 个新主题。" - more_topics_category: "更多新主题:" + more_topics_category: "更多近期主题:" mailing_list: why: "%{date}%{site_link}上的所有情况" subject_template: "[%{site_name}] %{date}摘要" unsubscribe: "这是每日摘要邮件。站点启用了邮件列表模式,点击链接 %{unsubscribe_link} 退订。" from: "%{site_name}的摘要" - new_topics: "新主题" + new_topics: "近期主题" topic_updates: "主题更新" view_this_topic: "查看此主题" back_to_top: "回到顶部" diff --git a/config/routes.rb b/config/routes.rb index ca9e1d2df..af169723d 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -53,6 +53,12 @@ Discourse::Application.routes.draw do resources :forums get "srv/status" => "forums#status" + get "wizard" => "wizard#index" + get "wizard/qunit" => "wizard#qunit" + get 'wizard/steps' => 'steps#index' + get 'wizard/steps/:id' => "wizard#index" + put 'wizard/steps/:id' => "steps#update" + namespace :admin, constraints: StaffConstraint.new do get "" => "admin#index" @@ -163,6 +169,7 @@ Discourse::Application.routes.draw do get "customize/permalinks" => "permalinks#index", constraints: AdminConstraint.new get "customize/embedding" => "embedding#show", constraints: AdminConstraint.new put "customize/embedding" => "embedding#update", constraints: AdminConstraint.new + get "flags" => "flags#index" get "flags/:filter" => "flags#index" post "flags/agree/:id" => "flags#agree" @@ -200,18 +207,20 @@ Discourse::Application.routes.draw do resources :api, only: [:index], constraints: AdminConstraint.new do collection do + get "keys" => "api#index" post "key" => "api#create_master_key" put "key" => "api#regenerate_key" delete "key" => "api#revoke_key" + + resources :web_hooks + get 'web_hook_events/:id' => 'web_hooks#list_events', as: :web_hook_events + get 'web_hooks/:id/events' => 'web_hooks#list_events' + get 'web_hooks/:id/events/bulk' => 'web_hooks#bulk_events' + post 'web_hooks/:web_hook_id/events/:event_id/redeliver' => 'web_hooks#redeliver_event' + post 'web_hooks/:id/ping' => 'web_hooks#ping' end end - resources :web_hooks, constraints: AdminConstraint.new - get 'web_hook_events/:id' => 'web_hooks#list_events', constraints: AdminConstraint.new, as: :web_hook_events - get 'web_hooks/:id/events' => 'web_hooks#list_events', constraints: AdminConstraint.new - post 'web_hooks/:web_hook_id/events/:event_id/redeliver' => 'web_hooks#redeliver_event', constraints: AdminConstraint.new - post 'web_hooks/:id/ping' => 'web_hooks#ping', constraints: AdminConstraint.new - resources :backups, only: [:index, :create], constraints: AdminConstraint.new do member do get "" => "backups#show", constraints: { id: BACKUP_ROUTE_FORMAT } @@ -249,6 +258,8 @@ Discourse::Application.routes.draw do get "email/unsubscribed" => "email#unsubscribed", as: "email_unsubscribed" post "email/unsubscribe/:key" => "email#perform_unsubscribe", as: "email_perform_unsubscribe" + get "extra-locales/:bundle" => "extra_locales#show" + resources :session, id: USERNAME_ROUTE_FORMAT, only: [:create, :destroy, :become] do get 'become' collection do @@ -426,6 +437,9 @@ Discourse::Application.routes.draw do get 'notifications' => 'notifications#index' put 'notifications/mark-read' => 'notifications#mark_read' + # creating an alias cause the api was extended to mark a single notification + # this allows us to cleanly target it + put 'notifications/read' => 'notifications#mark_read' match "/auth/:provider/callback", to: "users/omniauth_callbacks#complete", via: [:get, :post] match "/auth/failure", to: "users/omniauth_callbacks#failure", via: [:get, :post] diff --git a/config/site_settings.yml b/config/site_settings.yml index 25226e2eb..3a80594f6 100644 --- a/config/site_settings.yml +++ b/config/site_settings.yml @@ -56,9 +56,16 @@ required: default: '/images/default-favicon.ico' apple_touch_icon_url: '/images/default-apple-touch-icon.png' default_opengraph_image_url: '' + twitter_summary_large_image_url: '' exclude_rel_nofollow_domains: default: '' type: list + company_short_name: + default: '' + company_full_name: + default: '' + company_domain: + default: '' basic: default_locale: @@ -277,6 +284,8 @@ login: facebook_app_secret: default: '' regex: "^[a-f0-9]+$" + facebook_request_extra_profile_details: + default: false enable_github_logins: client: true default: false @@ -963,6 +972,9 @@ developer: default: 500 client: true hidden: true + wizard_enabled: + default: true + hidden: true embedding: feed_polling_enabled: @@ -1261,11 +1273,11 @@ user_api: max_user_api_reqs_per_day: default: 2880 max_user_api_reqs_per_minute: - default: 12 + default: 20 allow_read_user_api_keys: default: true allow_write_user_api_keys: - default: false + default: true allow_push_user_api_keys: default: true max_api_keys_per_user: diff --git a/db/fixtures/007_web_hook_event_types.rb b/db/fixtures/007_web_hook_event_types.rb index afa74b88d..d91b5f09a 100644 --- a/db/fixtures/007_web_hook_event_types.rb +++ b/db/fixtures/007_web_hook_event_types.rb @@ -7,3 +7,8 @@ WebHookEventType.seed do |b| b.id = WebHookEventType::POST b.name = "post" end + +WebHookEventType.seed do |b| + b.id = WebHookEventType::USER + b.name = "user" +end diff --git a/db/migrate/20160906200439_add_via_wizard_to_color_schemes.rb b/db/migrate/20160906200439_add_via_wizard_to_color_schemes.rb new file mode 100644 index 000000000..1fc1881f5 --- /dev/null +++ b/db/migrate/20160906200439_add_via_wizard_to_color_schemes.rb @@ -0,0 +1,6 @@ +class AddViaWizardToColorSchemes < ActiveRecord::Migration + def change + add_column :color_schemes, :via_wizard, :boolean, default: false, null: false + add_column :color_schemes, :theme_id, :string, null: true + end +end diff --git a/db/migrate/20160919003141_add_avatar_url_to_facebook_info.rb b/db/migrate/20160919003141_add_avatar_url_to_facebook_info.rb new file mode 100644 index 000000000..65b2a80dc --- /dev/null +++ b/db/migrate/20160919003141_add_avatar_url_to_facebook_info.rb @@ -0,0 +1,5 @@ +class AddAvatarUrlToFacebookInfo < ActiveRecord::Migration + def change + add_column :facebook_user_infos, :avatar_url, :string + end +end diff --git a/db/migrate/20160919054014_add_fields_to_facebook_user_info.rb b/db/migrate/20160919054014_add_fields_to_facebook_user_info.rb new file mode 100644 index 000000000..8e50f8fb4 --- /dev/null +++ b/db/migrate/20160919054014_add_fields_to_facebook_user_info.rb @@ -0,0 +1,7 @@ +class AddFieldsToFacebookUserInfo < ActiveRecord::Migration + def change + add_column :facebook_user_infos, :about_me, :text + add_column :facebook_user_infos, :location, :string + add_column :facebook_user_infos, :website, :text + end +end diff --git a/db/migrate/20160920165833_add_moderator_to_invites.rb b/db/migrate/20160920165833_add_moderator_to_invites.rb new file mode 100644 index 000000000..1476ac0e4 --- /dev/null +++ b/db/migrate/20160920165833_add_moderator_to_invites.rb @@ -0,0 +1,5 @@ +class AddModeratorToInvites < ActiveRecord::Migration + def change + add_column :invites, :moderator, :boolean, default: false, null: false + end +end diff --git a/lib/auth/facebook_authenticator.rb b/lib/auth/facebook_authenticator.rb index b4c48ae67..127ec9383 100644 --- a/lib/auth/facebook_authenticator.rb +++ b/lib/auth/facebook_authenticator.rb @@ -24,6 +24,31 @@ class Auth::FacebookAuthenticator < Auth::Authenticator FacebookUserInfo.create({user_id: result.user.id}.merge(facebook_hash)) end + if user_info + user_info.update_columns(facebook_hash) + end + + user = result.user + if user && (!user.user_avatar || user.user_avatar.custom_upload_id.nil?) + if (avatar_url = facebook_hash[:avatar_url]).present? + UserAvatar.import_url_for_user(avatar_url, user, override_gravatar: false) + end + end + + + bio = facebook_hash[:about_me] + location = facebook_hash[:location] + website = facebook_hash[:website] + + if user && (bio || location || website) + profile = user.user_profile + + profile.bio_raw = bio unless profile.bio_raw.present? + profile.location = location unless profile.location.present? + profile.website = website unless profile.website.present? + profile.save + end + if email.blank? UserHistory.create( action: UserHistory.actions[:facebook_no_email], @@ -37,14 +62,38 @@ class Auth::FacebookAuthenticator < Auth::Authenticator def after_create_account(user, auth) data = auth[:extra_data] FacebookUserInfo.create({user_id: user.id}.merge(data)) + + + if (avatar_url = data[:avatar_url]).present? + UserAvatar.import_url_for_user(avatar_url, user) + user.save + end + + bio = data[:about_me] + location = data[:location] + website = data[:website] + + if bio || location || website + user.user_profile.bio_raw = bio + user.user_profile.location = location + user.user_profile.website = website + user.user_profile.save + end + + true end def register_middleware(omniauth) + omniauth.provider :facebook, :setup => lambda { |env| strategy = env["omniauth.strategy"] strategy.options[:client_id] = SiteSetting.facebook_app_id strategy.options[:client_secret] = SiteSetting.facebook_app_secret + strategy.options[:info_fields] = 'gender,email,name,bio,first_name,link,last_name,website,location' + if SiteSetting.facebook_request_extra_profile_details + strategy.options[:scope] = 'email,user_about_me,user_location,user_website' + end }, :scope => "email" end @@ -54,8 +103,12 @@ class Auth::FacebookAuthenticator < Auth::Authenticator def parse_auth_token(auth_token) raw_info = auth_token["extra"]["raw_info"] + info = auth_token["info"] + email = auth_token["info"][:email] + website = (info["urls"] && info["urls"]["Website"]) || nil + { facebook: { facebook_user_id: auth_token["uid"], @@ -65,7 +118,11 @@ class Auth::FacebookAuthenticator < Auth::Authenticator last_name: raw_info["last_name"], email: email, gender: raw_info["gender"], - name: raw_info["name"] + name: raw_info["name"], + avatar_url: info["image"], + location: info["location"], + website: website, + about_me: info["description"] }, email: email, email_valid: true diff --git a/lib/backup_restore/restorer.rb b/lib/backup_restore/restorer.rb index 05c98c8da..13a36ee60 100644 --- a/lib/backup_restore/restorer.rb +++ b/lib/backup_restore/restorer.rb @@ -1,3 +1,5 @@ +require_dependency "db_helper" + module BackupRestore class RestoreDisabledError < RuntimeError; end @@ -112,18 +114,6 @@ module BackupRestore @meta_filename = File.join(@tmp_directory, BackupRestore::METADATA_FILE) @is_archive = !(@filename =~ /.sql.gz$/) - # For backwards compatibility - @dump_filename = - if @is_archive - if system('tar', '--list', '--file', @source_filename, BackupRestore::OLD_DUMP_FILE) - File.join(@tmp_directory, BackupRestore::OLD_DUMP_FILE) - else - File.join(@tmp_directory, BackupRestore::DUMP_FILE) - end - else - File.join(@tmp_directory, @filename) - end - @logs = [] @readonly_mode_was_enabled = Discourse.readonly_mode? end @@ -193,7 +183,7 @@ module BackupRestore log "Extracting metadata file..." @metadata = - if system('tar', '--list', '--file', @source_filename, BackupRestore::METADATA_FILE) + if system('tar', '--list', '--file', @tar_filename, BackupRestore::METADATA_FILE) FileUtils.cd(@tmp_directory) do execute_command( 'tar', '--extract', '--file', @tar_filename, BackupRestore::METADATA_FILE, @@ -226,6 +216,18 @@ module BackupRestore end def extract_dump + @dump_filename = + if @is_archive + # For backwards compatibility + if system('tar', '--list', '--file', @tar_filename, BackupRestore::OLD_DUMP_FILE) + File.join(@tmp_directory, BackupRestore::OLD_DUMP_FILE) + else + File.join(@tmp_directory, BackupRestore::DUMP_FILE) + end + else + File.join(@tmp_directory, @filename) + end + return unless @is_archive log "Extracting dump file..." @@ -358,14 +360,34 @@ module BackupRestore end def extract_uploads - if system("tar --list --file '#{@tar_filename}' 'uploads'") + if system('tar', '--exclude=*/*', '--list', '--file', @tar_filename, 'uploads') log "Extracting uploads..." - FileUtils.cd(File.join(Rails.root, "public")) do + + FileUtils.cd(@tmp_directory) do execute_command( 'tar', '--extract', '--keep-newer-files', '--file', @tar_filename, 'uploads/', - failure_message: "Failed to extract uploadsd." + failure_message: "Failed to extract uploads." ) end + + public_uploads_path = File.join(Rails.root, "public") + + FileUtils.cd(public_uploads_path) do + FileUtils.mkdir_p("uploads") + + tmp_uploads_path = Dir.glob(File.join(@tmp_directory, "uploads", "*")).first + previous_db_name = File.basename(tmp_uploads_path) + current_db_name = RailsMultisite::ConnectionManagement.current_db + + execute_command( + 'rsync', '-avp', "#{tmp_uploads_path}/", "uploads/#{current_db_name}/", + failure_message: "Failed to restore uploads." + ) + + if previous_db_name != current_db_name + DbHelper.remap("uploads/#{previous_db_name}", "uploads/#{current_db_name}") + end + end end end diff --git a/lib/emoji/db.json b/lib/emoji/db.json index a0b396bcf..0ae88e730 100644 --- a/lib/emoji/db.json +++ b/lib/emoji/db.json @@ -1300,10 +1300,6 @@ "code": "1f342", "name": "fallen_leaf" }, - { - "code": "1f46a", - "name": "family" - }, { "code": "23e9", "name": "fast_forward" @@ -1388,46 +1384,6 @@ "code": "1f3f4", "name": "flag_black" }, - { - "code": "1f1e8-1f1f3", - "name": "flag_cn" - }, - { - "code": "1f1e9-1f1ea", - "name": "flag_de" - }, - { - "code": "1f1ea-1f1f8", - "name": "flag_es" - }, - { - "code": "1f1eb-1f1f7", - "name": "flag_fr" - }, - { - "code": "1f1ec-1f1e7", - "name": "flag_gb" - }, - { - "code": "1f1ee-1f1f9", - "name": "flag_it" - }, - { - "code": "1f1ef-1f1f5", - "name": "flag_jp" - }, - { - "code": "1f1f0-1f1f7", - "name": "flag_kr" - }, - { - "code": "1f1f7-1f1fa", - "name": "flag_ru" - }, - { - "code": "1f1fa-1f1f8", - "name": "flag_us" - }, { "code": "1f3f3", "name": "flag_white" @@ -4107,6 +4063,126 @@ { "code": "1f4a4", "name": "zzz" + }, + { + "code": "1f469-200d-2764-fe0f-200d-1f469", + "name": "female_couple_with_heart" + }, + { + "code": "1f468-200d-2764-fe0f-200d-1f468", + "name": "male_couple_with_heart" + }, + { + "code": "1f469-200d-2764-fe0f-200d-1f48b-200d-1f469", + "name": "female_couplekiss" + }, + { + "code": "1f468-200d-2764-fe0f-200d-1f48b-200d-1f468", + "name": "male_couplekiss" + }, + { + "code": "1f468-200d-1f469-200d-1f467", + "name": "family_man_woman_girl" + }, + { + "code": "1f468-200d-1f469-200d-1f467-200d-1f466", + "name": "family_man_woman_girl_boy" + }, + { + "code": "1f468-200d-1f469-200d-1f466-200d-1f466", + "name": "family_man_woman_boys" + }, + { + "code": "1f468-200d-1f469-200d-1f467-200d-1f467", + "name": "family_man_woman_girls" + }, + { + "code": "1f469-200d-1f469-200d-1f466", + "name": "family_women_boy" + }, + { + "code": "1f469-200d-1f469-200d-1f467", + "name": "family_women_girl" + }, + { + "code": "1f469-200d-1f469-200d-1f467-200d-1f466", + "name": "family_women_girl_boy" + }, + { + "code": "1f469-200d-1f469-200d-1f466-200d-1f466", + "name": "family_women_boys" + }, + { + "code": "1f469-200d-1f469-200d-1f467-200d-1f467", + "name": "family_women_girls" + }, + { + "code": "1f468-200d-1f468-200d-1f466", + "name": "family_men_boy" + }, + { + "code": "1f468-200d-1f468-200d-1f467", + "name": "family_men_girl" + }, + { + "code": "1f468-200d-1f468-200d-1f467-200d-1f466", + "name": "family_men_girl_boy" + }, + { + "code": "1f468-200d-1f468-200d-1f466-200d-1f466", + "name": "family_men_boys" + }, + { + "code": "1f468-200d-1f468-200d-1f467-200d-1f467", + "name": "family_men_girls" + }, + { + "code": "002a-20e3", + "name": "keycap_star" + }, + { + "code": "1f5e8", + "name": "left_speech_bubble" + }, + { + "code": "1f1e8-1f1f3", + "name": "cn" + }, + { + "code": "1f1eb-1f1f7", + "name": "fr" + }, + { + "code": "1f1e9-1f1ea", + "name": "de" + }, + { + "code": "1f1ee-1f1f9", + "name": "it" + }, + { + "code": "1f1ef-1f1f5", + "name": "jp" + }, + { + "code": "1f1f7-1f1fa", + "name": "ru" + }, + { + "code": "1f1f0-1f1f7", + "name": "kr" + }, + { + "code": "1f1ea-1f1f8", + "name": "es" + }, + { + "code": "1f1ec-1f1e7", + "name": "gb" + }, + { + "code": "1f1fa-1f1f8", + "name": "us" } ], "aliases": { @@ -4212,35 +4288,35 @@ "flag_black": [ "waving_black_flag" ], - "flag_cn": [ - "cn" + "cn": [ + "flag_cn" ], - "flag_de": [ - "de" + "de": [ + "flag_de" ], - "flag_es": [ - "es" + "es": [ + "flag_es" ], - "flag_fr": [ - "fr" + "fr": [ + "flag_fr" ], - "flag_gb": [ - "gb" + "gb": [ + "flag_gb" ], - "flag_it": [ - "it" + "it": [ + "flag_it" ], - "flag_jp": [ - "jp" + "jp": [ + "flag_jp" ], - "flag_kr": [ - "kr" + "kr": [ + "flag_kr" ], - "flag_ru": [ - "ru" + "ru": [ + "flag_ru" ], - "flag_us": [ - "us" + "us": [ + "flag_us" ], "flag_white": [ "waving_white_flag" @@ -4464,4 +4540,4 @@ "zipper_mouth_face" ] } -} +} \ No newline at end of file diff --git a/lib/freedom_patches/raw_handlebars.rb b/lib/freedom_patches/raw_handlebars.rb index 28f04e314..ea643aa78 100644 --- a/lib/freedom_patches/raw_handlebars.rb +++ b/lib/freedom_patches/raw_handlebars.rb @@ -9,7 +9,7 @@ class Barber::Precompiler def precompiler if !@precompiler - source = File.read("#{Rails.root}/app/assets/javascripts/discourse/lib/raw-handlebars.js.es6") + source = File.read("#{Rails.root}/app/assets/javascripts/discourse-common/lib/raw-handlebars.js.es6") template = Tilt::ES6ModuleTranspilerTemplate.new {} transpiled = template.babel_transpile(source) @@ -40,11 +40,11 @@ module Discourse module Handlebars module Helper def precompile_handlebars(string) - "require('discourse/lib/raw-handlebars').template(#{Barber::Precompiler.compile(string)});" + "require('discourse-common/lib/raw-handlebars').template(#{Barber::Precompiler.compile(string)});" end def compile_handlebars(string) - "require('discourse/lib/raw-handlebars').compile(#{indent(string).inspect});" + "require('discourse-common/lib/raw-handlebars').compile(#{indent(string).inspect});" end end end diff --git a/lib/introduction_updater.rb b/lib/introduction_updater.rb new file mode 100644 index 000000000..a576b0433 --- /dev/null +++ b/lib/introduction_updater.rb @@ -0,0 +1,42 @@ +class IntroductionUpdater + + def initialize(user) + @user = user + end + + def get_summary + summary_from_post(find_welcome_post) + end + + def update_summary(new_value) + post = find_welcome_post + return unless post + + previous_value = summary_from_post(post).strip + + if previous_value != new_value + revisor = PostRevisor.new(post) + + remaining = post.raw.split("\n")[1..-1] + revisor.revise!(@user, raw: "#{new_value}\n#{remaining.join("\n")}") + end + + end + +protected + + def summary_from_post(post) + return post ? post.raw.split("\n").first : nil + end + + def find_welcome_post + welcome_topic = Topic.where(slug: 'welcome-to-discourse').first + return nil unless welcome_topic.present? + + post = welcome_topic.posts.where(post_number: 1).first + return nil unless post.present? + + post + end + +end diff --git a/lib/js_locale_helper.rb b/lib/js_locale_helper.rb index eb2f1a19d..02216d94e 100644 --- a/lib/js_locale_helper.rb +++ b/lib/js_locale_helper.rb @@ -20,15 +20,6 @@ module JsLocaleHelper # merge translations (plugin translations overwrite default translations) translations[locale_str]['js'].deep_merge!(plugin_translations[locale_str]['js']) if translations[locale_str] && plugin_translations[locale_str] && plugin_translations[locale_str]['js'] - # We used to split the admin versus the client side, but it's much simpler to just - # include both for now due to the small size of the admin section. - # - # For now, let's leave it split out in the translation file in case we want to split - # it again later, so we'll merge the JSON ourselves. - admin_contents = translations[locale_str].delete('admin_js') - translations[locale_str]['js'].deep_merge!(admin_contents) if admin_contents.present? - translations[locale_str]['js'].deep_merge!(plugin_translations[locale_str]['admin_js']) if translations[locale_str] && plugin_translations[locale_str] && plugin_translations[locale_str]['admin_js'] - translations end end @@ -72,9 +63,8 @@ module JsLocaleHelper end end - def self.output_locale(locale) - locale_sym = locale.to_sym - locale_str = locale.to_s + def self.translations_for(locale_str) + locale_sym = locale_str.to_sym current_locale = I18n.locale I18n.locale = locale_sym @@ -93,6 +83,19 @@ module JsLocaleHelper end end + I18n.locale = current_locale + + translations + end + + def self.output_locale(locale) + locale_str = locale.to_s + translations = translations_for(locale_str).dup + + translations[locale_str].keys.each do |k| + translations[locale_str].delete(k) unless k == "js" + end + message_formats = strip_out_message_formats!(translations[locale_str]['js']) result = generate_message_format(message_formats, locale_str) @@ -104,8 +107,6 @@ module JsLocaleHelper result << moment_locale(locale_str) result << moment_formats - I18n.locale = current_locale - result end diff --git a/lib/new_post_manager.rb b/lib/new_post_manager.rb index 40845d609..9d8c570fa 100644 --- a/lib/new_post_manager.rb +++ b/lib/new_post_manager.rb @@ -82,6 +82,7 @@ class NewPostManager validator = Validators::PostValidator.new post = Post.new(raw: manager.args[:raw]) + post.user = manager.user validator.validate(post) if post.errors[:raw].present? result = NewPostResult.new(:created_post, false) diff --git a/lib/tasks/emoji.rake b/lib/tasks/emoji.rake index 729242f9b..14190b74e 100644 --- a/lib/tasks/emoji.rake +++ b/lib/tasks/emoji.rake @@ -1,63 +1,119 @@ +EMOJI_LIST_URL = "http://unicode.org/emoji/charts/full-emoji-list.html" +EMOJI_KEYWORDS_URL = "https://raw.githubusercontent.com/muan/emojilib/master/emojis.json" + +# until MS release the emoji flags, we'll use custom made flags +WINDOWS_FLAGS = Set.new ["1f1e8_1f1f3", "1f1e9_1f1ea", "1f1ea_1f1f8", "1f1eb_1f1f7", "1f1ec_1f1e7", "1f1ee_1f1f9", "1f1ef_1f1f5", "1f1f0_1f1f7", "1f1f7_1f1fa", "1f1fa_1f1f8"] + desc "update emoji images" task "emoji:update" => :environment do - download_emojis_for("emoji_one", "https://raw.githubusercontent.com/Ranks/emojione/master/assets/png/%s.png", uppercase: true, leading_zeros: true) - download_emojis_for("twitter", "https://raw.githubusercontent.com/twitter/twemoji/gh-pages/72x72/%s.png", lowercase: true) - download_emojis_for("apple", "https://raw.githubusercontent.com/github/gemoji/master/images/emoji/unicode/%s.png", lowercase: true, leading_zeros: true) - # download_google_emojis("~/Desktop/images/%s.png") + emojis = {} + + puts "Loading local emoji database..." + db = JSON.parse(File.read("lib/emoji/db.json")) + db["emojis"].each do |e| + emojis[e["code"].tr("-", "_")] = { name: e["name"] } + end + aliases = db["aliases"].to_h + + puts "Enhancing emoji database with emojilib keywords..." + keywords = JSON.parse(open(EMOJI_KEYWORDS_URL).read) + keywords.keys.each do |k| + next unless char = keywords[k]["char"].presence + + code = char.codepoints + .map { |c| c.to_s(16).rjust(4, "0") } + .join("_") + .downcase + .gsub(/_fe0f$/, "") + + emojis[code] ||= { name: k } + end + + puts "Retrieving remote emoji list..." + list = open(EMOJI_LIST_URL).read + + puts "Parsing remote emoji list..." + doc = Nokogiri::HTML(list) + doc.css("tr").each do |row| + cells = row.css("td") + next if cells.size == 0 + + code = cells[1].at_css("a")["name"] + + next unless emojis[code] + + apple = cell_to_image(cells[4]) + google = cell_to_image(cells[5]) + twitter = cell_to_image(cells[6]) + one = cell_to_image(cells[7]) + + if WINDOWS_FLAGS.include?(code) + windows = custom_windows_flag(code) + else + windows = cell_to_image(cells[9]) + end + + if apple.blank? || google.blank? || twitter.blank? || one.blank? || windows.blank? + emojis.delete(code) + next + end + + emojis[code][:apple] = apple + emojis[code][:google] = google + emojis[code][:twitter] = twitter + emojis[code][:one] = one + emojis[code][:windows] = windows + end + + puts "Writing emojis..." + write_emojis(emojis, aliases, :apple, "apple") + write_emojis(emojis, aliases, :google, "google") + write_emojis(emojis, aliases, :twitter, "twitter") + write_emojis(emojis, aliases, :one, "emoji_one") + write_emojis(emojis, aliases, :windows, "win10") + + puts "Updating db.json..." + db = { + "emojis" => emojis.keys.map { |k| { "code" => k.tr("_", "-"), "name" => emojis[k][:name] } }, + "aliases" => aliases, + } + + File.write("lib/emoji/db.json", JSON.pretty_generate(db)) + + puts "Done!" end -def download_emojis_for(set, url_template, options={}) - puts "Downloading emojis for #{set}..." +def cell_to_image(cell) + return unless img = cell.at_css("img") + Base64.decode64(img["src"][/base64,(.+)$/, 1]) +end - path = "public/images/emoji/#{set}" - FileUtils.rm_rf(path) rescue nil - FileUtils.mkdir_p(path) rescue nil +def custom_windows_flag(code) + name = code.upcase.tr("_", "-") + open("https://github.com/discourse/discourse-emoji-extractor/raw/master/win10/72x72/windows_#{name}.png").read +end - uppercase = options[:uppercase] == true - lowercase = options[:lowercase] == true - leading_zeros = options[:leading_zeros] == true +def write_emojis(emojis, aliases, style, folder) + path = "public/images/emoji/#{folder}/" - Emoji.all.each do |emoji| - codepoints = emoji["emoji"].codepoints.map { |c| c.to_s(16).rjust(leading_zeros ? 4 : 0, '0') } - filename = codepoints.join('-').sub(/-fe0f\b/, '') - filename = filename.downcase if lowercase - filename = filename.upcase if uppercase - puts "#{filename} -> #{emoji["emoji"]}" - url = url_template % filename - data = open(url).read rescue nil - next if data.nil? - FileUtils.cd(path) do - emoji["aliases"].each do |name| - File.open("#{name}.png", "wb") { |f| f << data } - ImageOptim.new.optimize_image!("#{name}.png") + FileUtils.rm_f Dir.glob("#{path}/*") + + puts folder + + emojis.values.each do |emoji| + write_emoji("#{path}/#{emoji[:name]}.png", emoji[style]) + if aliases[emoji[:name]] + aliases[emoji[:name]].each do |new_name| + write_emoji("#{path}/#{new_name}.png", emoji[style]) end end end + + puts end -# extracted from the NotoColorEmoji font -GOOGLE_EMOJIS ||= {35=>1, 48=>2, 49=>3, 50=>4, 51=>5, 52=>6, 53=>7, 54=>8, 55=>9, 56=>10, 57=>11, 169=>12, 174=>13, 8252=>14, 8265=>15, 8419=>16, 8482=>17, 8505=>18, 8596=>19, 8597=>20, 8598=>21, 8599=>22, 8600=>23, 8601=>24, 8617=>25, 8618=>26, 8986=>27, 8987=>28, 9193=>29, 9194=>30, 9195=>31, 9196=>32, 9200=>33, 9203=>34, 9410=>35, 9642=>36, 9643=>37, 9654=>38, 9664=>39, 9723=>40, 9724=>41, 9725=>42, 9726=>43, 9728=>44, 9729=>45, 9742=>46, 9745=>47, 9748=>48, 9749=>49, 9757=>50, 9786=>51, 9800=>52, 9801=>53, 9802=>54, 9803=>55, 9804=>56, 9805=>57, 9806=>58, 9807=>59, 9808=>60, 9809=>61, 9810=>62, 9811=>63, 9824=>64, 9827=>65, 9829=>66, 9830=>67, 9832=>68, 9851=>69, 9855=>70, 9875=>71, 9888=>72, 9889=>73, 9898=>74, 9899=>75, 9917=>76, 9918=>77, 9924=>78, 9925=>79, 9934=>80, 9940=>81, 9962=>82, 9970=>83, 9971=>84, 9973=>85, 9978=>86, 9981=>87, 9986=>88, 9989=>89, 9992=>90, 9993=>91, 9994=>92, 9995=>93, 9996=>94, 9999=>95, 10002=>96, 10004=>97, 10006=>98, 10024=>99, 10035=>100, 10036=>101, 10052=>102, 10055=>103, 10060=>104, 10062=>105, 10067=>106, 10068=>107, 10069=>108, 10071=>109, 10084=>110, 10133=>111, 10134=>112, 10135=>113, 10145=>114, 10160=>115, 10175=>116, 10548=>117, 10549=>118, 11013=>119, 11014=>120, 11015=>121, 11035=>122, 11036=>123, 11088=>124, 11093=>125, 12336=>126, 12349=>127, 12951=>128, 12953=>129, 126980=>130, 127183=>131, 127344=>132, 127345=>133, 127358=>134, 127359=>135, 127374=>136, 127377=>137, 127378=>138, 127379=>139, 127380=>140, 127381=>141, 127382=>142, 127383=>143, 127384=>144, 127385=>145, 127386=>146, 127462=>147, 127463=>148, 127464=>149, 127465=>150, 127466=>151, 127467=>152, 127468=>153, 127469=>154, 127470=>155, 127471=>156, 127472=>157, 127473=>158, 127474=>159, 127475=>160, 127476=>161, 127477=>162, 127478=>163, 127479=>164, 127480=>165, 127481=>166, 127482=>167, 127483=>168, 127484=>169, 127485=>170, 127486=>171, 127487=>172, 127489=>173, 127490=>174, 127514=>175, 127535=>176, 127538=>177, 127539=>178, 127540=>179, 127541=>180, 127542=>181, 127543=>182, 127544=>183, 127545=>184, 127546=>185, 127568=>186, 127569=>187, 127744=>188, 127745=>189, 127746=>190, 127747=>191, 127748=>192, 127749=>193, 127750=>194, 127751=>195, 127752=>196, 127753=>197, 127754=>198, 127755=>199, 127756=>200, 127757=>201, 127758=>202, 127759=>203, 127760=>204, 127761=>205, 127762=>206, 127763=>207, 127764=>208, 127765=>209, 127766=>210, 127767=>211, 127768=>212, 127769=>213, 127770=>214, 127771=>215, 127772=>216, 127773=>217, 127774=>218, 127775=>219, 127776=>220, 127792=>221, 127793=>222, 127794=>223, 127795=>224, 127796=>225, 127797=>226, 127799=>227, 127800=>228, 127801=>229, 127802=>230, 127803=>231, 127804=>232, 127805=>233, 127806=>234, 127807=>235, 127808=>236, 127809=>237, 127810=>238, 127811=>239, 127812=>240, 127813=>241, 127814=>242, 127815=>243, 127816=>244, 127817=>245, 127818=>246, 127819=>247, 127820=>248, 127821=>249, 127822=>250, 127823=>251, 127824=>252, 127825=>253, 127826=>254, 127827=>255, 127828=>256, 127829=>257, 127830=>258, 127831=>259, 127832=>260, 127833=>261, 127834=>262, 127835=>263, 127836=>264, 127837=>265, 127838=>266, 127839=>267, 127840=>268, 127841=>269, 127842=>270, 127843=>271, 127844=>272, 127845=>273, 127846=>274, 127847=>275, 127848=>276, 127849=>277, 127850=>278, 127851=>279, 127852=>280, 127853=>281, 127854=>282, 127855=>283, 127856=>284, 127857=>285, 127858=>286, 127859=>287, 127860=>288, 127861=>289, 127862=>290, 127863=>291, 127864=>292, 127865=>293, 127866=>294, 127867=>295, 127868=>296, 127872=>297, 127873=>298, 127874=>299, 127875=>300, 127876=>301, 127877=>302, 127878=>303, 127879=>304, 127880=>305, 127881=>306, 127882=>307, 127883=>308, 127884=>309, 127885=>310, 127886=>311, 127887=>312, 127888=>313, 127889=>314, 127890=>315, 127891=>316, 127904=>317, 127905=>318, 127906=>319, 127907=>320, 127908=>321, 127909=>322, 127910=>323, 127911=>324, 127912=>325, 127913=>326, 127914=>327, 127915=>328, 127916=>329, 127917=>330, 127918=>331, 127919=>332, 127920=>333, 127921=>334, 127922=>335, 127923=>336, 127924=>337, 127925=>338, 127926=>339, 127927=>340, 127928=>341, 127929=>342, 127930=>343, 127931=>344, 127932=>345, 127933=>346, 127934=>347, 127935=>348, 127936=>349, 127937=>350, 127938=>351, 127939=>352, 127940=>353, 127942=>354, 127943=>355, 127944=>356, 127945=>357, 127946=>358, 127968=>359, 127969=>360, 127970=>361, 127971=>362, 127972=>363, 127973=>364, 127974=>365, 127975=>366, 127976=>367, 127977=>368, 127978=>369, 127979=>370, 127980=>371, 127981=>372, 127982=>373, 127983=>374, 127984=>375, 128000=>376, 128001=>377, 128002=>378, 128003=>379, 128004=>380, 128005=>381, 128006=>382, 128007=>383, 128008=>384, 128009=>385, 128010=>386, 128011=>387, 128012=>388, 128013=>389, 128014=>390, 128015=>391, 128016=>392, 128017=>393, 128018=>394, 128019=>395, 128020=>396, 128021=>397, 128022=>398, 128023=>399, 128024=>400, 128025=>401, 128026=>402, 128027=>403, 128028=>404, 128029=>405, 128030=>406, 128031=>407, 128032=>408, 128033=>409, 128034=>410, 128035=>411, 128036=>412, 128037=>413, 128038=>414, 128039=>415, 128040=>416, 128041=>417, 128042=>418, 128043=>419, 128044=>420, 128045=>421, 128046=>422, 128047=>423, 128048=>424, 128049=>425, 128050=>426, 128051=>427, 128052=>428, 128053=>429, 128054=>430, 128055=>431, 128056=>432, 128057=>433, 128058=>434, 128059=>435, 128060=>436, 128061=>437, 128062=>438, 128064=>439, 128066=>440, 128067=>441, 128068=>442, 128069=>443, 128070=>444, 128071=>445, 128072=>446, 128073=>447, 128074=>448, 128075=>449, 128076=>450, 128077=>451, 128078=>452, 128079=>453, 128080=>454, 128081=>455, 128082=>456, 128083=>457, 128084=>458, 128085=>459, 128086=>460, 128087=>461, 128088=>462, 128089=>463, 128090=>464, 128091=>465, 128092=>466, 128093=>467, 128094=>468, 128095=>469, 128096=>470, 128097=>471, 128098=>472, 128099=>473, 128100=>474, 128101=>475, 128102=>476, 128103=>477, 128104=>478, 128105=>479, 128106=>480, 128107=>481, 128108=>482, 128109=>483, 128110=>484, 128111=>485, 128112=>486, 128113=>487, 128114=>488, 128115=>489, 128116=>490, 128117=>491, 128118=>492, 128119=>493, 128120=>494, 128121=>495, 128122=>496, 128123=>497, 128124=>498, 128125=>499, 128126=>500, 128127=>501, 128128=>502, 128129=>503, 128130=>504, 128131=>505, 128132=>506, 128133=>507, 128134=>508, 128135=>509, 128136=>510, 128137=>511, 128138=>512, 128139=>513, 128140=>514, 128141=>515, 128142=>516, 128143=>517, 128144=>518, 128145=>519, 128146=>520, 128147=>521, 128148=>522, 128149=>523, 128150=>524, 128151=>525, 128152=>526, 128153=>527, 128154=>528, 128155=>529, 128156=>530, 128157=>531, 128158=>532, 128159=>533, 128160=>534, 128161=>535, 128162=>536, 128163=>537, 128164=>538, 128165=>539, 128166=>540, 128167=>541, 128168=>542, 128169=>543, 128170=>544, 128171=>545, 128172=>546, 128173=>547, 128174=>548, 128175=>549, 128176=>550, 128177=>551, 128178=>552, 128179=>553, 128180=>554, 128181=>555, 128182=>556, 128183=>557, 128184=>558, 128185=>559, 128186=>560, 128187=>561, 128188=>562, 128189=>563, 128190=>564, 128191=>565, 128192=>566, 128193=>567, 128194=>568, 128195=>569, 128196=>570, 128197=>571, 128198=>572, 128199=>573, 128200=>574, 128201=>575, 128202=>576, 128203=>577, 128204=>578, 128205=>579, 128206=>580, 128207=>581, 128208=>582, 128209=>583, 128210=>584, 128211=>585, 128212=>586, 128213=>587, 128214=>588, 128215=>589, 128216=>590, 128217=>591, 128218=>592, 128219=>593, 128220=>594, 128221=>595, 128222=>596, 128223=>597, 128224=>598, 128225=>599, 128226=>600, 128227=>601, 128228=>602, 128229=>603, 128230=>604, 128231=>605, 128232=>606, 128233=>607, 128234=>608, 128235=>609, 128236=>610, 128237=>611, 128238=>612, 128239=>613, 128240=>614, 128241=>615, 128242=>616, 128243=>617, 128244=>618, 128245=>619, 128246=>620, 128247=>621, 128249=>622, 128250=>623, 128251=>624, 128252=>625, 128256=>626, 128257=>627, 128258=>628, 128259=>629, 128260=>630, 128261=>631, 128262=>632, 128263=>633, 128264=>634, 128265=>635, 128266=>636, 128267=>637, 128268=>638, 128269=>639, 128270=>640, 128271=>641, 128272=>642, 128273=>643, 128274=>644, 128275=>645, 128276=>646, 128277=>647, 128278=>648, 128279=>649, 128280=>650, 128281=>651, 128282=>652, 128283=>653, 128284=>654, 128285=>655, 128286=>656, 128287=>657, 128288=>658, 128289=>659, 128290=>660, 128291=>661, 128292=>662, 128293=>663, 128294=>664, 128295=>665, 128296=>666, 128297=>667, 128298=>668, 128299=>669, 128300=>670, 128301=>671, 128302=>672, 128303=>673, 128304=>674, 128305=>675, 128306=>676, 128307=>677, 128308=>678, 128309=>679, 128310=>680, 128311=>681, 128312=>682, 128313=>683, 128314=>684, 128315=>685, 128316=>686, 128317=>687, 128336=>688, 128337=>689, 128338=>690, 128339=>691, 128340=>692, 128341=>693, 128342=>694, 128343=>695, 128344=>696, 128345=>697, 128346=>698, 128347=>699, 128348=>700, 128349=>701, 128350=>702, 128351=>703, 128352=>704, 128353=>705, 128354=>706, 128355=>707, 128356=>708, 128357=>709, 128358=>710, 128359=>711, 128507=>712, 128508=>713, 128509=>714, 128510=>715, 128511=>716, 128512=>717, 128513=>718, 128514=>719, 128515=>720, 128516=>721, 128517=>722, 128518=>723, 128519=>724, 128520=>725, 128521=>726, 128522=>727, 128523=>728, 128524=>729, 128525=>730, 128526=>731, 128527=>732, 128528=>733, 128529=>734, 128530=>735, 128531=>736, 128532=>737, 128533=>738, 128534=>739, 128535=>740, 128536=>741, 128537=>742, 128538=>743, 128539=>744, 128540=>745, 128541=>746, 128542=>747, 128543=>748, 128544=>749, 128545=>750, 128546=>751, 128547=>752, 128548=>753, 128549=>754, 128550=>755, 128551=>756, 128552=>757, 128553=>758, 128554=>759, 128555=>760, 128556=>761, 128557=>762, 128558=>763, 128559=>764, 128560=>765, 128561=>766, 128562=>767, 128563=>768, 128564=>769, 128565=>770, 128566=>771, 128567=>772, 128568=>773, 128569=>774, 128570=>775, 128571=>776, 128572=>777, 128573=>778, 128574=>779, 128575=>780, 128576=>781, 128581=>782, 128582=>783, 128583=>784, 128584=>785, 128585=>786, 128586=>787, 128587=>788, 128588=>789, 128589=>790, 128590=>791, 128591=>792, 128640=>793, 128641=>794, 128642=>795, 128643=>796, 128644=>797, 128645=>798, 128646=>799, 128647=>800, 128648=>801, 128649=>802, 128650=>803, 128651=>804, 128652=>805, 128653=>806, 128654=>807, 128655=>808, 128656=>809, 128657=>810, 128658=>811, 128659=>812, 128660=>813, 128661=>814, 128662=>815, 128663=>816, 128664=>817, 128665=>818, 128666=>819, 128667=>820, 128668=>821, 128669=>822, 128670=>823, 128671=>824, 128672=>825, 128673=>826, 128674=>827, 128675=>828, 128676=>829, 128677=>830, 128678=>831, 128679=>832, 128680=>833, 128681=>834, 128682=>835, 128683=>836, 128684=>837, 128685=>838, 128686=>839, 128687=>840, 128688=>841, 128689=>842, 128690=>843, 128691=>844, 128692=>845, 128693=>846, 128694=>847, 128695=>848, 128696=>849, 128697=>850, 128698=>851, 128699=>852, 128700=>853, 128701=>854, 128702=>855, 128703=>856, 128704=>857, 128705=>858, 128706=>859, 128707=>860, 128708=>861, 128709=>862, 1041637=>978, 1041638=>1088, 1041639=>943, 1041640=>926, 1041641=>974, 1041642=>945, 1041643=>936, 1041644=>1050, 1041645=>917, 1041646=>986, 1042476=>863, 1042478=>865, 1042479=>866, 1042480=>867, 1042481=>868, 1042482=>869, 1042483=>870, 1042484=>871, 1042485=>872, 1042486=>873, 1042487=>864}.freeze - -def download_google_emojis(url_template) - puts "Downloading emojis for google..." - - path = "public/images/google" - FileUtils.rm_rf(path) rescue nil - FileUtils.mkdir_p(path) rescue nil - - Emoji.all.each do |emoji| - codepoint = emoji["emoji"].codepoints.first - filename = GOOGLE_EMOJIS[codepoint] - next if filename.nil? - puts "#{filename} -> #{emoji["emoji"]}" - url = url_template % filename - data = File.open(url, "rb").read - next if data.nil? - FileUtils.cd(path) do - emoji["aliases"].each do |name| - File.open("#{name}.png", "wb") { |f| f << data } - ImageOptim.new.optimize_image!("#{name}.png") - end - end - end +def write_emoji(path, emoji) + open(path, "wb") { |f| f << emoji } + `pngout #{path}` + putc "." end diff --git a/lib/tasks/posts.rake b/lib/tasks/posts.rake index 328bc8a91..324d3ded1 100644 --- a/lib/tasks/posts.rake +++ b/lib/tasks/posts.rake @@ -26,13 +26,17 @@ task 'posts:fix_letter_avatars' => :environment do puts "", "#{rebaked} posts done!", "" end -desc 'Rebake all posts matching string/regex' -task 'posts:rebake_match', [:pattern, :type] => [:environment] do |_,args| +desc 'Rebake all posts matching string/regex and optionally delay the loop' +task 'posts:rebake_match', [:pattern, :type, :delay] => [:environment] do |_,args| pattern = args[:pattern] type = args[:type] type = type.downcase if type + delay = args[:delay].to_i if args[:delay] if !pattern - puts "ERROR: Expecting rake posts:rebake_match[pattern,type]" + puts "ERROR: Expecting rake posts:rebake_match[pattern,type,delay]" + exit 1 + elsif delay && delay < 1 + puts "ERROR: delay parameter should be an integer and greater than 0" exit 1 end @@ -51,6 +55,7 @@ task 'posts:rebake_match', [:pattern, :type] => [:environment] do |_,args| search.find_each do |post| rebake_post(post) print_status(rebaked += 1, total) + sleep(delay) if delay end puts "", "#{rebaked} posts done!", "" diff --git a/lib/tasks/uploads.rake b/lib/tasks/uploads.rake index 74f9aa970..c281ad191 100644 --- a/lib/tasks/uploads.rake +++ b/lib/tasks/uploads.rake @@ -385,6 +385,78 @@ def list_missing_uploads end end +################################################################################ +# Recover from tombstone # +################################################################################ + +task "uploads:recover_from_tombstone" => :environment do + if ENV["RAILS_DB"] + recover_from_tombstone + else + RailsMultisite::ConnectionManagement.each_connection { recover_from_tombstone } + end +end + +def recover_from_tombstone + if Discourse.store.external? + puts "This task only works for internal storages." + return + end + + begin + original_setting = SiteSetting.max_image_size_kb + SiteSetting.max_image_size_kb = 10240 + current_db = RailsMultisite::ConnectionManagement.current_db + + public_path = Rails.root.join("public") + paths = Dir.glob(File.join(public_path, 'uploads', 'tombstone', current_db, '**', '*.*')) + max = paths.length + + paths.each_with_index do |path, index| + filename = File.basename(path) + printf("%9d / %d (%5.1f%%)\n", (index + 1), max, (((index + 1).to_f / max.to_f) * 100).round(1)) + + Post.where("raw LIKE ?", "%#{filename}%").each do |post| + doc = Nokogiri::HTML::fragment(post.raw) + updated = false + + doc.css("img[src]").each do |img| + url = img["src"] + + next unless url =~ /^\/uploads\// + + upload = Upload.find_by(url: url) + + if !upload && url + printf "Restoring #{path}..." + tombstone_path = File.join(public_path, 'uploads', 'tombstone', url.gsub(/^\/uploads\//, "")) + + if File.exists?(tombstone_path) + File.open(tombstone_path) do |file| + new_upload = Upload.create_for(Discourse::SYSTEM_USER_ID, file, File.basename(url), File.size(file)) + + if new_upload.persisted? + printf "Restored into #{new_upload.url}\n" + DbHelper.remap(url, new_upload.url) + updated = true + else + puts "Failed to create upload for #{url}: #{new_upload.errors.full_messages}." + end + end + else + puts "Failed to find file (#{tombstone_path}) in tombstone." + end + end + end + + post.rebake! if updated + end + end + ensure + SiteSetting.max_image_size_kb = original_setting + end +end + ################################################################################ # regenerate_missing_optimized # ################################################################################ diff --git a/lib/validators/post_validator.rb b/lib/validators/post_validator.rb index 9d73fe111..32f606359 100644 --- a/lib/validators/post_validator.rb +++ b/lib/validators/post_validator.rb @@ -91,7 +91,7 @@ class Validators::PostValidator < ActiveModel::Validator def unique_post_validator(post) return if SiteSetting.unique_posts_mins == 0 return if post.skip_unique_check - return if post.acting_user.staff? + return if post.acting_user.try(:staff?) # If the post is empty, default to the validates_presence_of return if post.raw.blank? diff --git a/lib/validators/upload_url_validator.rb b/lib/validators/upload_url_validator.rb index da9c27d1f..527ad2d4e 100644 --- a/lib/validators/upload_url_validator.rb +++ b/lib/validators/upload_url_validator.rb @@ -3,7 +3,7 @@ class UploadUrlValidator < ActiveModel::EachValidator if value.present? uri = URI.parse(value) rescue nil - unless uri && Discourse.store.has_been_uploaded?(value) + unless uri && Upload.exists?(url: value) record.errors[attribute] << (options[:message] || I18n.t('errors.messages.invalid')) end end diff --git a/lib/version.rb b/lib/version.rb index 188a34860..f680629e6 100644 --- a/lib/version.rb +++ b/lib/version.rb @@ -5,7 +5,7 @@ module Discourse MAJOR = 1 MINOR = 7 TINY = 0 - PRE = 'beta4' + PRE = 'beta5' STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.') end diff --git a/lib/wizard.rb b/lib/wizard.rb new file mode 100644 index 000000000..5fc99bee7 --- /dev/null +++ b/lib/wizard.rb @@ -0,0 +1,90 @@ +require_dependency 'wizard/step' +require_dependency 'wizard/field' +require_dependency 'wizard/step_updater' + +class Wizard + attr_reader :steps, :user + + def initialize(user) + @steps = [] + @user = user + @first_step = nil + end + + def create_step(step_name) + Step.new(step_name) + end + + def append_step(step) + step = create_step(step) if step.is_a?(String) + + yield step if block_given? + + last_step = @steps.last + + @steps << step + + # If it's the first step + if @steps.size == 1 + @first_step = step + step.index = 0 + elsif last_step.present? + last_step.next = step + step.previous = last_step + step.index = last_step.index + 1 + end + end + + def steps_with_fields + @steps_with_fields ||= @steps.select {|s| s.has_fields? } + end + + def start + completed = UserHistory.where( + action: UserHistory.actions[:wizard_step], + context: steps_with_fields.map(&:id) + ).uniq.pluck(:context) + + # First uncompleted step + steps_with_fields.each do |s| + return s unless completed.include?(s.id) + end + + @first_step + end + + def create_updater(step_id, fields) + step = @steps.find {|s| s.id == step_id.dasherize} + Wizard::StepUpdater.new(@user, step, fields) + end + + def completed? + completed_steps?(steps_with_fields.map(&:id)) + end + + def completed_steps?(steps) + steps = [steps].flatten.uniq + + completed = UserHistory.where( + action: UserHistory.actions[:wizard_step], + context: steps + ).distinct.order(:context).pluck(:context) + + steps.sort == completed + end + + def requires_completion? + return false unless SiteSetting.wizard_enabled? + + admins = User.where("admin = true AND id <> ? AND auth_token_updated_at IS NOT NULL", + Discourse.system_user.id).order(:auth_token_updated_at) + + # In development mode all admins are developers, so the logic is a bit screwy: + unless Rails.env.development? + admins = admins.select {|a| !Guardian.new(a).is_developer? } + end + + admins.present? && admins.first == @user && !completed? && (Topic.count < 15) + end + +end diff --git a/lib/wizard/builder.rb b/lib/wizard/builder.rb new file mode 100644 index 000000000..17de74227 --- /dev/null +++ b/lib/wizard/builder.rb @@ -0,0 +1,253 @@ +require_dependency 'introduction_updater' +require_dependency 'emoji_set_site_setting' + +class Wizard + class Builder + + def initialize(user) + @wizard = Wizard.new(user) + end + + def build + return @wizard unless SiteSetting.wizard_enabled? && @wizard.user.try(:staff?) + + @wizard.append_step('locale') do |step| + step.banner = "welcome.png" + + languages = step.add_field(id: 'default_locale', + type: 'dropdown', + required: true, + value: SiteSetting.default_locale) + + LocaleSiteSetting.values.each do |locale| + languages.add_choice(locale[:value], label: locale[:name]) + end + + step.on_update do |updater| + old_locale = SiteSetting.default_locale + updater.apply_setting(:default_locale) + updater.refresh_required = true if old_locale != updater.fields[:default_locale] + end + end + + @wizard.append_step('forum-title') do |step| + step.add_field(id: 'title', type: 'text', required: true, value: SiteSetting.title) + step.add_field(id: 'site_description', type: 'text', required: true, value: SiteSetting.site_description) + + step.on_update do |updater| + updater.ensure_changed(:title) + + if updater.errors.blank? + updater.apply_settings(:title, :site_description) + end + end + end + + @wizard.append_step('introduction') do |step| + introduction = IntroductionUpdater.new(@wizard.user) + + step.add_field(id: 'welcome', type: 'textarea', required: true, value: introduction.get_summary) + + step.on_update do |updater| + value = updater.fields[:welcome].strip + + if value.index("\n") + updater.errors.add(:welcome, I18n.t("wizard.step.introduction.fields.welcome.one_paragraph")) + else + introduction.update_summary(value) + end + end + end + + @wizard.append_step('privacy') do |step| + locked = SiteSetting.login_required? && SiteSetting.invite_only? + privacy = step.add_field(id: 'privacy', + type: 'radio', + required: true, + value: locked ? 'restricted' : 'open') + privacy.add_choice('open', icon: 'unlock') + privacy.add_choice('restricted', icon: 'lock') + + step.on_update do |updater| + updater.update_setting(:login_required, updater.fields[:privacy] == 'restricted') + updater.update_setting(:invite_only, updater.fields[:privacy] == 'restricted') + end + end + + @wizard.append_step('contact') do |step| + step.add_field(id: 'contact_email', type: 'text', required: true, value: SiteSetting.contact_email) + step.add_field(id: 'contact_url', type: 'text', value: SiteSetting.contact_url) + + username = SiteSetting.site_contact_username + username = Discourse.system_user.username if username.blank? + contact = step.add_field(id: 'site_contact', type: 'dropdown', value: username) + + User.where(admin: true).pluck(:username).each {|c| contact.add_choice(c) } + + step.on_update do |updater| + updater.apply_settings(:contact_email, :contact_url) + updater.update_setting(:site_contact_username, updater.fields[:site_contact]) + end + end + + @wizard.append_step('corporate') do |step| + step.add_field(id: 'company_short_name', type: 'text', value: SiteSetting.company_short_name) + step.add_field(id: 'company_full_name', type: 'text', value: SiteSetting.company_full_name) + step.add_field(id: 'company_domain', type: 'text', value: SiteSetting.company_domain) + + step.on_update do |updater| + + tos_post = Post.where(topic_id: SiteSetting.tos_topic_id, post_number: 1).first + if tos_post.present? + raw = tos_post.raw.dup + + replace_company(updater, raw, 'company_full_name') + replace_company(updater, raw, 'company_short_name') + replace_company(updater, raw, 'company_domain') + + revisor = PostRevisor.new(tos_post) + revisor.revise!(@wizard.user, raw: raw) + end + + updater.apply_settings(:company_short_name, :company_full_name, :company_domain) + end + end + + @wizard.append_step('colors') do |step| + theme_id = ColorScheme.where(via_wizard: true).pluck(:theme_id) + theme_id = theme_id.present? ? theme_id[0] : 'default' + + themes = step.add_field(id: 'theme_id', type: 'dropdown', required: true, value: theme_id) + ColorScheme.themes.each {|t| themes.add_choice(t[:id], data: t) } + step.add_field(id: 'theme_preview', type: 'component') + + step.on_update do |updater| + scheme_name = updater.fields[:theme_id] + + theme = ColorScheme.themes.find {|s| s[:id] == scheme_name } + + colors = [] + theme[:colors].each do |name, hex| + colors << {name: name, hex: hex[1..-1] } + end + + attrs = { + enabled: true, + name: I18n.t("wizard.step.colors.fields.theme_id.choices.#{scheme_name}.label"), + colors: colors, + theme_id: scheme_name + } + + scheme = ColorScheme.where(via_wizard: true).first + if scheme.present? + attrs[:colors] = colors + revisor = ColorSchemeRevisor.new(scheme, attrs) + revisor.revise + else + attrs[:via_wizard] = true + scheme = ColorScheme.new(attrs) + scheme.save! + end + end + end + + @wizard.append_step('logos') do |step| + step.add_field(id: 'logo_url', type: 'image', value: SiteSetting.logo_url) + step.add_field(id: 'logo_small_url', type: 'image', value: SiteSetting.logo_small_url) + + step.on_update do |updater| + updater.apply_settings(:logo_url, :logo_small_url) + end + end + + @wizard.append_step('icons') do |step| + step.add_field(id: 'favicon_url', type: 'image', value: SiteSetting.favicon_url) + step.add_field(id: 'apple_touch_icon_url', type: 'image', value: SiteSetting.apple_touch_icon_url) + + step.on_update do |updater| + updater.apply_settings(:favicon_url, :apple_touch_icon_url) + end + end + + @wizard.append_step('homepage') do |step| + + current = SiteSetting.top_menu.starts_with?("categories") ? "categories" : "latest" + + style = step.add_field(id: 'homepage_style', type: 'dropdown', required: true, value: current) + style.add_choice('latest') + style.add_choice('categories') + step.add_field(id: 'homepage_preview', type: 'component') + + step.on_update do |updater| + top_menu = "latest|new|unread|top|categories" + top_menu = "categories|latest|new|unread|top" if updater.fields[:homepage_style] == 'categories' + updater.update_setting(:top_menu, top_menu) + end + end + + @wizard.append_step('emoji') do |step| + sets = step.add_field({ + id: 'emoji_set', + type: 'radio', + required: true, + value: SiteSetting.emoji_set + }) + + emoji = ["smile", "+1", "tada", "poop"] + + EmojiSetSiteSetting.values.each do |set| + imgs = emoji.map do |e| + "<img src='/images/emoji/#{set[:value]}/#{e}.png'>" + end + + sets.add_choice(set[:value], { + label: I18n.t("js.#{set[:name]}"), + extra_label: "<span class='emoji-preview'>#{imgs.join}</span>" + }) + + step.on_update do |updater| + updater.apply_settings(:emoji_set) + end + end + end + + @wizard.append_step('invites') do |step| + + staff_count = User.where("moderator = true or admin = true").where("id <> ?", Discourse.system_user.id).count + step.add_field(id: 'staff_count', type: 'component', value: staff_count) + + step.add_field(id: 'invite_list', type: 'component') + + step.on_update do |updater| + users = JSON.parse(updater.fields[:invite_list]) + + users.each do |u| + args = {} + args[:moderator] = true if u['role'] == 'moderator' + Invite.create_invite_by_email(u['email'], @wizard.user, args) + end + end + end + + DiscourseEvent.trigger(:build_wizard, @wizard) + + @wizard.append_step('finished') do |step| + step.banner = "finished.png" + end + @wizard + end + + protected + + def replace_company(updater, raw, field_name) + old_value = SiteSetting.send(field_name) + old_value = field_name if old_value.blank? + + new_value = updater.fields[field_name.to_sym] + new_value = field_name if new_value.blank? + + raw.gsub!(old_value, new_value) + end + end +end + diff --git a/lib/wizard/field.rb b/lib/wizard/field.rb new file mode 100644 index 000000000..0816e055d --- /dev/null +++ b/lib/wizard/field.rb @@ -0,0 +1,39 @@ +class Wizard + + class Choice + attr_reader :id, :label, :icon, :data, :extra_label + attr_accessor :field + + def initialize(id, opts) + @id = id + @data = opts[:data] + @label = opts[:label] + @extra_label = opts[:extra_label] + @icon = opts[:icon] + end + end + + class Field + attr_reader :id, :type, :required, :value, :choices + attr_accessor :step + + def initialize(attrs) + attrs = attrs || {} + + @id = attrs[:id] + @type = attrs[:type] + @required = !!attrs[:required] + @value = attrs[:value] + @choices = [] + end + + def add_choice(id, opts=nil) + choice = Choice.new(id, opts || {}) + choice.field = self + + @choices << choice + choice + end + + end +end diff --git a/lib/wizard/step.rb b/lib/wizard/step.rb new file mode 100644 index 000000000..40a8b9f6e --- /dev/null +++ b/lib/wizard/step.rb @@ -0,0 +1,26 @@ +class Wizard + class Step + attr_reader :id, :updater + attr_accessor :index, :fields, :next, :previous, :banner + + def initialize(id) + @id = id + @fields = [] + end + + def add_field(attrs) + field = Field.new(attrs) + field.step = self + @fields << field + field + end + + def has_fields? + @fields.present? + end + + def on_update(&block) + @updater = block + end + end +end diff --git a/lib/wizard/step_updater.rb b/lib/wizard/step_updater.rb new file mode 100644 index 000000000..f05605c33 --- /dev/null +++ b/lib/wizard/step_updater.rb @@ -0,0 +1,51 @@ +class Wizard + class StepUpdater + include ActiveModel::Model + + attr_accessor :refresh_required, :fields + + def initialize(current_user, step, fields) + @current_user = current_user + @step = step + @refresh_required = false + @fields = fields + end + + def update + @step.updater.call(self) if @step.present? && @step.updater.present? + + if success? + logger = StaffActionLogger.new(@current_user) + logger.log_wizard_step(@step) + end + end + + def success? + @errors.blank? + end + + def refresh_required? + @refresh_required + end + + def update_setting(id, value) + value.strip! if value.is_a?(String) + SiteSetting.set_and_log(id, value, @current_user) if SiteSetting.send(id) != value + end + + def apply_setting(id) + update_setting(id, @fields[id]) + rescue Discourse::InvalidParameters => e + errors.add(id, e.message) + end + + def ensure_changed(id) + errors.add(id, '') if @fields[id] == SiteSetting.defaults[id] + end + + def apply_settings(*ids) + ids.each {|id| apply_setting(id)} + end + + end +end diff --git a/plugins/poll/assets/javascripts/components/poll-option.js.es6 b/plugins/poll/assets/javascripts/components/poll-option.js.es6 index b20f2b520..c31e7f5f2 100644 --- a/plugins/poll/assets/javascripts/components/poll-option.js.es6 +++ b/plugins/poll/assets/javascripts/components/poll-option.js.es6 @@ -1,5 +1,5 @@ import computed from 'ember-addons/ember-computed-decorators'; -import { iconHTML } from 'discourse/helpers/fa-icon'; +import { iconHTML } from 'discourse-common/helpers/fa-icon'; export default Em.Component.extend({ tagName: "li", diff --git a/plugins/poll/config/locales/client.he.yml b/plugins/poll/config/locales/client.he.yml index 2d2728d18..026fa9f55 100644 --- a/plugins/poll/config/locales/client.he.yml +++ b/plugins/poll/config/locales/client.he.yml @@ -64,6 +64,6 @@ he: min: מינימום step: צעד poll_public: - label: הציג מי הצביעו + label: הצג מי הצביעו poll_options: label: הכניסו אפשרות בחירה אחת בכל שורה diff --git a/plugins/poll/config/locales/client.ja.yml b/plugins/poll/config/locales/client.ja.yml index 63a8041e6..9e379fcdd 100644 --- a/plugins/poll/config/locales/client.ja.yml +++ b/plugins/poll/config/locales/client.ja.yml @@ -20,7 +20,7 @@ ja: title: "投票結果を表示" label: "結果を表示" hide-results: - title: "あなたの投票に戻る" + title: "投票に戻る" label: "結果を非表示にする" open: title: "投票を開く" diff --git a/plugins/poll/config/locales/client.sk.yml b/plugins/poll/config/locales/client.sk.yml index 2274d7f95..eec84edce 100644 --- a/plugins/poll/config/locales/client.sk.yml +++ b/plugins/poll/config/locales/client.sk.yml @@ -17,11 +17,28 @@ sk: few: "hlasy celkom" other: "hlasov celkom" average_rating: "Priemerné hodnotenie: <strong>%{average}</strong>." + public: + title: "Hlasy sú verejné." + multiple: + help: + at_least_min_options: + one: "Vyberte aspoň <strong>1</strong> možnosť" + few: "Vyberte aspoň <strong>%{count}</strong> možnosti" + other: "Vyberte aspoň <strong>%{count}</strong> možností" + up_to_max_options: + one: "Vyberte najviac <strong>1</strong> možnosť" + few: "Vyberte najviac <strong>%{count}</strong> možnosti" + other: "Vyberte najviac <strong>%{count}</strong> možností" + x_options: + one: "Vyberte <strong>1</strong> možnosť" + few: "Vyberte <strong>%{count}</strong> možnosti" + other: "Vyberte <strong>%{count}</strong> možností" + between_min_and_max_options: "Vyberte medzi <strong>%{min}</strong> a <strong>%{max}</strong> možnosťami" cast-votes: title: "Hlasovať" label: "Hlasuj teraz!" show-results: - title: "Zobraz výsledky hlasovania" + title: "Zobraiť výsledky hlasovania" label: "Zobraz výsledky" hide-results: title: "Návrat na odovzdané hlasy" @@ -31,6 +48,27 @@ sk: label: "Zahájiť" confirm: "Ste si istý, že chcete zahájiť toto hlasovanie?" close: - title: "Zatvoriť hlasovanie" - label: "Zatvoriť" - confirm: "Ste si istý, že chcete zatvoriť toto hlasovanie?" + title: "Uzavrieť hlasovanie" + label: "Zavrieť" + confirm: "Ste si istý, že chcete uzavrieť toto hlasovanie?" + error_while_toggling_status: "Ľutujeme, nastala chyba pri prepínaní stavu tohto hlasovania." + error_while_casting_votes: "Ľutujeme, nastala chyba pri prideľovaní Vašich hlasov." + error_while_fetching_voters: "Ľutujeme, nastala chyba pri zobrazovaní voličov." + ui_builder: + title: Vytvoriť hlasovanie + insert: Vložiť hlasovanie + help: + options_count: Zadajte aspoň 2 možnosti + poll_type: + label: Typ + regular: Jedna možnosť + multiple: Viacero možností + number: Číselné hodnotenie + poll_config: + max: Max + min: Min + step: Krok + poll_public: + label: Ukázať kto hlasoval + poll_options: + label: Zadajte jednu možnosť voľby na riadok diff --git a/plugins/poll/config/locales/client.tr_TR.yml b/plugins/poll/config/locales/client.tr_TR.yml index 5eb50b1cb..e313bed0a 100644 --- a/plugins/poll/config/locales/client.tr_TR.yml +++ b/plugins/poll/config/locales/client.tr_TR.yml @@ -42,7 +42,7 @@ tr_TR: label: "Bitir" confirm: "Bu anketi bitirmek istediğinize emin misiniz?" error_while_toggling_status: "Üzgünüz, anket durumunu değiştirme sırasında hata meydana geldi." - error_while_casting_votes: "Üzgünüz, oylarınızı dönüştürme sırasında hata meydana geldi" + error_while_casting_votes: "Üzgünüz, oylarınızı dönüştürme sırasında hata meydana geldi." error_while_fetching_voters: "Üzgünüz, oy verenleri görüntüleme sırasında hata meydana geldi" ui_builder: title: Anket Oluştur diff --git a/plugins/poll/config/locales/server.he.yml b/plugins/poll/config/locales/server.he.yml index cfd8b914e..cc5f7f989 100644 --- a/plugins/poll/config/locales/server.he.yml +++ b/plugins/poll/config/locales/server.he.yml @@ -36,7 +36,7 @@ he: no_poll_with_this_name: "אין סקר בשם <strong>%{name}</strong> שמקושר לפוסט הזה. " post_is_deleted: "לא ניתן לפעול על פוסט שנמחק." topic_must_be_open_to_vote: "הנושא צריך להיות פתוח להצבעות." - poll_must_be_open_to_vote: "הסקר צריך להיות פתוח להצבעות." + poll_must_be_open_to_vote: "הסקר חייב להיות פתוח להצבעות." topic_must_be_open_to_toggle_status: "הנושא חייב להיות פתוח לשינויים בסטטוס." only_staff_or_op_can_toggle_status: "רק חבר צוות או המפרסם המקורי יכול לשנות סטטוס של סקר. " email: diff --git a/plugins/poll/config/locales/server.sk.yml b/plugins/poll/config/locales/server.sk.yml index c4d68511c..2a55f97a0 100644 --- a/plugins/poll/config/locales/server.sk.yml +++ b/plugins/poll/config/locales/server.sk.yml @@ -9,6 +9,7 @@ sk: site_settings: poll_enabled: "Umožnit používaťeľom vytvárať hlasovania?" poll_maximum_options: "Maximálny počet povolených možností v hlasovaní." + poll_edit_window_mins: "Počet minút po vytvorení hlasovania počas ktorých môže byť hlasovanie upravené." poll: multiple_polls_without_name: "Existujú viaceré hlasovania bez mena. Použite atribút '<code>meno</code>', aby ste hlasovanie jednoznačne rozlíšili." multiple_polls_with_same_name: "Existujú viaceré hlasovania s rovnakým menom: <strong>%{name}</strong>. Použite atribút '<code>meno</code>', aby ste hlasovanie jednoznačne rozlíšili." @@ -27,6 +28,12 @@ sk: default_poll_with_multiple_choices_has_invalid_parameters: "Hlasovanie s viac možnosťami má nesprávne parametre." named_poll_with_multiple_choices_has_invalid_parameters: "Hlasovanie s názvom <strong>%{name}</strong> s viac možnosťami má nesprávne parametre." requires_at_least_1_valid_option: "Musite vybrať aspoň 1 platnú možnosť." + default_cannot_be_made_public: "Hlasovanie s hlasmi nemôže byť zverejnené." + named_cannot_be_made_public: "Hlasovanie s názvom <strong>%{name}</strong> má hlasy, preto nemôže byť zverejnené." + edit_window_expired: + cannot_change_polls: "Po prvých %{minutes} minútach už nemôžete pridať, odstrániť alebo premenovať hlasovanie." + op_cannot_edit_options: "Po prvých %{minutes} minútach už nemôžete pridať alebo odstrániť možnosti hlasovania. Ak potrebujete upraviť možnosti hlasovania prosím kontaktujte moderátora." + staff_cannot_add_or_remove_options: "Po prvých %{minutes} minútach už nemôžete pridať alebo odstrániť možnosti hlasovania. Miesto toho by ste mali uzavrieť túto tému a miesto nej vytvoriť inú." no_polls_associated_with_this_post: "S týmto príspevkom nie sú spojené žiadne hlasovania." no_poll_with_this_name: "S týmto príspevkom nie je spojené žiadne hlasovanie s názvom <strong>%{name}</strong>." post_is_deleted: "Na vymazanom príspevku nie je možné vykonať." diff --git a/plugins/poll/config/locales/server.sq.yml b/plugins/poll/config/locales/server.sq.yml index 7d447ebbd..65cbc75ea 100644 --- a/plugins/poll/config/locales/server.sq.yml +++ b/plugins/poll/config/locales/server.sq.yml @@ -7,7 +7,7 @@ sq: site_settings: - poll_enabled: "Lejo anëtarët të hapin sondazhe?" + poll_enabled: "Lejo përdoruesit të hapin sondazhe?" poll_maximum_options: "Numri maksimal i opsioneve të lejuara në një sondazh." poll_edit_window_mins: "Numri i minutave pas krijimit të postimit gjatë të cilave sondazhet mund të ndryshohen." poll: @@ -34,7 +34,7 @@ sq: staff_cannot_add_or_remove_options: "Nuk mund të shtoni apo hiqni alternativat e një sondazhi pas %{minutes} minutave të para. Ju duhet ta mbyllni këtë temë dhe të krijoni një të re." no_polls_associated_with_this_post: "Asnjë sondazh nuk është bashkangjitur me këtë postim." no_poll_with_this_name: "No poll named <strong>%{name}</strong> associated with this post." - post_is_deleted: "S'mund të veproj në një postim të eliminuar." + post_is_deleted: "S'mund të veproj në një postim të fshirë." topic_must_be_open_to_vote: "Tema duhet të jetë e hapur për të votuar." poll_must_be_open_to_vote: "Sondazhi duhet të jetë i hapur për të votuar." topic_must_be_open_to_toggle_status: "Tema duhet të jetë e hapur për të ndryshuar statusin." diff --git a/plugins/poll/config/locales/server.tr_TR.yml b/plugins/poll/config/locales/server.tr_TR.yml index 770635926..85d440adc 100644 --- a/plugins/poll/config/locales/server.tr_TR.yml +++ b/plugins/poll/config/locales/server.tr_TR.yml @@ -24,7 +24,7 @@ tr_TR: default_poll_with_multiple_choices_has_invalid_parameters: "Çoklu seçim seçeneği içeren anketinizde hatalar belirlendi." named_poll_with_multiple_choices_has_invalid_parameters: "<strong>%{name}</strong> ile adlandırılmış ve çoklu seçim seçeneği içeren anketinizde hatalar belirlendi." requires_at_least_1_valid_option: "En az 1 geçerli seçim yapmalısınız." - default_cannot_be_made_public: "Oy içeren oylamalar herkese açık olamaz. " + default_cannot_be_made_public: "Oy içeren anketler herkese açık olamaz. " named_cannot_be_made_public: "<strong>%{name}</strong> isimli ankette oylamalar herkese açık yapılamaz." edit_window_expired: cannot_change_polls: "İlk %{minutes} dakikadan sonra anket ekleyemez, silemez veya yeniden isimlendiremezsiniz." @@ -35,7 +35,7 @@ tr_TR: post_is_deleted: "Silinmiş konu üzerinde işlem yapamazsınız." topic_must_be_open_to_vote: "Konu oylanabilmesi için açık olmalı." poll_must_be_open_to_vote: "Anket oylanabilmesi için açık olmalı." - topic_must_be_open_to_toggle_status: "Statüsün düzenlenebilmesi için konu açık olmalı." - only_staff_or_op_can_toggle_status: "Bir anketin statüsünü sadece o anketin orjinal sahibi ya da bir görevli değiştirebilir." + topic_must_be_open_to_toggle_status: "Durumun değiştirilebilmesi için konu açık olmalı." + only_staff_or_op_can_toggle_status: "Bir anketin durumunu sadece o anketin asıl sahibi ya da bir görevli değiştirebilir." email: link_to_poll: "Anketi görüntülemek için tıklayın." diff --git a/public/403.he.html b/public/403.he.html index b18cf201a..1cffb9ce0 100644 --- a/public/403.he.html +++ b/public/403.he.html @@ -18,7 +18,7 @@ <body> <div class="dialog"> <h1>403</h1> - <p>אין לך הרשאה לצפות בתוכן זה!</p> + <p>אין לכם הרשאה לצפות בתוכן זה!</p> <p>עמוד זה יוחלף בעמוד 403 מותאם של Discourse.</p> </div> diff --git a/public/500.sk.html b/public/500.sk.html index 68c0ef28f..6faefa318 100644 --- a/public/500.sk.html +++ b/public/500.sk.html @@ -7,6 +7,6 @@ <h1>Oops</h1> <p>V softvéri poháňajúcom toto diskusné fórum došlo k neočakávanej chybe. Ospravedlňujeme sa za spôsobené nepríjemnosti.</p> <p>Podrobnosti o chybe boli zaznamenané a vygenerovalo sa automatické upozornenie. Pozrieme sa na to.</p> - <p>No further action is necessary. However, if the error condition persists, you can provide additional detail, including steps to reproduce the error, by posting a discussion topic in the site's feedback category.</p> + <p>Nie je potrebná žiadna ďalšia akcia. Ak však chyba pretrváva, môžete poskytnúť dodatočné informácie, vrátane krokov vedúcich k navodeniu chyby založením diskusnej témy v kategórii podnetov.</p> </body> </html> diff --git a/public/500.tr_TR.html b/public/500.tr_TR.html index 374a6dddb..651b95b65 100644 --- a/public/500.tr_TR.html +++ b/public/500.tr_TR.html @@ -1,12 +1,12 @@ <html> <head> -<title>Oops - Hata 500</title> +<title>Hay Aksi - Hata 500</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> - <h1>Oops</h1> + <h1>Hay aksi</h1> <p>Bu tartışma forumunu çalıştıran yazılım beklenmeyen bir problem ile karşılaştı. Verdiğimiz rahatsızlık için özür dileriz.</p> <p>Hata ile ilgili detaylı bilgiler kaydedildi ve bize otomatik olarak bildirildi. İnceleyeceğiz. </p> - <p>Daha fazla bir işlem yapmanız gerekmiyor. Yine de, hata oluşmaya devam ederse sitenin geri bildirim kategorisinde hata ile ilgili yeniden tekrarlama adımlarını da dahil ederek detaylı bir konu oluşturabilirsiniz.</p> + <p>Daha fazla bir eylem gerekmiyor. Ancak, hata oluşmaya devam ederse sitenin geri bildirim kategorisinde hata ile ilgili yeniden tekrarlama adımlarını da dahil ederek detaylı bir konu oluşturabilirsiniz.</p> </body> </html> diff --git a/public/images/emoji/apple/+1.png b/public/images/emoji/apple/+1.png index 05beee9a1..5df9bb854 100644 Binary files a/public/images/emoji/apple/+1.png and b/public/images/emoji/apple/+1.png differ diff --git a/public/images/emoji/apple/-1.png b/public/images/emoji/apple/-1.png index 8bf40ca31..74440b69c 100644 Binary files a/public/images/emoji/apple/-1.png and b/public/images/emoji/apple/-1.png differ diff --git a/public/images/emoji/apple/100.png b/public/images/emoji/apple/100.png index 7c4c5ca18..558daf788 100644 Binary files a/public/images/emoji/apple/100.png and b/public/images/emoji/apple/100.png differ diff --git a/public/images/emoji/apple/1234.png b/public/images/emoji/apple/1234.png index e26f00b2c..6a00c77d6 100644 Binary files a/public/images/emoji/apple/1234.png and b/public/images/emoji/apple/1234.png differ diff --git a/public/images/emoji/apple/8ball.png b/public/images/emoji/apple/8ball.png index 3fa227a4c..5b8369d02 100644 Binary files a/public/images/emoji/apple/8ball.png and b/public/images/emoji/apple/8ball.png differ diff --git a/public/images/emoji/apple/a.png b/public/images/emoji/apple/a.png index f5a7a43eb..5d936790b 100644 Binary files a/public/images/emoji/apple/a.png and b/public/images/emoji/apple/a.png differ diff --git a/public/images/emoji/apple/ab.png b/public/images/emoji/apple/ab.png index b517fcafd..f4a147719 100644 Binary files a/public/images/emoji/apple/ab.png and b/public/images/emoji/apple/ab.png differ diff --git a/public/images/emoji/apple/abc.png b/public/images/emoji/apple/abc.png index 01a6f3902..02f245a71 100644 Binary files a/public/images/emoji/apple/abc.png and b/public/images/emoji/apple/abc.png differ diff --git a/public/images/emoji/apple/abcd.png b/public/images/emoji/apple/abcd.png index c2ccf4272..c7f579955 100644 Binary files a/public/images/emoji/apple/abcd.png and b/public/images/emoji/apple/abcd.png differ diff --git a/public/images/emoji/apple/accept.png b/public/images/emoji/apple/accept.png index 3b9235582..b0f60d2da 100644 Binary files a/public/images/emoji/apple/accept.png and b/public/images/emoji/apple/accept.png differ diff --git a/public/images/emoji/apple/admission_tickets.png b/public/images/emoji/apple/admission_tickets.png new file mode 100644 index 000000000..89650d6ec Binary files /dev/null and b/public/images/emoji/apple/admission_tickets.png differ diff --git a/public/images/emoji/apple/aerial_tramway.png b/public/images/emoji/apple/aerial_tramway.png index 69b45ba62..9be606fb9 100644 Binary files a/public/images/emoji/apple/aerial_tramway.png and b/public/images/emoji/apple/aerial_tramway.png differ diff --git a/public/images/emoji/apple/airplane.png b/public/images/emoji/apple/airplane.png index 399e99214..24848c479 100644 Binary files a/public/images/emoji/apple/airplane.png and b/public/images/emoji/apple/airplane.png differ diff --git a/public/images/emoji/apple/airplane_arriving.png b/public/images/emoji/apple/airplane_arriving.png index 5b7bfeb80..e0d745e0b 100644 Binary files a/public/images/emoji/apple/airplane_arriving.png and b/public/images/emoji/apple/airplane_arriving.png differ diff --git a/public/images/emoji/apple/airplane_departure.png b/public/images/emoji/apple/airplane_departure.png index 3d2f9379e..c862dd9a6 100644 Binary files a/public/images/emoji/apple/airplane_departure.png and b/public/images/emoji/apple/airplane_departure.png differ diff --git a/public/images/emoji/apple/airplane_small.png b/public/images/emoji/apple/airplane_small.png index a3a07e0f3..fd2075925 100644 Binary files a/public/images/emoji/apple/airplane_small.png and b/public/images/emoji/apple/airplane_small.png differ diff --git a/public/images/emoji/apple/alarm_clock.png b/public/images/emoji/apple/alarm_clock.png index d3263269d..040b13dc7 100644 Binary files a/public/images/emoji/apple/alarm_clock.png and b/public/images/emoji/apple/alarm_clock.png differ diff --git a/public/images/emoji/apple/alembic.png b/public/images/emoji/apple/alembic.png index 1e47e111a..f48867e5e 100644 Binary files a/public/images/emoji/apple/alembic.png and b/public/images/emoji/apple/alembic.png differ diff --git a/public/images/emoji/apple/alien.png b/public/images/emoji/apple/alien.png index 92955eb83..7d09e2361 100644 Binary files a/public/images/emoji/apple/alien.png and b/public/images/emoji/apple/alien.png differ diff --git a/public/images/emoji/apple/ambulance.png b/public/images/emoji/apple/ambulance.png index 25cf2ce04..60e6e8931 100644 Binary files a/public/images/emoji/apple/ambulance.png and b/public/images/emoji/apple/ambulance.png differ diff --git a/public/images/emoji/apple/amphora.png b/public/images/emoji/apple/amphora.png index 35f876914..e6471472b 100644 Binary files a/public/images/emoji/apple/amphora.png and b/public/images/emoji/apple/amphora.png differ diff --git a/public/images/emoji/apple/anchor.png b/public/images/emoji/apple/anchor.png index 085a3fcfd..360acc71d 100644 Binary files a/public/images/emoji/apple/anchor.png and b/public/images/emoji/apple/anchor.png differ diff --git a/public/images/emoji/apple/angel.png b/public/images/emoji/apple/angel.png index 0ef415698..1814038e1 100644 Binary files a/public/images/emoji/apple/angel.png and b/public/images/emoji/apple/angel.png differ diff --git a/public/images/emoji/apple/anger.png b/public/images/emoji/apple/anger.png index 8c7854cdf..732582853 100644 Binary files a/public/images/emoji/apple/anger.png and b/public/images/emoji/apple/anger.png differ diff --git a/public/images/emoji/apple/anger_right.png b/public/images/emoji/apple/anger_right.png index bb53b70b0..af8a6055f 100644 Binary files a/public/images/emoji/apple/anger_right.png and b/public/images/emoji/apple/anger_right.png differ diff --git a/public/images/emoji/apple/angry.png b/public/images/emoji/apple/angry.png index 3942ec357..fbc2f3355 100644 Binary files a/public/images/emoji/apple/angry.png and b/public/images/emoji/apple/angry.png differ diff --git a/public/images/emoji/apple/anguished.png b/public/images/emoji/apple/anguished.png index 95f0ce184..260c46778 100644 Binary files a/public/images/emoji/apple/anguished.png and b/public/images/emoji/apple/anguished.png differ diff --git a/public/images/emoji/apple/ant.png b/public/images/emoji/apple/ant.png index f63ba4910..91918b983 100644 Binary files a/public/images/emoji/apple/ant.png and b/public/images/emoji/apple/ant.png differ diff --git a/public/images/emoji/apple/apple.png b/public/images/emoji/apple/apple.png index 80050b1d6..9cc10e013 100644 Binary files a/public/images/emoji/apple/apple.png and b/public/images/emoji/apple/apple.png differ diff --git a/public/images/emoji/apple/aquarius.png b/public/images/emoji/apple/aquarius.png index 87d5c8b33..066169e7e 100644 Binary files a/public/images/emoji/apple/aquarius.png and b/public/images/emoji/apple/aquarius.png differ diff --git a/public/images/emoji/apple/archery.png b/public/images/emoji/apple/archery.png new file mode 100644 index 000000000..ef65fe6dd Binary files /dev/null and b/public/images/emoji/apple/archery.png differ diff --git a/public/images/emoji/apple/aries.png b/public/images/emoji/apple/aries.png index 7295ff24f..c1581fd89 100644 Binary files a/public/images/emoji/apple/aries.png and b/public/images/emoji/apple/aries.png differ diff --git a/public/images/emoji/apple/arrow_backward.png b/public/images/emoji/apple/arrow_backward.png index c69aa7b1f..edad1e85a 100644 Binary files a/public/images/emoji/apple/arrow_backward.png and b/public/images/emoji/apple/arrow_backward.png differ diff --git a/public/images/emoji/apple/arrow_double_down.png b/public/images/emoji/apple/arrow_double_down.png index 9c9f436f8..33665ebbe 100644 Binary files a/public/images/emoji/apple/arrow_double_down.png and b/public/images/emoji/apple/arrow_double_down.png differ diff --git a/public/images/emoji/apple/arrow_double_up.png b/public/images/emoji/apple/arrow_double_up.png index d1390ea1e..02f90659e 100644 Binary files a/public/images/emoji/apple/arrow_double_up.png and b/public/images/emoji/apple/arrow_double_up.png differ diff --git a/public/images/emoji/apple/arrow_down.png b/public/images/emoji/apple/arrow_down.png index e8892bfa0..3431b3f07 100644 Binary files a/public/images/emoji/apple/arrow_down.png and b/public/images/emoji/apple/arrow_down.png differ diff --git a/public/images/emoji/apple/arrow_down_small.png b/public/images/emoji/apple/arrow_down_small.png index 73cd96a24..4025487dd 100644 Binary files a/public/images/emoji/apple/arrow_down_small.png and b/public/images/emoji/apple/arrow_down_small.png differ diff --git a/public/images/emoji/apple/arrow_forward.png b/public/images/emoji/apple/arrow_forward.png index b7ff1e358..8f93763e8 100644 Binary files a/public/images/emoji/apple/arrow_forward.png and b/public/images/emoji/apple/arrow_forward.png differ diff --git a/public/images/emoji/apple/arrow_heading_down.png b/public/images/emoji/apple/arrow_heading_down.png index 29130cc97..08b4f4628 100644 Binary files a/public/images/emoji/apple/arrow_heading_down.png and b/public/images/emoji/apple/arrow_heading_down.png differ diff --git a/public/images/emoji/apple/arrow_heading_up.png b/public/images/emoji/apple/arrow_heading_up.png index e3ff8bfe3..2f92eb39b 100644 Binary files a/public/images/emoji/apple/arrow_heading_up.png and b/public/images/emoji/apple/arrow_heading_up.png differ diff --git a/public/images/emoji/apple/arrow_left.png b/public/images/emoji/apple/arrow_left.png index 23e9a915e..9a226c2cb 100644 Binary files a/public/images/emoji/apple/arrow_left.png and b/public/images/emoji/apple/arrow_left.png differ diff --git a/public/images/emoji/apple/arrow_lower_left.png b/public/images/emoji/apple/arrow_lower_left.png index 5eb3ecbb2..f26ad0766 100644 Binary files a/public/images/emoji/apple/arrow_lower_left.png and b/public/images/emoji/apple/arrow_lower_left.png differ diff --git a/public/images/emoji/apple/arrow_lower_right.png b/public/images/emoji/apple/arrow_lower_right.png index 18cee61f5..26c75f10f 100644 Binary files a/public/images/emoji/apple/arrow_lower_right.png and b/public/images/emoji/apple/arrow_lower_right.png differ diff --git a/public/images/emoji/apple/arrow_right.png b/public/images/emoji/apple/arrow_right.png index 88fc5bfae..8aaa86a51 100644 Binary files a/public/images/emoji/apple/arrow_right.png and b/public/images/emoji/apple/arrow_right.png differ diff --git a/public/images/emoji/apple/arrow_right_hook.png b/public/images/emoji/apple/arrow_right_hook.png index fa4b0514f..603a1db2d 100644 Binary files a/public/images/emoji/apple/arrow_right_hook.png and b/public/images/emoji/apple/arrow_right_hook.png differ diff --git a/public/images/emoji/apple/arrow_up.png b/public/images/emoji/apple/arrow_up.png index 69b614d1f..882a3ccb1 100644 Binary files a/public/images/emoji/apple/arrow_up.png and b/public/images/emoji/apple/arrow_up.png differ diff --git a/public/images/emoji/apple/arrow_up_down.png b/public/images/emoji/apple/arrow_up_down.png index 945818d5f..605b50117 100644 Binary files a/public/images/emoji/apple/arrow_up_down.png and b/public/images/emoji/apple/arrow_up_down.png differ diff --git a/public/images/emoji/apple/arrow_up_small.png b/public/images/emoji/apple/arrow_up_small.png index f1cbf1714..e0bbe012d 100644 Binary files a/public/images/emoji/apple/arrow_up_small.png and b/public/images/emoji/apple/arrow_up_small.png differ diff --git a/public/images/emoji/apple/arrow_upper_left.png b/public/images/emoji/apple/arrow_upper_left.png index 468a0cb2a..d40ade2ab 100644 Binary files a/public/images/emoji/apple/arrow_upper_left.png and b/public/images/emoji/apple/arrow_upper_left.png differ diff --git a/public/images/emoji/apple/arrow_upper_right.png b/public/images/emoji/apple/arrow_upper_right.png index fe50ee94b..4c367cef5 100644 Binary files a/public/images/emoji/apple/arrow_upper_right.png and b/public/images/emoji/apple/arrow_upper_right.png differ diff --git a/public/images/emoji/apple/arrows_clockwise.png b/public/images/emoji/apple/arrows_clockwise.png index 0e6f65e9d..9cc39ac29 100644 Binary files a/public/images/emoji/apple/arrows_clockwise.png and b/public/images/emoji/apple/arrows_clockwise.png differ diff --git a/public/images/emoji/apple/arrows_counterclockwise.png b/public/images/emoji/apple/arrows_counterclockwise.png index 07ef8acc3..2c2180db1 100644 Binary files a/public/images/emoji/apple/arrows_counterclockwise.png and b/public/images/emoji/apple/arrows_counterclockwise.png differ diff --git a/public/images/emoji/apple/art.png b/public/images/emoji/apple/art.png index f345c87b4..bad8f800b 100644 Binary files a/public/images/emoji/apple/art.png and b/public/images/emoji/apple/art.png differ diff --git a/public/images/emoji/apple/articulated_lorry.png b/public/images/emoji/apple/articulated_lorry.png index 007ec2e0c..3a204fbfb 100644 Binary files a/public/images/emoji/apple/articulated_lorry.png and b/public/images/emoji/apple/articulated_lorry.png differ diff --git a/public/images/emoji/apple/astonished.png b/public/images/emoji/apple/astonished.png index 686fa1d80..1718adf14 100644 Binary files a/public/images/emoji/apple/astonished.png and b/public/images/emoji/apple/astonished.png differ diff --git a/public/images/emoji/apple/athletic_shoe.png b/public/images/emoji/apple/athletic_shoe.png index 7b6134e13..d48dccad6 100644 Binary files a/public/images/emoji/apple/athletic_shoe.png and b/public/images/emoji/apple/athletic_shoe.png differ diff --git a/public/images/emoji/apple/atm.png b/public/images/emoji/apple/atm.png index b64881b61..da14d6b59 100644 Binary files a/public/images/emoji/apple/atm.png and b/public/images/emoji/apple/atm.png differ diff --git a/public/images/emoji/apple/atom.png b/public/images/emoji/apple/atom.png index 21841ed31..a323052dd 100644 Binary files a/public/images/emoji/apple/atom.png and b/public/images/emoji/apple/atom.png differ diff --git a/public/images/emoji/apple/atom_symbol.png b/public/images/emoji/apple/atom_symbol.png new file mode 100644 index 000000000..a323052dd Binary files /dev/null and b/public/images/emoji/apple/atom_symbol.png differ diff --git a/public/images/emoji/apple/b.png b/public/images/emoji/apple/b.png index b7197fc93..26edd044c 100644 Binary files a/public/images/emoji/apple/b.png and b/public/images/emoji/apple/b.png differ diff --git a/public/images/emoji/apple/baby.png b/public/images/emoji/apple/baby.png index 0c0c3ae82..75159cf1b 100644 Binary files a/public/images/emoji/apple/baby.png and b/public/images/emoji/apple/baby.png differ diff --git a/public/images/emoji/apple/baby_bottle.png b/public/images/emoji/apple/baby_bottle.png index 97a3df19b..0ab4cbe1b 100644 Binary files a/public/images/emoji/apple/baby_bottle.png and b/public/images/emoji/apple/baby_bottle.png differ diff --git a/public/images/emoji/apple/baby_chick.png b/public/images/emoji/apple/baby_chick.png index e87ac1f41..d4710279c 100644 Binary files a/public/images/emoji/apple/baby_chick.png and b/public/images/emoji/apple/baby_chick.png differ diff --git a/public/images/emoji/apple/baby_symbol.png b/public/images/emoji/apple/baby_symbol.png index f8dc1e60a..0d28cea55 100644 Binary files a/public/images/emoji/apple/baby_symbol.png and b/public/images/emoji/apple/baby_symbol.png differ diff --git a/public/images/emoji/apple/back.png b/public/images/emoji/apple/back.png index 5e77f3395..140035bcc 100644 Binary files a/public/images/emoji/apple/back.png and b/public/images/emoji/apple/back.png differ diff --git a/public/images/emoji/apple/badminton.png b/public/images/emoji/apple/badminton.png index 477046374..37782ed2a 100644 Binary files a/public/images/emoji/apple/badminton.png and b/public/images/emoji/apple/badminton.png differ diff --git a/public/images/emoji/apple/baggage_claim.png b/public/images/emoji/apple/baggage_claim.png index d09348bcd..2528b527f 100644 Binary files a/public/images/emoji/apple/baggage_claim.png and b/public/images/emoji/apple/baggage_claim.png differ diff --git a/public/images/emoji/apple/balloon.png b/public/images/emoji/apple/balloon.png index 60dab8ace..49ef78adc 100644 Binary files a/public/images/emoji/apple/balloon.png and b/public/images/emoji/apple/balloon.png differ diff --git a/public/images/emoji/apple/ballot_box.png b/public/images/emoji/apple/ballot_box.png index e2ccbccd0..e8c267c5d 100644 Binary files a/public/images/emoji/apple/ballot_box.png and b/public/images/emoji/apple/ballot_box.png differ diff --git a/public/images/emoji/apple/ballot_box_with_ballot.png b/public/images/emoji/apple/ballot_box_with_ballot.png new file mode 100644 index 000000000..e8c267c5d Binary files /dev/null and b/public/images/emoji/apple/ballot_box_with_ballot.png differ diff --git a/public/images/emoji/apple/ballot_box_with_check.png b/public/images/emoji/apple/ballot_box_with_check.png index b3e3de194..6f24d4f64 100644 Binary files a/public/images/emoji/apple/ballot_box_with_check.png and b/public/images/emoji/apple/ballot_box_with_check.png differ diff --git a/public/images/emoji/apple/bamboo.png b/public/images/emoji/apple/bamboo.png index b099cef02..7417a9692 100644 Binary files a/public/images/emoji/apple/bamboo.png and b/public/images/emoji/apple/bamboo.png differ diff --git a/public/images/emoji/apple/banana.png b/public/images/emoji/apple/banana.png index 413f381fa..f0040f497 100644 Binary files a/public/images/emoji/apple/banana.png and b/public/images/emoji/apple/banana.png differ diff --git a/public/images/emoji/apple/bangbang.png b/public/images/emoji/apple/bangbang.png index befd4d7f1..e43d3ba44 100644 Binary files a/public/images/emoji/apple/bangbang.png and b/public/images/emoji/apple/bangbang.png differ diff --git a/public/images/emoji/apple/bank.png b/public/images/emoji/apple/bank.png index 82ad15fa2..4fce3c599 100644 Binary files a/public/images/emoji/apple/bank.png and b/public/images/emoji/apple/bank.png differ diff --git a/public/images/emoji/apple/bar_chart.png b/public/images/emoji/apple/bar_chart.png index ae99e9edf..53d327678 100644 Binary files a/public/images/emoji/apple/bar_chart.png and b/public/images/emoji/apple/bar_chart.png differ diff --git a/public/images/emoji/apple/barber.png b/public/images/emoji/apple/barber.png index 07abf74d1..acb0a5b80 100644 Binary files a/public/images/emoji/apple/barber.png and b/public/images/emoji/apple/barber.png differ diff --git a/public/images/emoji/apple/baseball.png b/public/images/emoji/apple/baseball.png index aecd20123..315ac1874 100644 Binary files a/public/images/emoji/apple/baseball.png and b/public/images/emoji/apple/baseball.png differ diff --git a/public/images/emoji/apple/basketball.png b/public/images/emoji/apple/basketball.png index 019695ab2..f037db4ba 100644 Binary files a/public/images/emoji/apple/basketball.png and b/public/images/emoji/apple/basketball.png differ diff --git a/public/images/emoji/apple/basketball_player.png b/public/images/emoji/apple/basketball_player.png index 244f3dd46..1a2255c2f 100644 Binary files a/public/images/emoji/apple/basketball_player.png and b/public/images/emoji/apple/basketball_player.png differ diff --git a/public/images/emoji/apple/bath.png b/public/images/emoji/apple/bath.png index 54787b135..9f53db472 100644 Binary files a/public/images/emoji/apple/bath.png and b/public/images/emoji/apple/bath.png differ diff --git a/public/images/emoji/apple/bathtub.png b/public/images/emoji/apple/bathtub.png index 2e521fe5a..247dbe109 100644 Binary files a/public/images/emoji/apple/bathtub.png and b/public/images/emoji/apple/bathtub.png differ diff --git a/public/images/emoji/apple/battery.png b/public/images/emoji/apple/battery.png index af5f26a09..1f489f521 100644 Binary files a/public/images/emoji/apple/battery.png and b/public/images/emoji/apple/battery.png differ diff --git a/public/images/emoji/apple/beach.png b/public/images/emoji/apple/beach.png index 680140501..1c2f59bae 100644 Binary files a/public/images/emoji/apple/beach.png and b/public/images/emoji/apple/beach.png differ diff --git a/public/images/emoji/apple/beach_umbrella.png b/public/images/emoji/apple/beach_umbrella.png index 8e380d70d..c51ce16d0 100644 Binary files a/public/images/emoji/apple/beach_umbrella.png and b/public/images/emoji/apple/beach_umbrella.png differ diff --git a/public/images/emoji/apple/beach_with_umbrella.png b/public/images/emoji/apple/beach_with_umbrella.png new file mode 100644 index 000000000..1c2f59bae Binary files /dev/null and b/public/images/emoji/apple/beach_with_umbrella.png differ diff --git a/public/images/emoji/apple/bear.png b/public/images/emoji/apple/bear.png index 925b52328..331905dc2 100644 Binary files a/public/images/emoji/apple/bear.png and b/public/images/emoji/apple/bear.png differ diff --git a/public/images/emoji/apple/bed.png b/public/images/emoji/apple/bed.png index 94261fa5a..5090810a1 100644 Binary files a/public/images/emoji/apple/bed.png and b/public/images/emoji/apple/bed.png differ diff --git a/public/images/emoji/apple/bee.png b/public/images/emoji/apple/bee.png index 159767fd7..e0509aaae 100644 Binary files a/public/images/emoji/apple/bee.png and b/public/images/emoji/apple/bee.png differ diff --git a/public/images/emoji/apple/beer.png b/public/images/emoji/apple/beer.png index 702cafa79..ba1601298 100644 Binary files a/public/images/emoji/apple/beer.png and b/public/images/emoji/apple/beer.png differ diff --git a/public/images/emoji/apple/beers.png b/public/images/emoji/apple/beers.png index 43ed5c9a3..3a1d92b5a 100644 Binary files a/public/images/emoji/apple/beers.png and b/public/images/emoji/apple/beers.png differ diff --git a/public/images/emoji/apple/beetle.png b/public/images/emoji/apple/beetle.png index ef0cd1949..17db97019 100644 Binary files a/public/images/emoji/apple/beetle.png and b/public/images/emoji/apple/beetle.png differ diff --git a/public/images/emoji/apple/beginner.png b/public/images/emoji/apple/beginner.png index d8dd3b2b6..6b1de97e4 100644 Binary files a/public/images/emoji/apple/beginner.png and b/public/images/emoji/apple/beginner.png differ diff --git a/public/images/emoji/apple/bell.png b/public/images/emoji/apple/bell.png index 4802b3031..2cf876bf9 100644 Binary files a/public/images/emoji/apple/bell.png and b/public/images/emoji/apple/bell.png differ diff --git a/public/images/emoji/apple/bellhop.png b/public/images/emoji/apple/bellhop.png index 77900e721..577cbe34b 100644 Binary files a/public/images/emoji/apple/bellhop.png and b/public/images/emoji/apple/bellhop.png differ diff --git a/public/images/emoji/apple/bellhop_bell.png b/public/images/emoji/apple/bellhop_bell.png new file mode 100644 index 000000000..577cbe34b Binary files /dev/null and b/public/images/emoji/apple/bellhop_bell.png differ diff --git a/public/images/emoji/apple/bento.png b/public/images/emoji/apple/bento.png index 870caf2cc..223bad748 100644 Binary files a/public/images/emoji/apple/bento.png and b/public/images/emoji/apple/bento.png differ diff --git a/public/images/emoji/apple/bicyclist.png b/public/images/emoji/apple/bicyclist.png index d5ff1d25c..433c9308a 100644 Binary files a/public/images/emoji/apple/bicyclist.png and b/public/images/emoji/apple/bicyclist.png differ diff --git a/public/images/emoji/apple/bike.png b/public/images/emoji/apple/bike.png index 159434100..717e60719 100644 Binary files a/public/images/emoji/apple/bike.png and b/public/images/emoji/apple/bike.png differ diff --git a/public/images/emoji/apple/bikini.png b/public/images/emoji/apple/bikini.png index 6566eea74..e9d8a9c1d 100644 Binary files a/public/images/emoji/apple/bikini.png and b/public/images/emoji/apple/bikini.png differ diff --git a/public/images/emoji/apple/biohazard.png b/public/images/emoji/apple/biohazard.png index 9fae39a84..fbb8f7719 100644 Binary files a/public/images/emoji/apple/biohazard.png and b/public/images/emoji/apple/biohazard.png differ diff --git a/public/images/emoji/apple/biohazard_sign.png b/public/images/emoji/apple/biohazard_sign.png new file mode 100644 index 000000000..fbb8f7719 Binary files /dev/null and b/public/images/emoji/apple/biohazard_sign.png differ diff --git a/public/images/emoji/apple/bird.png b/public/images/emoji/apple/bird.png index f7e03019c..d0736d873 100644 Binary files a/public/images/emoji/apple/bird.png and b/public/images/emoji/apple/bird.png differ diff --git a/public/images/emoji/apple/birthday.png b/public/images/emoji/apple/birthday.png index 5ca25183a..0a9b035d8 100644 Binary files a/public/images/emoji/apple/birthday.png and b/public/images/emoji/apple/birthday.png differ diff --git a/public/images/emoji/apple/black_circle.png b/public/images/emoji/apple/black_circle.png index e5541f80c..f98c9996b 100644 Binary files a/public/images/emoji/apple/black_circle.png and b/public/images/emoji/apple/black_circle.png differ diff --git a/public/images/emoji/apple/black_joker.png b/public/images/emoji/apple/black_joker.png index 833963644..86af5a28e 100644 Binary files a/public/images/emoji/apple/black_joker.png and b/public/images/emoji/apple/black_joker.png differ diff --git a/public/images/emoji/apple/black_large_square.png b/public/images/emoji/apple/black_large_square.png index 31f626e91..84a0d2fa6 100644 Binary files a/public/images/emoji/apple/black_large_square.png and b/public/images/emoji/apple/black_large_square.png differ diff --git a/public/images/emoji/apple/black_medium_small_square.png b/public/images/emoji/apple/black_medium_small_square.png index a028beea0..d943d06a5 100644 Binary files a/public/images/emoji/apple/black_medium_small_square.png and b/public/images/emoji/apple/black_medium_small_square.png differ diff --git a/public/images/emoji/apple/black_medium_square.png b/public/images/emoji/apple/black_medium_square.png index 31f626e91..84a0d2fa6 100644 Binary files a/public/images/emoji/apple/black_medium_square.png and b/public/images/emoji/apple/black_medium_square.png differ diff --git a/public/images/emoji/apple/black_nib.png b/public/images/emoji/apple/black_nib.png index 579e3ba53..e7cd942f5 100644 Binary files a/public/images/emoji/apple/black_nib.png and b/public/images/emoji/apple/black_nib.png differ diff --git a/public/images/emoji/apple/black_small_square.png b/public/images/emoji/apple/black_small_square.png index 997ae3f0a..e2a54c565 100644 Binary files a/public/images/emoji/apple/black_small_square.png and b/public/images/emoji/apple/black_small_square.png differ diff --git a/public/images/emoji/apple/black_square_button.png b/public/images/emoji/apple/black_square_button.png index d2d1fc3ab..d97c2ff9a 100644 Binary files a/public/images/emoji/apple/black_square_button.png and b/public/images/emoji/apple/black_square_button.png differ diff --git a/public/images/emoji/apple/blossom.png b/public/images/emoji/apple/blossom.png index 7f3908975..a96731983 100644 Binary files a/public/images/emoji/apple/blossom.png and b/public/images/emoji/apple/blossom.png differ diff --git a/public/images/emoji/apple/blowfish.png b/public/images/emoji/apple/blowfish.png index d378bdc03..43f70ff72 100644 Binary files a/public/images/emoji/apple/blowfish.png and b/public/images/emoji/apple/blowfish.png differ diff --git a/public/images/emoji/apple/blue_book.png b/public/images/emoji/apple/blue_book.png index 089dd74de..267b2943f 100644 Binary files a/public/images/emoji/apple/blue_book.png and b/public/images/emoji/apple/blue_book.png differ diff --git a/public/images/emoji/apple/blue_car.png b/public/images/emoji/apple/blue_car.png index e0410f48c..df80973a6 100644 Binary files a/public/images/emoji/apple/blue_car.png and b/public/images/emoji/apple/blue_car.png differ diff --git a/public/images/emoji/apple/blue_heart.png b/public/images/emoji/apple/blue_heart.png index 73b7709b0..a4cf344e4 100644 Binary files a/public/images/emoji/apple/blue_heart.png and b/public/images/emoji/apple/blue_heart.png differ diff --git a/public/images/emoji/apple/blush.png b/public/images/emoji/apple/blush.png index 5a831ac92..4bb9798c5 100644 Binary files a/public/images/emoji/apple/blush.png and b/public/images/emoji/apple/blush.png differ diff --git a/public/images/emoji/apple/boar.png b/public/images/emoji/apple/boar.png index 2974cecd6..ffaa088a2 100644 Binary files a/public/images/emoji/apple/boar.png and b/public/images/emoji/apple/boar.png differ diff --git a/public/images/emoji/apple/boat.png b/public/images/emoji/apple/boat.png deleted file mode 100644 index eb287c5b6..000000000 Binary files a/public/images/emoji/apple/boat.png and /dev/null differ diff --git a/public/images/emoji/apple/bomb.png b/public/images/emoji/apple/bomb.png index 48d02ab0d..3755db856 100644 Binary files a/public/images/emoji/apple/bomb.png and b/public/images/emoji/apple/bomb.png differ diff --git a/public/images/emoji/apple/book.png b/public/images/emoji/apple/book.png index ecb6184ae..391c841ab 100644 Binary files a/public/images/emoji/apple/book.png and b/public/images/emoji/apple/book.png differ diff --git a/public/images/emoji/apple/bookmark.png b/public/images/emoji/apple/bookmark.png index 2f0e8dea9..74519e300 100644 Binary files a/public/images/emoji/apple/bookmark.png and b/public/images/emoji/apple/bookmark.png differ diff --git a/public/images/emoji/apple/bookmark_tabs.png b/public/images/emoji/apple/bookmark_tabs.png index dc5340017..0d1c7ab0b 100644 Binary files a/public/images/emoji/apple/bookmark_tabs.png and b/public/images/emoji/apple/bookmark_tabs.png differ diff --git a/public/images/emoji/apple/books.png b/public/images/emoji/apple/books.png index e239d2172..35192eae7 100644 Binary files a/public/images/emoji/apple/books.png and b/public/images/emoji/apple/books.png differ diff --git a/public/images/emoji/apple/boom.png b/public/images/emoji/apple/boom.png index 99addec4c..84e4eab20 100644 Binary files a/public/images/emoji/apple/boom.png and b/public/images/emoji/apple/boom.png differ diff --git a/public/images/emoji/apple/boot.png b/public/images/emoji/apple/boot.png index aaf892467..abf99111a 100644 Binary files a/public/images/emoji/apple/boot.png and b/public/images/emoji/apple/boot.png differ diff --git a/public/images/emoji/apple/bottle_with_popping_cork.png b/public/images/emoji/apple/bottle_with_popping_cork.png new file mode 100644 index 000000000..dbe277262 Binary files /dev/null and b/public/images/emoji/apple/bottle_with_popping_cork.png differ diff --git a/public/images/emoji/apple/bouquet.png b/public/images/emoji/apple/bouquet.png index 57fea11af..9311734ff 100644 Binary files a/public/images/emoji/apple/bouquet.png and b/public/images/emoji/apple/bouquet.png differ diff --git a/public/images/emoji/apple/bow.png b/public/images/emoji/apple/bow.png index 43b6207ed..fa7f18692 100644 Binary files a/public/images/emoji/apple/bow.png and b/public/images/emoji/apple/bow.png differ diff --git a/public/images/emoji/apple/bow_and_arrow.png b/public/images/emoji/apple/bow_and_arrow.png index b0c8684dd..ef65fe6dd 100644 Binary files a/public/images/emoji/apple/bow_and_arrow.png and b/public/images/emoji/apple/bow_and_arrow.png differ diff --git a/public/images/emoji/apple/bowling.png b/public/images/emoji/apple/bowling.png index 8b969e1ca..61c185c3c 100644 Binary files a/public/images/emoji/apple/bowling.png and b/public/images/emoji/apple/bowling.png differ diff --git a/public/images/emoji/apple/boy.png b/public/images/emoji/apple/boy.png index fcc541028..6066d8263 100644 Binary files a/public/images/emoji/apple/boy.png and b/public/images/emoji/apple/boy.png differ diff --git a/public/images/emoji/apple/bread.png b/public/images/emoji/apple/bread.png index 44c918a07..b2aa3201d 100644 Binary files a/public/images/emoji/apple/bread.png and b/public/images/emoji/apple/bread.png differ diff --git a/public/images/emoji/apple/bride_with_veil.png b/public/images/emoji/apple/bride_with_veil.png index a1b102b27..f9ce59af3 100644 Binary files a/public/images/emoji/apple/bride_with_veil.png and b/public/images/emoji/apple/bride_with_veil.png differ diff --git a/public/images/emoji/apple/bridge_at_night.png b/public/images/emoji/apple/bridge_at_night.png index 7127b29b9..b617726df 100644 Binary files a/public/images/emoji/apple/bridge_at_night.png and b/public/images/emoji/apple/bridge_at_night.png differ diff --git a/public/images/emoji/apple/briefcase.png b/public/images/emoji/apple/briefcase.png index 4426203b2..14e8a9a84 100644 Binary files a/public/images/emoji/apple/briefcase.png and b/public/images/emoji/apple/briefcase.png differ diff --git a/public/images/emoji/apple/broken_heart.png b/public/images/emoji/apple/broken_heart.png index e6ad962ba..37a3e94ed 100644 Binary files a/public/images/emoji/apple/broken_heart.png and b/public/images/emoji/apple/broken_heart.png differ diff --git a/public/images/emoji/apple/bug.png b/public/images/emoji/apple/bug.png index 8a246a24a..50335d265 100644 Binary files a/public/images/emoji/apple/bug.png and b/public/images/emoji/apple/bug.png differ diff --git a/public/images/emoji/apple/building_construction.png b/public/images/emoji/apple/building_construction.png new file mode 100644 index 000000000..14d63982e Binary files /dev/null and b/public/images/emoji/apple/building_construction.png differ diff --git a/public/images/emoji/apple/bulb.png b/public/images/emoji/apple/bulb.png index ed48aa202..a44f2810b 100644 Binary files a/public/images/emoji/apple/bulb.png and b/public/images/emoji/apple/bulb.png differ diff --git a/public/images/emoji/apple/bullettrain_front.png b/public/images/emoji/apple/bullettrain_front.png index 7eb8a87eb..36b564fc0 100644 Binary files a/public/images/emoji/apple/bullettrain_front.png and b/public/images/emoji/apple/bullettrain_front.png differ diff --git a/public/images/emoji/apple/bullettrain_side.png b/public/images/emoji/apple/bullettrain_side.png index 6a55cceee..af98c363f 100644 Binary files a/public/images/emoji/apple/bullettrain_side.png and b/public/images/emoji/apple/bullettrain_side.png differ diff --git a/public/images/emoji/apple/burrito.png b/public/images/emoji/apple/burrito.png index 18f30ae5a..4c0cfc22f 100644 Binary files a/public/images/emoji/apple/burrito.png and b/public/images/emoji/apple/burrito.png differ diff --git a/public/images/emoji/apple/bus.png b/public/images/emoji/apple/bus.png index 239bbada4..0b89d0f34 100644 Binary files a/public/images/emoji/apple/bus.png and b/public/images/emoji/apple/bus.png differ diff --git a/public/images/emoji/apple/busstop.png b/public/images/emoji/apple/busstop.png index 30f11b5be..1cf76225d 100644 Binary files a/public/images/emoji/apple/busstop.png and b/public/images/emoji/apple/busstop.png differ diff --git a/public/images/emoji/apple/bust_in_silhouette.png b/public/images/emoji/apple/bust_in_silhouette.png index 68135444c..89da0628a 100644 Binary files a/public/images/emoji/apple/bust_in_silhouette.png and b/public/images/emoji/apple/bust_in_silhouette.png differ diff --git a/public/images/emoji/apple/busts_in_silhouette.png b/public/images/emoji/apple/busts_in_silhouette.png index 5b76c5b67..bdc1736d2 100644 Binary files a/public/images/emoji/apple/busts_in_silhouette.png and b/public/images/emoji/apple/busts_in_silhouette.png differ diff --git a/public/images/emoji/apple/cactus.png b/public/images/emoji/apple/cactus.png index 157b09e00..dfe4e4a0f 100644 Binary files a/public/images/emoji/apple/cactus.png and b/public/images/emoji/apple/cactus.png differ diff --git a/public/images/emoji/apple/cake.png b/public/images/emoji/apple/cake.png index cc1d3ebe1..4428361a5 100644 Binary files a/public/images/emoji/apple/cake.png and b/public/images/emoji/apple/cake.png differ diff --git a/public/images/emoji/apple/calendar.png b/public/images/emoji/apple/calendar.png index 17011ce97..8aa77273b 100644 Binary files a/public/images/emoji/apple/calendar.png and b/public/images/emoji/apple/calendar.png differ diff --git a/public/images/emoji/apple/calendar_spiral.png b/public/images/emoji/apple/calendar_spiral.png index 9f0d0f20a..429d7c7f6 100644 Binary files a/public/images/emoji/apple/calendar_spiral.png and b/public/images/emoji/apple/calendar_spiral.png differ diff --git a/public/images/emoji/apple/calling.png b/public/images/emoji/apple/calling.png index a54fe1c8a..90af84981 100644 Binary files a/public/images/emoji/apple/calling.png and b/public/images/emoji/apple/calling.png differ diff --git a/public/images/emoji/apple/camel.png b/public/images/emoji/apple/camel.png index d76fb634d..50a7dd017 100644 Binary files a/public/images/emoji/apple/camel.png and b/public/images/emoji/apple/camel.png differ diff --git a/public/images/emoji/apple/camera.png b/public/images/emoji/apple/camera.png index 6d6167bd0..d503e31bb 100644 Binary files a/public/images/emoji/apple/camera.png and b/public/images/emoji/apple/camera.png differ diff --git a/public/images/emoji/apple/camera_with_flash.png b/public/images/emoji/apple/camera_with_flash.png index 1689926e2..bd0a8a392 100644 Binary files a/public/images/emoji/apple/camera_with_flash.png and b/public/images/emoji/apple/camera_with_flash.png differ diff --git a/public/images/emoji/apple/camping.png b/public/images/emoji/apple/camping.png index 463e13d77..174bd3ee8 100644 Binary files a/public/images/emoji/apple/camping.png and b/public/images/emoji/apple/camping.png differ diff --git a/public/images/emoji/apple/cancer.png b/public/images/emoji/apple/cancer.png index 69861d869..a90f0e650 100644 Binary files a/public/images/emoji/apple/cancer.png and b/public/images/emoji/apple/cancer.png differ diff --git a/public/images/emoji/apple/candle.png b/public/images/emoji/apple/candle.png index db982079a..4446a621d 100644 Binary files a/public/images/emoji/apple/candle.png and b/public/images/emoji/apple/candle.png differ diff --git a/public/images/emoji/apple/candy.png b/public/images/emoji/apple/candy.png index 79e58f148..4e3c3e6be 100644 Binary files a/public/images/emoji/apple/candy.png and b/public/images/emoji/apple/candy.png differ diff --git a/public/images/emoji/apple/capital_abcd.png b/public/images/emoji/apple/capital_abcd.png index 3bab75ef3..e272c4e0b 100644 Binary files a/public/images/emoji/apple/capital_abcd.png and b/public/images/emoji/apple/capital_abcd.png differ diff --git a/public/images/emoji/apple/capricorn.png b/public/images/emoji/apple/capricorn.png index a462de1ed..f3542a3eb 100644 Binary files a/public/images/emoji/apple/capricorn.png and b/public/images/emoji/apple/capricorn.png differ diff --git a/public/images/emoji/apple/car.png b/public/images/emoji/apple/car.png deleted file mode 100644 index 071fae450..000000000 Binary files a/public/images/emoji/apple/car.png and /dev/null differ diff --git a/public/images/emoji/apple/card_box.png b/public/images/emoji/apple/card_box.png index 851c3b2f5..0ff13b06d 100644 Binary files a/public/images/emoji/apple/card_box.png and b/public/images/emoji/apple/card_box.png differ diff --git a/public/images/emoji/apple/card_file_box.png b/public/images/emoji/apple/card_file_box.png new file mode 100644 index 000000000..0ff13b06d Binary files /dev/null and b/public/images/emoji/apple/card_file_box.png differ diff --git a/public/images/emoji/apple/card_index.png b/public/images/emoji/apple/card_index.png index c673bcb17..d2015b86a 100644 Binary files a/public/images/emoji/apple/card_index.png and b/public/images/emoji/apple/card_index.png differ diff --git a/public/images/emoji/apple/card_index_dividers.png b/public/images/emoji/apple/card_index_dividers.png new file mode 100644 index 000000000..d0d539014 Binary files /dev/null and b/public/images/emoji/apple/card_index_dividers.png differ diff --git a/public/images/emoji/apple/carousel_horse.png b/public/images/emoji/apple/carousel_horse.png index 9c847f73e..c17c84663 100644 Binary files a/public/images/emoji/apple/carousel_horse.png and b/public/images/emoji/apple/carousel_horse.png differ diff --git a/public/images/emoji/apple/cat.png b/public/images/emoji/apple/cat.png index 9e08fee54..e6a29d537 100644 Binary files a/public/images/emoji/apple/cat.png and b/public/images/emoji/apple/cat.png differ diff --git a/public/images/emoji/apple/cat2.png b/public/images/emoji/apple/cat2.png index be2665d81..ee29eb046 100644 Binary files a/public/images/emoji/apple/cat2.png and b/public/images/emoji/apple/cat2.png differ diff --git a/public/images/emoji/apple/cd.png b/public/images/emoji/apple/cd.png index 290d945f8..1bbe09340 100644 Binary files a/public/images/emoji/apple/cd.png and b/public/images/emoji/apple/cd.png differ diff --git a/public/images/emoji/apple/chains.png b/public/images/emoji/apple/chains.png index dadbfd85e..1642ce388 100644 Binary files a/public/images/emoji/apple/chains.png and b/public/images/emoji/apple/chains.png differ diff --git a/public/images/emoji/apple/champagne.png b/public/images/emoji/apple/champagne.png index 21240556f..dbe277262 100644 Binary files a/public/images/emoji/apple/champagne.png and b/public/images/emoji/apple/champagne.png differ diff --git a/public/images/emoji/apple/chart.png b/public/images/emoji/apple/chart.png index 68a62f366..b90949583 100644 Binary files a/public/images/emoji/apple/chart.png and b/public/images/emoji/apple/chart.png differ diff --git a/public/images/emoji/apple/chart_with_downwards_trend.png b/public/images/emoji/apple/chart_with_downwards_trend.png index c4caeef99..b9dcdfc4a 100644 Binary files a/public/images/emoji/apple/chart_with_downwards_trend.png and b/public/images/emoji/apple/chart_with_downwards_trend.png differ diff --git a/public/images/emoji/apple/chart_with_upwards_trend.png b/public/images/emoji/apple/chart_with_upwards_trend.png index 80ba49b0d..53226a9e2 100644 Binary files a/public/images/emoji/apple/chart_with_upwards_trend.png and b/public/images/emoji/apple/chart_with_upwards_trend.png differ diff --git a/public/images/emoji/apple/checkered_flag.png b/public/images/emoji/apple/checkered_flag.png index e1a2d1924..198f618bc 100644 Binary files a/public/images/emoji/apple/checkered_flag.png and b/public/images/emoji/apple/checkered_flag.png differ diff --git a/public/images/emoji/apple/cheese.png b/public/images/emoji/apple/cheese.png index f397292e1..4c4864ff9 100644 Binary files a/public/images/emoji/apple/cheese.png and b/public/images/emoji/apple/cheese.png differ diff --git a/public/images/emoji/apple/cheese_wedge.png b/public/images/emoji/apple/cheese_wedge.png new file mode 100644 index 000000000..4c4864ff9 Binary files /dev/null and b/public/images/emoji/apple/cheese_wedge.png differ diff --git a/public/images/emoji/apple/cherries.png b/public/images/emoji/apple/cherries.png index 3a0756075..fac8d2145 100644 Binary files a/public/images/emoji/apple/cherries.png and b/public/images/emoji/apple/cherries.png differ diff --git a/public/images/emoji/apple/cherry_blossom.png b/public/images/emoji/apple/cherry_blossom.png index 5ad229a33..2dffbe2fb 100644 Binary files a/public/images/emoji/apple/cherry_blossom.png and b/public/images/emoji/apple/cherry_blossom.png differ diff --git a/public/images/emoji/apple/chestnut.png b/public/images/emoji/apple/chestnut.png index 2a701177b..d068960b3 100644 Binary files a/public/images/emoji/apple/chestnut.png and b/public/images/emoji/apple/chestnut.png differ diff --git a/public/images/emoji/apple/chicken.png b/public/images/emoji/apple/chicken.png index fad2445a7..e61c435cb 100644 Binary files a/public/images/emoji/apple/chicken.png and b/public/images/emoji/apple/chicken.png differ diff --git a/public/images/emoji/apple/children_crossing.png b/public/images/emoji/apple/children_crossing.png index edef251fc..3f9623137 100644 Binary files a/public/images/emoji/apple/children_crossing.png and b/public/images/emoji/apple/children_crossing.png differ diff --git a/public/images/emoji/apple/chipmunk.png b/public/images/emoji/apple/chipmunk.png index e3d61a381..e4d70c358 100644 Binary files a/public/images/emoji/apple/chipmunk.png and b/public/images/emoji/apple/chipmunk.png differ diff --git a/public/images/emoji/apple/chocolate_bar.png b/public/images/emoji/apple/chocolate_bar.png index ebe856e81..7e3af6d9e 100644 Binary files a/public/images/emoji/apple/chocolate_bar.png and b/public/images/emoji/apple/chocolate_bar.png differ diff --git a/public/images/emoji/apple/christmas_tree.png b/public/images/emoji/apple/christmas_tree.png index 7cb544871..73370fcaf 100644 Binary files a/public/images/emoji/apple/christmas_tree.png and b/public/images/emoji/apple/christmas_tree.png differ diff --git a/public/images/emoji/apple/church.png b/public/images/emoji/apple/church.png index 2297e999d..dc8920342 100644 Binary files a/public/images/emoji/apple/church.png and b/public/images/emoji/apple/church.png differ diff --git a/public/images/emoji/apple/cinema.png b/public/images/emoji/apple/cinema.png index 1a54e0626..2048f3f93 100644 Binary files a/public/images/emoji/apple/cinema.png and b/public/images/emoji/apple/cinema.png differ diff --git a/public/images/emoji/apple/circus_tent.png b/public/images/emoji/apple/circus_tent.png index f2b9cb54b..caee203ac 100644 Binary files a/public/images/emoji/apple/circus_tent.png and b/public/images/emoji/apple/circus_tent.png differ diff --git a/public/images/emoji/apple/city_dusk.png b/public/images/emoji/apple/city_dusk.png index e9841b414..99de2a775 100644 Binary files a/public/images/emoji/apple/city_dusk.png and b/public/images/emoji/apple/city_dusk.png differ diff --git a/public/images/emoji/apple/city_sunrise.png b/public/images/emoji/apple/city_sunrise.png index 1734e0de4..6468d224f 100644 Binary files a/public/images/emoji/apple/city_sunrise.png and b/public/images/emoji/apple/city_sunrise.png differ diff --git a/public/images/emoji/apple/city_sunset.png b/public/images/emoji/apple/city_sunset.png index b22139a82..6468d224f 100644 Binary files a/public/images/emoji/apple/city_sunset.png and b/public/images/emoji/apple/city_sunset.png differ diff --git a/public/images/emoji/apple/cityscape.png b/public/images/emoji/apple/cityscape.png index 023e1049d..a45698937 100644 Binary files a/public/images/emoji/apple/cityscape.png and b/public/images/emoji/apple/cityscape.png differ diff --git a/public/images/emoji/apple/cl.png b/public/images/emoji/apple/cl.png index 556ed6d4e..cafc3c4ac 100644 Binary files a/public/images/emoji/apple/cl.png and b/public/images/emoji/apple/cl.png differ diff --git a/public/images/emoji/apple/clap.png b/public/images/emoji/apple/clap.png index bda5909b3..151907c90 100644 Binary files a/public/images/emoji/apple/clap.png and b/public/images/emoji/apple/clap.png differ diff --git a/public/images/emoji/apple/clapper.png b/public/images/emoji/apple/clapper.png index 7e0182660..55ca046c0 100644 Binary files a/public/images/emoji/apple/clapper.png and b/public/images/emoji/apple/clapper.png differ diff --git a/public/images/emoji/apple/classical_building.png b/public/images/emoji/apple/classical_building.png index dd1bc910e..fcb8e87b5 100644 Binary files a/public/images/emoji/apple/classical_building.png and b/public/images/emoji/apple/classical_building.png differ diff --git a/public/images/emoji/apple/clipboard.png b/public/images/emoji/apple/clipboard.png index ba5c67b64..e28fb3d1e 100644 Binary files a/public/images/emoji/apple/clipboard.png and b/public/images/emoji/apple/clipboard.png differ diff --git a/public/images/emoji/apple/clock.png b/public/images/emoji/apple/clock.png index 03bbdaf3c..be2924b47 100644 Binary files a/public/images/emoji/apple/clock.png and b/public/images/emoji/apple/clock.png differ diff --git a/public/images/emoji/apple/clock1.png b/public/images/emoji/apple/clock1.png index 28f660a07..9ef8572bd 100644 Binary files a/public/images/emoji/apple/clock1.png and b/public/images/emoji/apple/clock1.png differ diff --git a/public/images/emoji/apple/clock10.png b/public/images/emoji/apple/clock10.png index 2dc44e8d8..b6979bc61 100644 Binary files a/public/images/emoji/apple/clock10.png and b/public/images/emoji/apple/clock10.png differ diff --git a/public/images/emoji/apple/clock1030.png b/public/images/emoji/apple/clock1030.png index 94f59501d..e81438ce2 100644 Binary files a/public/images/emoji/apple/clock1030.png and b/public/images/emoji/apple/clock1030.png differ diff --git a/public/images/emoji/apple/clock11.png b/public/images/emoji/apple/clock11.png index faababb8f..b556f5a7c 100644 Binary files a/public/images/emoji/apple/clock11.png and b/public/images/emoji/apple/clock11.png differ diff --git a/public/images/emoji/apple/clock1130.png b/public/images/emoji/apple/clock1130.png index 1b7db339c..48515bdcc 100644 Binary files a/public/images/emoji/apple/clock1130.png and b/public/images/emoji/apple/clock1130.png differ diff --git a/public/images/emoji/apple/clock12.png b/public/images/emoji/apple/clock12.png index c09a632d6..f6fe8aded 100644 Binary files a/public/images/emoji/apple/clock12.png and b/public/images/emoji/apple/clock12.png differ diff --git a/public/images/emoji/apple/clock1230.png b/public/images/emoji/apple/clock1230.png index 5fc14653d..2402cb452 100644 Binary files a/public/images/emoji/apple/clock1230.png and b/public/images/emoji/apple/clock1230.png differ diff --git a/public/images/emoji/apple/clock130.png b/public/images/emoji/apple/clock130.png index 2ed88c5a4..b5dbdf51a 100644 Binary files a/public/images/emoji/apple/clock130.png and b/public/images/emoji/apple/clock130.png differ diff --git a/public/images/emoji/apple/clock2.png b/public/images/emoji/apple/clock2.png index 5e91548b1..0bfb5f8ae 100644 Binary files a/public/images/emoji/apple/clock2.png and b/public/images/emoji/apple/clock2.png differ diff --git a/public/images/emoji/apple/clock230.png b/public/images/emoji/apple/clock230.png index c3d412cb2..0960b1e5b 100644 Binary files a/public/images/emoji/apple/clock230.png and b/public/images/emoji/apple/clock230.png differ diff --git a/public/images/emoji/apple/clock3.png b/public/images/emoji/apple/clock3.png index b297e3a25..91df69680 100644 Binary files a/public/images/emoji/apple/clock3.png and b/public/images/emoji/apple/clock3.png differ diff --git a/public/images/emoji/apple/clock330.png b/public/images/emoji/apple/clock330.png index 3690bfcee..f35a4db5a 100644 Binary files a/public/images/emoji/apple/clock330.png and b/public/images/emoji/apple/clock330.png differ diff --git a/public/images/emoji/apple/clock4.png b/public/images/emoji/apple/clock4.png index f6082076d..56717575e 100644 Binary files a/public/images/emoji/apple/clock4.png and b/public/images/emoji/apple/clock4.png differ diff --git a/public/images/emoji/apple/clock430.png b/public/images/emoji/apple/clock430.png index 5128b2928..c7dd9b2d8 100644 Binary files a/public/images/emoji/apple/clock430.png and b/public/images/emoji/apple/clock430.png differ diff --git a/public/images/emoji/apple/clock5.png b/public/images/emoji/apple/clock5.png index d2afd880b..9e52ad360 100644 Binary files a/public/images/emoji/apple/clock5.png and b/public/images/emoji/apple/clock5.png differ diff --git a/public/images/emoji/apple/clock530.png b/public/images/emoji/apple/clock530.png index e88250e7e..15752975c 100644 Binary files a/public/images/emoji/apple/clock530.png and b/public/images/emoji/apple/clock530.png differ diff --git a/public/images/emoji/apple/clock6.png b/public/images/emoji/apple/clock6.png index b2b80f982..2fd77dd60 100644 Binary files a/public/images/emoji/apple/clock6.png and b/public/images/emoji/apple/clock6.png differ diff --git a/public/images/emoji/apple/clock630.png b/public/images/emoji/apple/clock630.png index b11d43ab0..2a11b8a97 100644 Binary files a/public/images/emoji/apple/clock630.png and b/public/images/emoji/apple/clock630.png differ diff --git a/public/images/emoji/apple/clock7.png b/public/images/emoji/apple/clock7.png index 2eab5c3b2..fdffbf56a 100644 Binary files a/public/images/emoji/apple/clock7.png and b/public/images/emoji/apple/clock7.png differ diff --git a/public/images/emoji/apple/clock730.png b/public/images/emoji/apple/clock730.png index 3761cd531..722b71eeb 100644 Binary files a/public/images/emoji/apple/clock730.png and b/public/images/emoji/apple/clock730.png differ diff --git a/public/images/emoji/apple/clock8.png b/public/images/emoji/apple/clock8.png index 35cf193e5..d11523066 100644 Binary files a/public/images/emoji/apple/clock8.png and b/public/images/emoji/apple/clock8.png differ diff --git a/public/images/emoji/apple/clock830.png b/public/images/emoji/apple/clock830.png index f5671ce76..b8e25880f 100644 Binary files a/public/images/emoji/apple/clock830.png and b/public/images/emoji/apple/clock830.png differ diff --git a/public/images/emoji/apple/clock9.png b/public/images/emoji/apple/clock9.png index 9c2619388..415a1e67d 100644 Binary files a/public/images/emoji/apple/clock9.png and b/public/images/emoji/apple/clock9.png differ diff --git a/public/images/emoji/apple/clock930.png b/public/images/emoji/apple/clock930.png index 7fdecf5b9..fa642f18b 100644 Binary files a/public/images/emoji/apple/clock930.png and b/public/images/emoji/apple/clock930.png differ diff --git a/public/images/emoji/apple/closed_book.png b/public/images/emoji/apple/closed_book.png index 0878f3efa..28b63bfd3 100644 Binary files a/public/images/emoji/apple/closed_book.png and b/public/images/emoji/apple/closed_book.png differ diff --git a/public/images/emoji/apple/closed_lock_with_key.png b/public/images/emoji/apple/closed_lock_with_key.png index a6108835b..d22e1045d 100644 Binary files a/public/images/emoji/apple/closed_lock_with_key.png and b/public/images/emoji/apple/closed_lock_with_key.png differ diff --git a/public/images/emoji/apple/closed_umbrella.png b/public/images/emoji/apple/closed_umbrella.png index 025199038..db519d65c 100644 Binary files a/public/images/emoji/apple/closed_umbrella.png and b/public/images/emoji/apple/closed_umbrella.png differ diff --git a/public/images/emoji/apple/cloud.png b/public/images/emoji/apple/cloud.png index dc011b239..856b01476 100644 Binary files a/public/images/emoji/apple/cloud.png and b/public/images/emoji/apple/cloud.png differ diff --git a/public/images/emoji/apple/cloud_lightning.png b/public/images/emoji/apple/cloud_lightning.png index 637f618d0..d36ee5cbe 100644 Binary files a/public/images/emoji/apple/cloud_lightning.png and b/public/images/emoji/apple/cloud_lightning.png differ diff --git a/public/images/emoji/apple/cloud_rain.png b/public/images/emoji/apple/cloud_rain.png index 704e3fa82..cf588e7c4 100644 Binary files a/public/images/emoji/apple/cloud_rain.png and b/public/images/emoji/apple/cloud_rain.png differ diff --git a/public/images/emoji/apple/cloud_snow.png b/public/images/emoji/apple/cloud_snow.png index a502b63a4..4ce2e4907 100644 Binary files a/public/images/emoji/apple/cloud_snow.png and b/public/images/emoji/apple/cloud_snow.png differ diff --git a/public/images/emoji/apple/cloud_tornado.png b/public/images/emoji/apple/cloud_tornado.png index df48b70f5..a6439ab68 100644 Binary files a/public/images/emoji/apple/cloud_tornado.png and b/public/images/emoji/apple/cloud_tornado.png differ diff --git a/public/images/emoji/apple/cloud_with_lightning.png b/public/images/emoji/apple/cloud_with_lightning.png new file mode 100644 index 000000000..d36ee5cbe Binary files /dev/null and b/public/images/emoji/apple/cloud_with_lightning.png differ diff --git a/public/images/emoji/apple/cloud_with_rain.png b/public/images/emoji/apple/cloud_with_rain.png new file mode 100644 index 000000000..cf588e7c4 Binary files /dev/null and b/public/images/emoji/apple/cloud_with_rain.png differ diff --git a/public/images/emoji/apple/cloud_with_snow.png b/public/images/emoji/apple/cloud_with_snow.png new file mode 100644 index 000000000..4ce2e4907 Binary files /dev/null and b/public/images/emoji/apple/cloud_with_snow.png differ diff --git a/public/images/emoji/apple/cloud_with_tornado.png b/public/images/emoji/apple/cloud_with_tornado.png new file mode 100644 index 000000000..a6439ab68 Binary files /dev/null and b/public/images/emoji/apple/cloud_with_tornado.png differ diff --git a/public/images/emoji/apple/clubs.png b/public/images/emoji/apple/clubs.png index 0f977041a..cc49b7ccc 100644 Binary files a/public/images/emoji/apple/clubs.png and b/public/images/emoji/apple/clubs.png differ diff --git a/public/images/emoji/apple/cn.png b/public/images/emoji/apple/cn.png index 4be941fa0..9c969f94c 100644 Binary files a/public/images/emoji/apple/cn.png and b/public/images/emoji/apple/cn.png differ diff --git a/public/images/emoji/apple/cocktail.png b/public/images/emoji/apple/cocktail.png index 045382108..a4f10eed9 100644 Binary files a/public/images/emoji/apple/cocktail.png and b/public/images/emoji/apple/cocktail.png differ diff --git a/public/images/emoji/apple/coffee.png b/public/images/emoji/apple/coffee.png index 125e75438..51b0785a2 100644 Binary files a/public/images/emoji/apple/coffee.png and b/public/images/emoji/apple/coffee.png differ diff --git a/public/images/emoji/apple/coffin.png b/public/images/emoji/apple/coffin.png index 08b08c395..64e1b5348 100644 Binary files a/public/images/emoji/apple/coffin.png and b/public/images/emoji/apple/coffin.png differ diff --git a/public/images/emoji/apple/cold_sweat.png b/public/images/emoji/apple/cold_sweat.png index 8a51f3674..744fa14e0 100644 Binary files a/public/images/emoji/apple/cold_sweat.png and b/public/images/emoji/apple/cold_sweat.png differ diff --git a/public/images/emoji/apple/collision.png b/public/images/emoji/apple/collision.png deleted file mode 100644 index 2684772a7..000000000 Binary files a/public/images/emoji/apple/collision.png and /dev/null differ diff --git a/public/images/emoji/apple/comet.png b/public/images/emoji/apple/comet.png index 2e5481680..46266f905 100644 Binary files a/public/images/emoji/apple/comet.png and b/public/images/emoji/apple/comet.png differ diff --git a/public/images/emoji/apple/compression.png b/public/images/emoji/apple/compression.png index 281e7b250..589f335e3 100644 Binary files a/public/images/emoji/apple/compression.png and b/public/images/emoji/apple/compression.png differ diff --git a/public/images/emoji/apple/computer.png b/public/images/emoji/apple/computer.png index 05fb56d48..4f8e6e3e4 100644 Binary files a/public/images/emoji/apple/computer.png and b/public/images/emoji/apple/computer.png differ diff --git a/public/images/emoji/apple/confetti_ball.png b/public/images/emoji/apple/confetti_ball.png index 986d373a7..d672b68b2 100644 Binary files a/public/images/emoji/apple/confetti_ball.png and b/public/images/emoji/apple/confetti_ball.png differ diff --git a/public/images/emoji/apple/confounded.png b/public/images/emoji/apple/confounded.png index 92251be53..bd4b01795 100644 Binary files a/public/images/emoji/apple/confounded.png and b/public/images/emoji/apple/confounded.png differ diff --git a/public/images/emoji/apple/confused.png b/public/images/emoji/apple/confused.png index 8436af6f7..a3b5de92c 100644 Binary files a/public/images/emoji/apple/confused.png and b/public/images/emoji/apple/confused.png differ diff --git a/public/images/emoji/apple/congratulations.png b/public/images/emoji/apple/congratulations.png index 76921b935..b9576fafc 100644 Binary files a/public/images/emoji/apple/congratulations.png and b/public/images/emoji/apple/congratulations.png differ diff --git a/public/images/emoji/apple/construction.png b/public/images/emoji/apple/construction.png index f755e9018..86d270672 100644 Binary files a/public/images/emoji/apple/construction.png and b/public/images/emoji/apple/construction.png differ diff --git a/public/images/emoji/apple/construction_site.png b/public/images/emoji/apple/construction_site.png index a78635ffe..14d63982e 100644 Binary files a/public/images/emoji/apple/construction_site.png and b/public/images/emoji/apple/construction_site.png differ diff --git a/public/images/emoji/apple/construction_worker.png b/public/images/emoji/apple/construction_worker.png index d35c240d0..cfa111965 100644 Binary files a/public/images/emoji/apple/construction_worker.png and b/public/images/emoji/apple/construction_worker.png differ diff --git a/public/images/emoji/apple/control_knobs.png b/public/images/emoji/apple/control_knobs.png index 9b2a45d0d..daa9536fb 100644 Binary files a/public/images/emoji/apple/control_knobs.png and b/public/images/emoji/apple/control_knobs.png differ diff --git a/public/images/emoji/apple/convenience_store.png b/public/images/emoji/apple/convenience_store.png index a84e807fa..0475441d5 100644 Binary files a/public/images/emoji/apple/convenience_store.png and b/public/images/emoji/apple/convenience_store.png differ diff --git a/public/images/emoji/apple/cookie.png b/public/images/emoji/apple/cookie.png index 12992ec09..64cd4cee9 100644 Binary files a/public/images/emoji/apple/cookie.png and b/public/images/emoji/apple/cookie.png differ diff --git a/public/images/emoji/apple/cool.png b/public/images/emoji/apple/cool.png index 8e0cad456..1df14194b 100644 Binary files a/public/images/emoji/apple/cool.png and b/public/images/emoji/apple/cool.png differ diff --git a/public/images/emoji/apple/cop.png b/public/images/emoji/apple/cop.png index 2e3151efd..1ed1b2554 100644 Binary files a/public/images/emoji/apple/cop.png and b/public/images/emoji/apple/cop.png differ diff --git a/public/images/emoji/apple/copyright.png b/public/images/emoji/apple/copyright.png index 4bcff248f..f0fac0406 100644 Binary files a/public/images/emoji/apple/copyright.png and b/public/images/emoji/apple/copyright.png differ diff --git a/public/images/emoji/apple/corn.png b/public/images/emoji/apple/corn.png index 40c1196a4..3ba356323 100644 Binary files a/public/images/emoji/apple/corn.png and b/public/images/emoji/apple/corn.png differ diff --git a/public/images/emoji/apple/couch.png b/public/images/emoji/apple/couch.png index 0fe1d1dc7..18f79ee6e 100644 Binary files a/public/images/emoji/apple/couch.png and b/public/images/emoji/apple/couch.png differ diff --git a/public/images/emoji/apple/couch_and_lamp.png b/public/images/emoji/apple/couch_and_lamp.png new file mode 100644 index 000000000..18f79ee6e Binary files /dev/null and b/public/images/emoji/apple/couch_and_lamp.png differ diff --git a/public/images/emoji/apple/couple.png b/public/images/emoji/apple/couple.png index 6d598de3b..853288849 100644 Binary files a/public/images/emoji/apple/couple.png and b/public/images/emoji/apple/couple.png differ diff --git a/public/images/emoji/apple/couple_with_heart.png b/public/images/emoji/apple/couple_with_heart.png index 5723e0ad2..b7eafd58d 100644 Binary files a/public/images/emoji/apple/couple_with_heart.png and b/public/images/emoji/apple/couple_with_heart.png differ diff --git a/public/images/emoji/apple/couplekiss.png b/public/images/emoji/apple/couplekiss.png index ef8399a84..b1b5bdc9c 100644 Binary files a/public/images/emoji/apple/couplekiss.png and b/public/images/emoji/apple/couplekiss.png differ diff --git a/public/images/emoji/apple/cow.png b/public/images/emoji/apple/cow.png index 37d6b4518..47f419cb8 100644 Binary files a/public/images/emoji/apple/cow.png and b/public/images/emoji/apple/cow.png differ diff --git a/public/images/emoji/apple/cow2.png b/public/images/emoji/apple/cow2.png index cc488d2a6..740d31b64 100644 Binary files a/public/images/emoji/apple/cow2.png and b/public/images/emoji/apple/cow2.png differ diff --git a/public/images/emoji/apple/crab.png b/public/images/emoji/apple/crab.png index fc81d467c..9a0a620dd 100644 Binary files a/public/images/emoji/apple/crab.png and b/public/images/emoji/apple/crab.png differ diff --git a/public/images/emoji/apple/crayon.png b/public/images/emoji/apple/crayon.png index 1527eabea..0b0f74157 100644 Binary files a/public/images/emoji/apple/crayon.png and b/public/images/emoji/apple/crayon.png differ diff --git a/public/images/emoji/apple/credit_card.png b/public/images/emoji/apple/credit_card.png index be0cb8b5e..98db44b98 100644 Binary files a/public/images/emoji/apple/credit_card.png and b/public/images/emoji/apple/credit_card.png differ diff --git a/public/images/emoji/apple/crescent_moon.png b/public/images/emoji/apple/crescent_moon.png index dcfcc00f9..aa391dced 100644 Binary files a/public/images/emoji/apple/crescent_moon.png and b/public/images/emoji/apple/crescent_moon.png differ diff --git a/public/images/emoji/apple/cricket.png b/public/images/emoji/apple/cricket.png index fad7fbf32..fb73ead72 100644 Binary files a/public/images/emoji/apple/cricket.png and b/public/images/emoji/apple/cricket.png differ diff --git a/public/images/emoji/apple/cricket_bat_ball.png b/public/images/emoji/apple/cricket_bat_ball.png new file mode 100644 index 000000000..fb73ead72 Binary files /dev/null and b/public/images/emoji/apple/cricket_bat_ball.png differ diff --git a/public/images/emoji/apple/crocodile.png b/public/images/emoji/apple/crocodile.png index 5f8bc5145..6df430834 100644 Binary files a/public/images/emoji/apple/crocodile.png and b/public/images/emoji/apple/crocodile.png differ diff --git a/public/images/emoji/apple/cross.png b/public/images/emoji/apple/cross.png index 605f15122..10df9c21f 100644 Binary files a/public/images/emoji/apple/cross.png and b/public/images/emoji/apple/cross.png differ diff --git a/public/images/emoji/apple/crossed_flags.png b/public/images/emoji/apple/crossed_flags.png index 12acf39ce..79f0b41b9 100644 Binary files a/public/images/emoji/apple/crossed_flags.png and b/public/images/emoji/apple/crossed_flags.png differ diff --git a/public/images/emoji/apple/crossed_swords.png b/public/images/emoji/apple/crossed_swords.png index 79b38cf12..e0d25a4c0 100644 Binary files a/public/images/emoji/apple/crossed_swords.png and b/public/images/emoji/apple/crossed_swords.png differ diff --git a/public/images/emoji/apple/crown.png b/public/images/emoji/apple/crown.png index ac5bf3507..94c2e0fe9 100644 Binary files a/public/images/emoji/apple/crown.png and b/public/images/emoji/apple/crown.png differ diff --git a/public/images/emoji/apple/cruise_ship.png b/public/images/emoji/apple/cruise_ship.png index c3db46e31..94aa42e7b 100644 Binary files a/public/images/emoji/apple/cruise_ship.png and b/public/images/emoji/apple/cruise_ship.png differ diff --git a/public/images/emoji/apple/cry.png b/public/images/emoji/apple/cry.png index d139a3308..212674d33 100644 Binary files a/public/images/emoji/apple/cry.png and b/public/images/emoji/apple/cry.png differ diff --git a/public/images/emoji/apple/crying_cat_face.png b/public/images/emoji/apple/crying_cat_face.png index c6ad0c0ee..1902821ee 100644 Binary files a/public/images/emoji/apple/crying_cat_face.png and b/public/images/emoji/apple/crying_cat_face.png differ diff --git a/public/images/emoji/apple/crystal_ball.png b/public/images/emoji/apple/crystal_ball.png index 05268238b..594971823 100644 Binary files a/public/images/emoji/apple/crystal_ball.png and b/public/images/emoji/apple/crystal_ball.png differ diff --git a/public/images/emoji/apple/cupid.png b/public/images/emoji/apple/cupid.png index 06a842f50..9d0f12306 100644 Binary files a/public/images/emoji/apple/cupid.png and b/public/images/emoji/apple/cupid.png differ diff --git a/public/images/emoji/apple/curly_loop.png b/public/images/emoji/apple/curly_loop.png index db599bd6e..9087fba5e 100644 Binary files a/public/images/emoji/apple/curly_loop.png and b/public/images/emoji/apple/curly_loop.png differ diff --git a/public/images/emoji/apple/currency_exchange.png b/public/images/emoji/apple/currency_exchange.png index 6fe3e9ff5..d9fae95d8 100644 Binary files a/public/images/emoji/apple/currency_exchange.png and b/public/images/emoji/apple/currency_exchange.png differ diff --git a/public/images/emoji/apple/curry.png b/public/images/emoji/apple/curry.png index 25c2a8869..457c883b3 100644 Binary files a/public/images/emoji/apple/curry.png and b/public/images/emoji/apple/curry.png differ diff --git a/public/images/emoji/apple/custard.png b/public/images/emoji/apple/custard.png index 93dee41a2..c751ae743 100644 Binary files a/public/images/emoji/apple/custard.png and b/public/images/emoji/apple/custard.png differ diff --git a/public/images/emoji/apple/customs.png b/public/images/emoji/apple/customs.png index 9cf05f363..080aaf01a 100644 Binary files a/public/images/emoji/apple/customs.png and b/public/images/emoji/apple/customs.png differ diff --git a/public/images/emoji/apple/cyclone.png b/public/images/emoji/apple/cyclone.png index b49c1411b..7ae125e19 100644 Binary files a/public/images/emoji/apple/cyclone.png and b/public/images/emoji/apple/cyclone.png differ diff --git a/public/images/emoji/apple/dagger.png b/public/images/emoji/apple/dagger.png index 76ecf2280..58a25690e 100644 Binary files a/public/images/emoji/apple/dagger.png and b/public/images/emoji/apple/dagger.png differ diff --git a/public/images/emoji/apple/dagger_knife.png b/public/images/emoji/apple/dagger_knife.png new file mode 100644 index 000000000..58a25690e Binary files /dev/null and b/public/images/emoji/apple/dagger_knife.png differ diff --git a/public/images/emoji/apple/dancer.png b/public/images/emoji/apple/dancer.png index 9cfc3d992..277bf733f 100644 Binary files a/public/images/emoji/apple/dancer.png and b/public/images/emoji/apple/dancer.png differ diff --git a/public/images/emoji/apple/dancers.png b/public/images/emoji/apple/dancers.png index 4858350a9..0d07c4318 100644 Binary files a/public/images/emoji/apple/dancers.png and b/public/images/emoji/apple/dancers.png differ diff --git a/public/images/emoji/apple/dango.png b/public/images/emoji/apple/dango.png index ace15a358..3b1315eac 100644 Binary files a/public/images/emoji/apple/dango.png and b/public/images/emoji/apple/dango.png differ diff --git a/public/images/emoji/apple/dark_sunglasses.png b/public/images/emoji/apple/dark_sunglasses.png index 3a24fb7fd..a9382535c 100644 Binary files a/public/images/emoji/apple/dark_sunglasses.png and b/public/images/emoji/apple/dark_sunglasses.png differ diff --git a/public/images/emoji/apple/dart.png b/public/images/emoji/apple/dart.png index f88f01a77..f357af5f2 100644 Binary files a/public/images/emoji/apple/dart.png and b/public/images/emoji/apple/dart.png differ diff --git a/public/images/emoji/apple/dash.png b/public/images/emoji/apple/dash.png index 1b1e7f617..041d3c012 100644 Binary files a/public/images/emoji/apple/dash.png and b/public/images/emoji/apple/dash.png differ diff --git a/public/images/emoji/apple/date.png b/public/images/emoji/apple/date.png index 6ecd3bcca..872aee97e 100644 Binary files a/public/images/emoji/apple/date.png and b/public/images/emoji/apple/date.png differ diff --git a/public/images/emoji/apple/de.png b/public/images/emoji/apple/de.png index 1eea32e76..e73274128 100644 Binary files a/public/images/emoji/apple/de.png and b/public/images/emoji/apple/de.png differ diff --git a/public/images/emoji/apple/deciduous_tree.png b/public/images/emoji/apple/deciduous_tree.png index 4721d55ec..75f8e820e 100644 Binary files a/public/images/emoji/apple/deciduous_tree.png and b/public/images/emoji/apple/deciduous_tree.png differ diff --git a/public/images/emoji/apple/department_store.png b/public/images/emoji/apple/department_store.png index 31fddd831..cd10e283d 100644 Binary files a/public/images/emoji/apple/department_store.png and b/public/images/emoji/apple/department_store.png differ diff --git a/public/images/emoji/apple/derelict_house_building.png b/public/images/emoji/apple/derelict_house_building.png new file mode 100644 index 000000000..a389ff82a Binary files /dev/null and b/public/images/emoji/apple/derelict_house_building.png differ diff --git a/public/images/emoji/apple/desert.png b/public/images/emoji/apple/desert.png index eed6da83a..3e9dc4bde 100644 Binary files a/public/images/emoji/apple/desert.png and b/public/images/emoji/apple/desert.png differ diff --git a/public/images/emoji/apple/desert_island.png b/public/images/emoji/apple/desert_island.png new file mode 100644 index 000000000..21bb67b35 Binary files /dev/null and b/public/images/emoji/apple/desert_island.png differ diff --git a/public/images/emoji/apple/desktop.png b/public/images/emoji/apple/desktop.png index 651803e10..0bf97033c 100644 Binary files a/public/images/emoji/apple/desktop.png and b/public/images/emoji/apple/desktop.png differ diff --git a/public/images/emoji/apple/desktop_computer.png b/public/images/emoji/apple/desktop_computer.png new file mode 100644 index 000000000..0bf97033c Binary files /dev/null and b/public/images/emoji/apple/desktop_computer.png differ diff --git a/public/images/emoji/apple/diamond_shape_with_a_dot_inside.png b/public/images/emoji/apple/diamond_shape_with_a_dot_inside.png index 63a068c24..8d4e42947 100644 Binary files a/public/images/emoji/apple/diamond_shape_with_a_dot_inside.png and b/public/images/emoji/apple/diamond_shape_with_a_dot_inside.png differ diff --git a/public/images/emoji/apple/diamonds.png b/public/images/emoji/apple/diamonds.png index 6546abc04..ed9359442 100644 Binary files a/public/images/emoji/apple/diamonds.png and b/public/images/emoji/apple/diamonds.png differ diff --git a/public/images/emoji/apple/disappointed.png b/public/images/emoji/apple/disappointed.png index 64035317d..5fd6b7f39 100644 Binary files a/public/images/emoji/apple/disappointed.png and b/public/images/emoji/apple/disappointed.png differ diff --git a/public/images/emoji/apple/disappointed_relieved.png b/public/images/emoji/apple/disappointed_relieved.png index 39575a149..2f59bd508 100644 Binary files a/public/images/emoji/apple/disappointed_relieved.png and b/public/images/emoji/apple/disappointed_relieved.png differ diff --git a/public/images/emoji/apple/dividers.png b/public/images/emoji/apple/dividers.png index 90fdd826d..d0d539014 100644 Binary files a/public/images/emoji/apple/dividers.png and b/public/images/emoji/apple/dividers.png differ diff --git a/public/images/emoji/apple/dizzy.png b/public/images/emoji/apple/dizzy.png index 5a96e609f..89907ac08 100644 Binary files a/public/images/emoji/apple/dizzy.png and b/public/images/emoji/apple/dizzy.png differ diff --git a/public/images/emoji/apple/dizzy_face.png b/public/images/emoji/apple/dizzy_face.png index b5460b8fb..53dc38507 100644 Binary files a/public/images/emoji/apple/dizzy_face.png and b/public/images/emoji/apple/dizzy_face.png differ diff --git a/public/images/emoji/apple/do_not_litter.png b/public/images/emoji/apple/do_not_litter.png index 97297f74b..f99423581 100644 Binary files a/public/images/emoji/apple/do_not_litter.png and b/public/images/emoji/apple/do_not_litter.png differ diff --git a/public/images/emoji/apple/dog.png b/public/images/emoji/apple/dog.png index 486a6e6d7..57c66a9f6 100644 Binary files a/public/images/emoji/apple/dog.png and b/public/images/emoji/apple/dog.png differ diff --git a/public/images/emoji/apple/dog2.png b/public/images/emoji/apple/dog2.png index 1cf5325cb..abcfcbe66 100644 Binary files a/public/images/emoji/apple/dog2.png and b/public/images/emoji/apple/dog2.png differ diff --git a/public/images/emoji/apple/dollar.png b/public/images/emoji/apple/dollar.png index 88d0756b4..ac1450e23 100644 Binary files a/public/images/emoji/apple/dollar.png and b/public/images/emoji/apple/dollar.png differ diff --git a/public/images/emoji/apple/dolls.png b/public/images/emoji/apple/dolls.png index cffb5bafe..89a797466 100644 Binary files a/public/images/emoji/apple/dolls.png and b/public/images/emoji/apple/dolls.png differ diff --git a/public/images/emoji/apple/dolphin.png b/public/images/emoji/apple/dolphin.png index fa492cd88..433d9710a 100644 Binary files a/public/images/emoji/apple/dolphin.png and b/public/images/emoji/apple/dolphin.png differ diff --git a/public/images/emoji/apple/door.png b/public/images/emoji/apple/door.png index b7734896e..398009706 100644 Binary files a/public/images/emoji/apple/door.png and b/public/images/emoji/apple/door.png differ diff --git a/public/images/emoji/apple/double_vertical_bar.png b/public/images/emoji/apple/double_vertical_bar.png new file mode 100644 index 000000000..cdcd151e9 Binary files /dev/null and b/public/images/emoji/apple/double_vertical_bar.png differ diff --git a/public/images/emoji/apple/doughnut.png b/public/images/emoji/apple/doughnut.png index 165803bbf..5a7b6e4ff 100644 Binary files a/public/images/emoji/apple/doughnut.png and b/public/images/emoji/apple/doughnut.png differ diff --git a/public/images/emoji/apple/dove.png b/public/images/emoji/apple/dove.png index 6dc892768..609e1b7b3 100644 Binary files a/public/images/emoji/apple/dove.png and b/public/images/emoji/apple/dove.png differ diff --git a/public/images/emoji/apple/dove_of_peace.png b/public/images/emoji/apple/dove_of_peace.png new file mode 100644 index 000000000..609e1b7b3 Binary files /dev/null and b/public/images/emoji/apple/dove_of_peace.png differ diff --git a/public/images/emoji/apple/dragon.png b/public/images/emoji/apple/dragon.png index 926f0b387..d4dec06f8 100644 Binary files a/public/images/emoji/apple/dragon.png and b/public/images/emoji/apple/dragon.png differ diff --git a/public/images/emoji/apple/dragon_face.png b/public/images/emoji/apple/dragon_face.png index 4a980ff72..80aec9409 100644 Binary files a/public/images/emoji/apple/dragon_face.png and b/public/images/emoji/apple/dragon_face.png differ diff --git a/public/images/emoji/apple/dress.png b/public/images/emoji/apple/dress.png index fd736a2af..586457188 100644 Binary files a/public/images/emoji/apple/dress.png and b/public/images/emoji/apple/dress.png differ diff --git a/public/images/emoji/apple/dromedary_camel.png b/public/images/emoji/apple/dromedary_camel.png index 07f6f4842..418c09e3a 100644 Binary files a/public/images/emoji/apple/dromedary_camel.png and b/public/images/emoji/apple/dromedary_camel.png differ diff --git a/public/images/emoji/apple/droplet.png b/public/images/emoji/apple/droplet.png index c8a7fbb90..c3421ac00 100644 Binary files a/public/images/emoji/apple/droplet.png and b/public/images/emoji/apple/droplet.png differ diff --git a/public/images/emoji/apple/dvd.png b/public/images/emoji/apple/dvd.png index d339448d1..111fc7e23 100644 Binary files a/public/images/emoji/apple/dvd.png and b/public/images/emoji/apple/dvd.png differ diff --git a/public/images/emoji/apple/e-mail.png b/public/images/emoji/apple/e-mail.png index f03a9a394..c315c36ff 100644 Binary files a/public/images/emoji/apple/e-mail.png and b/public/images/emoji/apple/e-mail.png differ diff --git a/public/images/emoji/apple/ear.png b/public/images/emoji/apple/ear.png index 3f0638475..1da4022b4 100644 Binary files a/public/images/emoji/apple/ear.png and b/public/images/emoji/apple/ear.png differ diff --git a/public/images/emoji/apple/ear_of_rice.png b/public/images/emoji/apple/ear_of_rice.png index ab5913e1f..245742482 100644 Binary files a/public/images/emoji/apple/ear_of_rice.png and b/public/images/emoji/apple/ear_of_rice.png differ diff --git a/public/images/emoji/apple/earth_africa.png b/public/images/emoji/apple/earth_africa.png index 000c857de..f698fc778 100644 Binary files a/public/images/emoji/apple/earth_africa.png and b/public/images/emoji/apple/earth_africa.png differ diff --git a/public/images/emoji/apple/earth_americas.png b/public/images/emoji/apple/earth_americas.png index 235b15aaf..903f51360 100644 Binary files a/public/images/emoji/apple/earth_americas.png and b/public/images/emoji/apple/earth_americas.png differ diff --git a/public/images/emoji/apple/earth_asia.png b/public/images/emoji/apple/earth_asia.png index ea7d9cd99..d49bd7a53 100644 Binary files a/public/images/emoji/apple/earth_asia.png and b/public/images/emoji/apple/earth_asia.png differ diff --git a/public/images/emoji/apple/egg.png b/public/images/emoji/apple/egg.png index c3426d735..56d101359 100644 Binary files a/public/images/emoji/apple/egg.png and b/public/images/emoji/apple/egg.png differ diff --git a/public/images/emoji/apple/eggplant.png b/public/images/emoji/apple/eggplant.png index cd3d9eeaf..2f30152fc 100644 Binary files a/public/images/emoji/apple/eggplant.png and b/public/images/emoji/apple/eggplant.png differ diff --git a/public/images/emoji/apple/eight.png b/public/images/emoji/apple/eight.png index cb9b459f7..e69de29bb 100644 Binary files a/public/images/emoji/apple/eight.png and b/public/images/emoji/apple/eight.png differ diff --git a/public/images/emoji/apple/eight_pointed_black_star.png b/public/images/emoji/apple/eight_pointed_black_star.png index 11e720fdd..123ddbfab 100644 Binary files a/public/images/emoji/apple/eight_pointed_black_star.png and b/public/images/emoji/apple/eight_pointed_black_star.png differ diff --git a/public/images/emoji/apple/eight_spoked_asterisk.png b/public/images/emoji/apple/eight_spoked_asterisk.png index 9a8657d7b..cb694edee 100644 Binary files a/public/images/emoji/apple/eight_spoked_asterisk.png and b/public/images/emoji/apple/eight_spoked_asterisk.png differ diff --git a/public/images/emoji/apple/electric_plug.png b/public/images/emoji/apple/electric_plug.png index fe58495d5..40914fec2 100644 Binary files a/public/images/emoji/apple/electric_plug.png and b/public/images/emoji/apple/electric_plug.png differ diff --git a/public/images/emoji/apple/elephant.png b/public/images/emoji/apple/elephant.png index c8800eb3a..c11064716 100644 Binary files a/public/images/emoji/apple/elephant.png and b/public/images/emoji/apple/elephant.png differ diff --git a/public/images/emoji/apple/email.png b/public/images/emoji/apple/email.png index 4553070d5..c315c36ff 100644 Binary files a/public/images/emoji/apple/email.png and b/public/images/emoji/apple/email.png differ diff --git a/public/images/emoji/apple/end.png b/public/images/emoji/apple/end.png index 74675d81f..8cea2f1a5 100644 Binary files a/public/images/emoji/apple/end.png and b/public/images/emoji/apple/end.png differ diff --git a/public/images/emoji/apple/envelope.png b/public/images/emoji/apple/envelope.png index f47b07cce..605d3dab8 100644 Binary files a/public/images/emoji/apple/envelope.png and b/public/images/emoji/apple/envelope.png differ diff --git a/public/images/emoji/apple/envelope_with_arrow.png b/public/images/emoji/apple/envelope_with_arrow.png index ae5d944d2..95e780e66 100644 Binary files a/public/images/emoji/apple/envelope_with_arrow.png and b/public/images/emoji/apple/envelope_with_arrow.png differ diff --git a/public/images/emoji/apple/es.png b/public/images/emoji/apple/es.png index 2e7761c07..8fca1f039 100644 Binary files a/public/images/emoji/apple/es.png and b/public/images/emoji/apple/es.png differ diff --git a/public/images/emoji/apple/euro.png b/public/images/emoji/apple/euro.png index c21d2931c..38e80e215 100644 Binary files a/public/images/emoji/apple/euro.png and b/public/images/emoji/apple/euro.png differ diff --git a/public/images/emoji/apple/european_castle.png b/public/images/emoji/apple/european_castle.png index 9ae8013ae..d58cafb86 100644 Binary files a/public/images/emoji/apple/european_castle.png and b/public/images/emoji/apple/european_castle.png differ diff --git a/public/images/emoji/apple/european_post_office.png b/public/images/emoji/apple/european_post_office.png index b8579f36f..b4d0a0748 100644 Binary files a/public/images/emoji/apple/european_post_office.png and b/public/images/emoji/apple/european_post_office.png differ diff --git a/public/images/emoji/apple/evergreen_tree.png b/public/images/emoji/apple/evergreen_tree.png index 11887a786..409aacd66 100644 Binary files a/public/images/emoji/apple/evergreen_tree.png and b/public/images/emoji/apple/evergreen_tree.png differ diff --git a/public/images/emoji/apple/exclamation.png b/public/images/emoji/apple/exclamation.png index 48e8cf9d6..8b069bce0 100644 Binary files a/public/images/emoji/apple/exclamation.png and b/public/images/emoji/apple/exclamation.png differ diff --git a/public/images/emoji/apple/expressionless.png b/public/images/emoji/apple/expressionless.png index 115f2d80d..41cedf753 100644 Binary files a/public/images/emoji/apple/expressionless.png and b/public/images/emoji/apple/expressionless.png differ diff --git a/public/images/emoji/apple/eye.png b/public/images/emoji/apple/eye.png index 2e04514af..fef3d1258 100644 Binary files a/public/images/emoji/apple/eye.png and b/public/images/emoji/apple/eye.png differ diff --git a/public/images/emoji/apple/eyeglasses.png b/public/images/emoji/apple/eyeglasses.png index 463f9bb74..34a555e1c 100644 Binary files a/public/images/emoji/apple/eyeglasses.png and b/public/images/emoji/apple/eyeglasses.png differ diff --git a/public/images/emoji/apple/eyes.png b/public/images/emoji/apple/eyes.png index cf9d03fb1..14e243495 100644 Binary files a/public/images/emoji/apple/eyes.png and b/public/images/emoji/apple/eyes.png differ diff --git a/public/images/emoji/apple/face_with_head_bandage.png b/public/images/emoji/apple/face_with_head_bandage.png new file mode 100644 index 000000000..953be4543 Binary files /dev/null and b/public/images/emoji/apple/face_with_head_bandage.png differ diff --git a/public/images/emoji/apple/face_with_rolling_eyes.png b/public/images/emoji/apple/face_with_rolling_eyes.png new file mode 100644 index 000000000..4da789951 Binary files /dev/null and b/public/images/emoji/apple/face_with_rolling_eyes.png differ diff --git a/public/images/emoji/apple/face_with_thermometer.png b/public/images/emoji/apple/face_with_thermometer.png new file mode 100644 index 000000000..bc7076dfa Binary files /dev/null and b/public/images/emoji/apple/face_with_thermometer.png differ diff --git a/public/images/emoji/apple/facepunch.png b/public/images/emoji/apple/facepunch.png deleted file mode 100644 index 524739e60..000000000 Binary files a/public/images/emoji/apple/facepunch.png and /dev/null differ diff --git a/public/images/emoji/apple/factory.png b/public/images/emoji/apple/factory.png index f6a552a66..a4af077ca 100644 Binary files a/public/images/emoji/apple/factory.png and b/public/images/emoji/apple/factory.png differ diff --git a/public/images/emoji/apple/fallen_leaf.png b/public/images/emoji/apple/fallen_leaf.png index 9c61dda16..4ac95b4d5 100644 Binary files a/public/images/emoji/apple/fallen_leaf.png and b/public/images/emoji/apple/fallen_leaf.png differ diff --git a/public/images/emoji/apple/family.png b/public/images/emoji/apple/family.png deleted file mode 100644 index 3758ed01d..000000000 Binary files a/public/images/emoji/apple/family.png and /dev/null differ diff --git a/public/images/emoji/apple/family_man_woman_boys.png b/public/images/emoji/apple/family_man_woman_boys.png new file mode 100644 index 000000000..213af3e02 Binary files /dev/null and b/public/images/emoji/apple/family_man_woman_boys.png differ diff --git a/public/images/emoji/apple/family_man_woman_girl.png b/public/images/emoji/apple/family_man_woman_girl.png new file mode 100644 index 000000000..c94e760b7 Binary files /dev/null and b/public/images/emoji/apple/family_man_woman_girl.png differ diff --git a/public/images/emoji/apple/family_man_woman_girl_boy.png b/public/images/emoji/apple/family_man_woman_girl_boy.png new file mode 100644 index 000000000..100c01bda Binary files /dev/null and b/public/images/emoji/apple/family_man_woman_girl_boy.png differ diff --git a/public/images/emoji/apple/family_man_woman_girls.png b/public/images/emoji/apple/family_man_woman_girls.png new file mode 100644 index 000000000..004ec8f42 Binary files /dev/null and b/public/images/emoji/apple/family_man_woman_girls.png differ diff --git a/public/images/emoji/apple/family_men_boy.png b/public/images/emoji/apple/family_men_boy.png new file mode 100644 index 000000000..40020601c Binary files /dev/null and b/public/images/emoji/apple/family_men_boy.png differ diff --git a/public/images/emoji/apple/family_men_boys.png b/public/images/emoji/apple/family_men_boys.png new file mode 100644 index 000000000..57c7b9765 Binary files /dev/null and b/public/images/emoji/apple/family_men_boys.png differ diff --git a/public/images/emoji/apple/family_men_girl.png b/public/images/emoji/apple/family_men_girl.png new file mode 100644 index 000000000..158384d6e Binary files /dev/null and b/public/images/emoji/apple/family_men_girl.png differ diff --git a/public/images/emoji/apple/family_men_girl_boy.png b/public/images/emoji/apple/family_men_girl_boy.png new file mode 100644 index 000000000..3394121d1 Binary files /dev/null and b/public/images/emoji/apple/family_men_girl_boy.png differ diff --git a/public/images/emoji/apple/family_men_girls.png b/public/images/emoji/apple/family_men_girls.png new file mode 100644 index 000000000..97c1f2647 Binary files /dev/null and b/public/images/emoji/apple/family_men_girls.png differ diff --git a/public/images/emoji/apple/family_women_boy.png b/public/images/emoji/apple/family_women_boy.png new file mode 100644 index 000000000..039d152d5 Binary files /dev/null and b/public/images/emoji/apple/family_women_boy.png differ diff --git a/public/images/emoji/apple/family_women_boys.png b/public/images/emoji/apple/family_women_boys.png new file mode 100644 index 000000000..e70b13476 Binary files /dev/null and b/public/images/emoji/apple/family_women_boys.png differ diff --git a/public/images/emoji/apple/family_women_girl.png b/public/images/emoji/apple/family_women_girl.png new file mode 100644 index 000000000..c71257738 Binary files /dev/null and b/public/images/emoji/apple/family_women_girl.png differ diff --git a/public/images/emoji/apple/family_women_girl_boy.png b/public/images/emoji/apple/family_women_girl_boy.png new file mode 100644 index 000000000..85f7db365 Binary files /dev/null and b/public/images/emoji/apple/family_women_girl_boy.png differ diff --git a/public/images/emoji/apple/family_women_girls.png b/public/images/emoji/apple/family_women_girls.png new file mode 100644 index 000000000..aa6768144 Binary files /dev/null and b/public/images/emoji/apple/family_women_girls.png differ diff --git a/public/images/emoji/apple/fast_forward.png b/public/images/emoji/apple/fast_forward.png index f253ed3a6..a98639680 100644 Binary files a/public/images/emoji/apple/fast_forward.png and b/public/images/emoji/apple/fast_forward.png differ diff --git a/public/images/emoji/apple/fax.png b/public/images/emoji/apple/fax.png index 7a5073680..1b2786379 100644 Binary files a/public/images/emoji/apple/fax.png and b/public/images/emoji/apple/fax.png differ diff --git a/public/images/emoji/apple/fearful.png b/public/images/emoji/apple/fearful.png index 37bba2aaa..34420892e 100644 Binary files a/public/images/emoji/apple/fearful.png and b/public/images/emoji/apple/fearful.png differ diff --git a/public/images/emoji/apple/feet.png b/public/images/emoji/apple/feet.png index ee234e914..3b1c263cd 100644 Binary files a/public/images/emoji/apple/feet.png and b/public/images/emoji/apple/feet.png differ diff --git a/public/images/emoji/apple/female_couple_with_heart.png b/public/images/emoji/apple/female_couple_with_heart.png new file mode 100644 index 000000000..8f924c75c Binary files /dev/null and b/public/images/emoji/apple/female_couple_with_heart.png differ diff --git a/public/images/emoji/apple/female_couplekiss.png b/public/images/emoji/apple/female_couplekiss.png new file mode 100644 index 000000000..13d6801c4 Binary files /dev/null and b/public/images/emoji/apple/female_couplekiss.png differ diff --git a/public/images/emoji/apple/ferris_wheel.png b/public/images/emoji/apple/ferris_wheel.png index 269347aad..ff5b81002 100644 Binary files a/public/images/emoji/apple/ferris_wheel.png and b/public/images/emoji/apple/ferris_wheel.png differ diff --git a/public/images/emoji/apple/ferry.png b/public/images/emoji/apple/ferry.png index a3a798ec0..f45493c7e 100644 Binary files a/public/images/emoji/apple/ferry.png and b/public/images/emoji/apple/ferry.png differ diff --git a/public/images/emoji/apple/field_hockey.png b/public/images/emoji/apple/field_hockey.png index 3c107b28d..cce22bf0c 100644 Binary files a/public/images/emoji/apple/field_hockey.png and b/public/images/emoji/apple/field_hockey.png differ diff --git a/public/images/emoji/apple/file_cabinet.png b/public/images/emoji/apple/file_cabinet.png index e5a2ed1ee..54ab7ea7e 100644 Binary files a/public/images/emoji/apple/file_cabinet.png and b/public/images/emoji/apple/file_cabinet.png differ diff --git a/public/images/emoji/apple/file_folder.png b/public/images/emoji/apple/file_folder.png index f92532bed..f32be103d 100644 Binary files a/public/images/emoji/apple/file_folder.png and b/public/images/emoji/apple/file_folder.png differ diff --git a/public/images/emoji/apple/film_frames.png b/public/images/emoji/apple/film_frames.png index 6bd06eb56..df47b4e55 100644 Binary files a/public/images/emoji/apple/film_frames.png and b/public/images/emoji/apple/film_frames.png differ diff --git a/public/images/emoji/apple/film_projector.png b/public/images/emoji/apple/film_projector.png new file mode 100644 index 000000000..788f131ec Binary files /dev/null and b/public/images/emoji/apple/film_projector.png differ diff --git a/public/images/emoji/apple/fire.png b/public/images/emoji/apple/fire.png index 13406d212..6776b47d6 100644 Binary files a/public/images/emoji/apple/fire.png and b/public/images/emoji/apple/fire.png differ diff --git a/public/images/emoji/apple/fire_engine.png b/public/images/emoji/apple/fire_engine.png index c71420f0e..ec5e75094 100644 Binary files a/public/images/emoji/apple/fire_engine.png and b/public/images/emoji/apple/fire_engine.png differ diff --git a/public/images/emoji/apple/fireworks.png b/public/images/emoji/apple/fireworks.png index 15d182be5..953114e14 100644 Binary files a/public/images/emoji/apple/fireworks.png and b/public/images/emoji/apple/fireworks.png differ diff --git a/public/images/emoji/apple/first_quarter_moon.png b/public/images/emoji/apple/first_quarter_moon.png index 7ad10ce4d..9428a5976 100644 Binary files a/public/images/emoji/apple/first_quarter_moon.png and b/public/images/emoji/apple/first_quarter_moon.png differ diff --git a/public/images/emoji/apple/first_quarter_moon_with_face.png b/public/images/emoji/apple/first_quarter_moon_with_face.png index f7f0eafa7..60b0b046d 100644 Binary files a/public/images/emoji/apple/first_quarter_moon_with_face.png and b/public/images/emoji/apple/first_quarter_moon_with_face.png differ diff --git a/public/images/emoji/apple/fish.png b/public/images/emoji/apple/fish.png index 02ec2bf00..aa7a45e1e 100644 Binary files a/public/images/emoji/apple/fish.png and b/public/images/emoji/apple/fish.png differ diff --git a/public/images/emoji/apple/fish_cake.png b/public/images/emoji/apple/fish_cake.png index 13fbe5999..d5c3887b1 100644 Binary files a/public/images/emoji/apple/fish_cake.png and b/public/images/emoji/apple/fish_cake.png differ diff --git a/public/images/emoji/apple/fishing_pole_and_fish.png b/public/images/emoji/apple/fishing_pole_and_fish.png index 1bfcc7d5b..c21e17c44 100644 Binary files a/public/images/emoji/apple/fishing_pole_and_fish.png and b/public/images/emoji/apple/fishing_pole_and_fish.png differ diff --git a/public/images/emoji/apple/fist.png b/public/images/emoji/apple/fist.png index bcf93e33f..354355676 100644 Binary files a/public/images/emoji/apple/fist.png and b/public/images/emoji/apple/fist.png differ diff --git a/public/images/emoji/apple/five.png b/public/images/emoji/apple/five.png index 4eab16bd7..e69de29bb 100644 Binary files a/public/images/emoji/apple/five.png and b/public/images/emoji/apple/five.png differ diff --git a/public/images/emoji/apple/flag_black.png b/public/images/emoji/apple/flag_black.png index c132e2c23..dbe8461ec 100644 Binary files a/public/images/emoji/apple/flag_black.png and b/public/images/emoji/apple/flag_black.png differ diff --git a/public/images/emoji/apple/flag_cn.png b/public/images/emoji/apple/flag_cn.png index 0b265515a..9c969f94c 100644 Binary files a/public/images/emoji/apple/flag_cn.png and b/public/images/emoji/apple/flag_cn.png differ diff --git a/public/images/emoji/apple/flag_de.png b/public/images/emoji/apple/flag_de.png index 24aa3d0d8..e73274128 100644 Binary files a/public/images/emoji/apple/flag_de.png and b/public/images/emoji/apple/flag_de.png differ diff --git a/public/images/emoji/apple/flag_es.png b/public/images/emoji/apple/flag_es.png index d2cfcef84..8fca1f039 100644 Binary files a/public/images/emoji/apple/flag_es.png and b/public/images/emoji/apple/flag_es.png differ diff --git a/public/images/emoji/apple/flag_fr.png b/public/images/emoji/apple/flag_fr.png index aab8b4737..efcd5fff7 100644 Binary files a/public/images/emoji/apple/flag_fr.png and b/public/images/emoji/apple/flag_fr.png differ diff --git a/public/images/emoji/apple/flag_gb.png b/public/images/emoji/apple/flag_gb.png index d4ad5e4a9..1d15d6cb9 100644 Binary files a/public/images/emoji/apple/flag_gb.png and b/public/images/emoji/apple/flag_gb.png differ diff --git a/public/images/emoji/apple/flag_it.png b/public/images/emoji/apple/flag_it.png index e5d64a1db..0e5bc29da 100644 Binary files a/public/images/emoji/apple/flag_it.png and b/public/images/emoji/apple/flag_it.png differ diff --git a/public/images/emoji/apple/flag_jp.png b/public/images/emoji/apple/flag_jp.png index 6eb4257c8..4462748e5 100644 Binary files a/public/images/emoji/apple/flag_jp.png and b/public/images/emoji/apple/flag_jp.png differ diff --git a/public/images/emoji/apple/flag_kr.png b/public/images/emoji/apple/flag_kr.png index 57757ef4a..d63cf96b4 100644 Binary files a/public/images/emoji/apple/flag_kr.png and b/public/images/emoji/apple/flag_kr.png differ diff --git a/public/images/emoji/apple/flag_ru.png b/public/images/emoji/apple/flag_ru.png index 77666f357..ebd82f4a5 100644 Binary files a/public/images/emoji/apple/flag_ru.png and b/public/images/emoji/apple/flag_ru.png differ diff --git a/public/images/emoji/apple/flag_us.png b/public/images/emoji/apple/flag_us.png index a3f937808..64a5e528d 100644 Binary files a/public/images/emoji/apple/flag_us.png and b/public/images/emoji/apple/flag_us.png differ diff --git a/public/images/emoji/apple/flag_white.png b/public/images/emoji/apple/flag_white.png index 6b6becc25..fcdd1e4ca 100644 Binary files a/public/images/emoji/apple/flag_white.png and b/public/images/emoji/apple/flag_white.png differ diff --git a/public/images/emoji/apple/flags.png b/public/images/emoji/apple/flags.png index da9f8543d..1cf5a94a2 100644 Binary files a/public/images/emoji/apple/flags.png and b/public/images/emoji/apple/flags.png differ diff --git a/public/images/emoji/apple/flame.png b/public/images/emoji/apple/flame.png new file mode 100644 index 000000000..6776b47d6 Binary files /dev/null and b/public/images/emoji/apple/flame.png differ diff --git a/public/images/emoji/apple/flashlight.png b/public/images/emoji/apple/flashlight.png index 4707c2d10..0c6e5cd05 100644 Binary files a/public/images/emoji/apple/flashlight.png and b/public/images/emoji/apple/flashlight.png differ diff --git a/public/images/emoji/apple/fleur-de-lis.png b/public/images/emoji/apple/fleur-de-lis.png index 5f98df5b2..e15768433 100644 Binary files a/public/images/emoji/apple/fleur-de-lis.png and b/public/images/emoji/apple/fleur-de-lis.png differ diff --git a/public/images/emoji/apple/flipper.png b/public/images/emoji/apple/flipper.png deleted file mode 100644 index 0c5c41ed6..000000000 Binary files a/public/images/emoji/apple/flipper.png and /dev/null differ diff --git a/public/images/emoji/apple/floppy_disk.png b/public/images/emoji/apple/floppy_disk.png index 6203a665f..05daeb667 100644 Binary files a/public/images/emoji/apple/floppy_disk.png and b/public/images/emoji/apple/floppy_disk.png differ diff --git a/public/images/emoji/apple/flower_playing_cards.png b/public/images/emoji/apple/flower_playing_cards.png index dd1696eb6..1753f555c 100644 Binary files a/public/images/emoji/apple/flower_playing_cards.png and b/public/images/emoji/apple/flower_playing_cards.png differ diff --git a/public/images/emoji/apple/flushed.png b/public/images/emoji/apple/flushed.png index 8fb81dee8..a67fccb60 100644 Binary files a/public/images/emoji/apple/flushed.png and b/public/images/emoji/apple/flushed.png differ diff --git a/public/images/emoji/apple/fog.png b/public/images/emoji/apple/fog.png index 2f2c2080b..e3ea064e0 100644 Binary files a/public/images/emoji/apple/fog.png and b/public/images/emoji/apple/fog.png differ diff --git a/public/images/emoji/apple/foggy.png b/public/images/emoji/apple/foggy.png index 95cf6527d..c1298b7f4 100644 Binary files a/public/images/emoji/apple/foggy.png and b/public/images/emoji/apple/foggy.png differ diff --git a/public/images/emoji/apple/football.png b/public/images/emoji/apple/football.png index 343b00ed9..5d25a3a58 100644 Binary files a/public/images/emoji/apple/football.png and b/public/images/emoji/apple/football.png differ diff --git a/public/images/emoji/apple/footprints.png b/public/images/emoji/apple/footprints.png index f1c3d0cf6..73c0cb7c2 100644 Binary files a/public/images/emoji/apple/footprints.png and b/public/images/emoji/apple/footprints.png differ diff --git a/public/images/emoji/apple/fork_and_knife.png b/public/images/emoji/apple/fork_and_knife.png index 70fae6c3d..e0b8b0aa6 100644 Binary files a/public/images/emoji/apple/fork_and_knife.png and b/public/images/emoji/apple/fork_and_knife.png differ diff --git a/public/images/emoji/apple/fork_and_knife_with_plate.png b/public/images/emoji/apple/fork_and_knife_with_plate.png new file mode 100644 index 000000000..32e586bd6 Binary files /dev/null and b/public/images/emoji/apple/fork_and_knife_with_plate.png differ diff --git a/public/images/emoji/apple/fork_knife_plate.png b/public/images/emoji/apple/fork_knife_plate.png index 0abb5afed..32e586bd6 100644 Binary files a/public/images/emoji/apple/fork_knife_plate.png and b/public/images/emoji/apple/fork_knife_plate.png differ diff --git a/public/images/emoji/apple/fountain.png b/public/images/emoji/apple/fountain.png index e243a015d..3517896f8 100644 Binary files a/public/images/emoji/apple/fountain.png and b/public/images/emoji/apple/fountain.png differ diff --git a/public/images/emoji/apple/four.png b/public/images/emoji/apple/four.png index 20150cb2e..e69de29bb 100644 Binary files a/public/images/emoji/apple/four.png and b/public/images/emoji/apple/four.png differ diff --git a/public/images/emoji/apple/four_leaf_clover.png b/public/images/emoji/apple/four_leaf_clover.png index 33a7e80a6..54206ae16 100644 Binary files a/public/images/emoji/apple/four_leaf_clover.png and b/public/images/emoji/apple/four_leaf_clover.png differ diff --git a/public/images/emoji/apple/fr.png b/public/images/emoji/apple/fr.png index 1e900b303..efcd5fff7 100644 Binary files a/public/images/emoji/apple/fr.png and b/public/images/emoji/apple/fr.png differ diff --git a/public/images/emoji/apple/frame_photo.png b/public/images/emoji/apple/frame_photo.png index 75b50f260..3fe887c4f 100644 Binary files a/public/images/emoji/apple/frame_photo.png and b/public/images/emoji/apple/frame_photo.png differ diff --git a/public/images/emoji/apple/frame_with_picture.png b/public/images/emoji/apple/frame_with_picture.png new file mode 100644 index 000000000..3fe887c4f Binary files /dev/null and b/public/images/emoji/apple/frame_with_picture.png differ diff --git a/public/images/emoji/apple/free.png b/public/images/emoji/apple/free.png index 58b82df26..17ba34e06 100644 Binary files a/public/images/emoji/apple/free.png and b/public/images/emoji/apple/free.png differ diff --git a/public/images/emoji/apple/fried_shrimp.png b/public/images/emoji/apple/fried_shrimp.png index a135a7e7d..d5fe96901 100644 Binary files a/public/images/emoji/apple/fried_shrimp.png and b/public/images/emoji/apple/fried_shrimp.png differ diff --git a/public/images/emoji/apple/fries.png b/public/images/emoji/apple/fries.png index 3ddf1524c..ceac1ce25 100644 Binary files a/public/images/emoji/apple/fries.png and b/public/images/emoji/apple/fries.png differ diff --git a/public/images/emoji/apple/frog.png b/public/images/emoji/apple/frog.png index 582b01682..a81202807 100644 Binary files a/public/images/emoji/apple/frog.png and b/public/images/emoji/apple/frog.png differ diff --git a/public/images/emoji/apple/frowning.png b/public/images/emoji/apple/frowning.png index 3f997f702..b890f3162 100644 Binary files a/public/images/emoji/apple/frowning.png and b/public/images/emoji/apple/frowning.png differ diff --git a/public/images/emoji/apple/frowning2.png b/public/images/emoji/apple/frowning2.png index 917fc06cb..ad1715f8a 100644 Binary files a/public/images/emoji/apple/frowning2.png and b/public/images/emoji/apple/frowning2.png differ diff --git a/public/images/emoji/apple/fuelpump.png b/public/images/emoji/apple/fuelpump.png index b6c8846cc..95bcfa3f4 100644 Binary files a/public/images/emoji/apple/fuelpump.png and b/public/images/emoji/apple/fuelpump.png differ diff --git a/public/images/emoji/apple/full_moon.png b/public/images/emoji/apple/full_moon.png index 74a84d3aa..c406073ba 100644 Binary files a/public/images/emoji/apple/full_moon.png and b/public/images/emoji/apple/full_moon.png differ diff --git a/public/images/emoji/apple/full_moon_with_face.png b/public/images/emoji/apple/full_moon_with_face.png index 299450956..4860a30a5 100644 Binary files a/public/images/emoji/apple/full_moon_with_face.png and b/public/images/emoji/apple/full_moon_with_face.png differ diff --git a/public/images/emoji/apple/funeral_urn.png b/public/images/emoji/apple/funeral_urn.png new file mode 100644 index 000000000..f89584d19 Binary files /dev/null and b/public/images/emoji/apple/funeral_urn.png differ diff --git a/public/images/emoji/apple/game_die.png b/public/images/emoji/apple/game_die.png index 1d5207a93..95f9940b3 100644 Binary files a/public/images/emoji/apple/game_die.png and b/public/images/emoji/apple/game_die.png differ diff --git a/public/images/emoji/apple/gb.png b/public/images/emoji/apple/gb.png index 1ff35d071..1d15d6cb9 100644 Binary files a/public/images/emoji/apple/gb.png and b/public/images/emoji/apple/gb.png differ diff --git a/public/images/emoji/apple/gear.png b/public/images/emoji/apple/gear.png index 465d74e5f..2e1728b44 100644 Binary files a/public/images/emoji/apple/gear.png and b/public/images/emoji/apple/gear.png differ diff --git a/public/images/emoji/apple/gem.png b/public/images/emoji/apple/gem.png index 7c16e8cfb..ea245e888 100644 Binary files a/public/images/emoji/apple/gem.png and b/public/images/emoji/apple/gem.png differ diff --git a/public/images/emoji/apple/gemini.png b/public/images/emoji/apple/gemini.png index 455e0e226..c1be48245 100644 Binary files a/public/images/emoji/apple/gemini.png and b/public/images/emoji/apple/gemini.png differ diff --git a/public/images/emoji/apple/ghost.png b/public/images/emoji/apple/ghost.png index 2166ae49f..0c3ee026c 100644 Binary files a/public/images/emoji/apple/ghost.png and b/public/images/emoji/apple/ghost.png differ diff --git a/public/images/emoji/apple/gift.png b/public/images/emoji/apple/gift.png index 6ce643a2f..040409ea9 100644 Binary files a/public/images/emoji/apple/gift.png and b/public/images/emoji/apple/gift.png differ diff --git a/public/images/emoji/apple/gift_heart.png b/public/images/emoji/apple/gift_heart.png index 9c083596d..b7408e2db 100644 Binary files a/public/images/emoji/apple/gift_heart.png and b/public/images/emoji/apple/gift_heart.png differ diff --git a/public/images/emoji/apple/girl.png b/public/images/emoji/apple/girl.png index ab8ebc039..39b4ab5e2 100644 Binary files a/public/images/emoji/apple/girl.png and b/public/images/emoji/apple/girl.png differ diff --git a/public/images/emoji/apple/globe_with_meridians.png b/public/images/emoji/apple/globe_with_meridians.png index ad52c3989..3b7ac086c 100644 Binary files a/public/images/emoji/apple/globe_with_meridians.png and b/public/images/emoji/apple/globe_with_meridians.png differ diff --git a/public/images/emoji/apple/goat.png b/public/images/emoji/apple/goat.png index 3f733848b..f1cf594a2 100644 Binary files a/public/images/emoji/apple/goat.png and b/public/images/emoji/apple/goat.png differ diff --git a/public/images/emoji/apple/golf.png b/public/images/emoji/apple/golf.png index 80179df66..026859eba 100644 Binary files a/public/images/emoji/apple/golf.png and b/public/images/emoji/apple/golf.png differ diff --git a/public/images/emoji/apple/golfer.png b/public/images/emoji/apple/golfer.png index ddbe2baef..b2f8b1a78 100644 Binary files a/public/images/emoji/apple/golfer.png and b/public/images/emoji/apple/golfer.png differ diff --git a/public/images/emoji/apple/grandma.png b/public/images/emoji/apple/grandma.png new file mode 100644 index 000000000..12a5fc330 Binary files /dev/null and b/public/images/emoji/apple/grandma.png differ diff --git a/public/images/emoji/apple/grapes.png b/public/images/emoji/apple/grapes.png index 82b06b6bb..b26c18eae 100644 Binary files a/public/images/emoji/apple/grapes.png and b/public/images/emoji/apple/grapes.png differ diff --git a/public/images/emoji/apple/green_apple.png b/public/images/emoji/apple/green_apple.png index c1be9b656..61177bee0 100644 Binary files a/public/images/emoji/apple/green_apple.png and b/public/images/emoji/apple/green_apple.png differ diff --git a/public/images/emoji/apple/green_book.png b/public/images/emoji/apple/green_book.png index 70366c178..502e21fdb 100644 Binary files a/public/images/emoji/apple/green_book.png and b/public/images/emoji/apple/green_book.png differ diff --git a/public/images/emoji/apple/green_heart.png b/public/images/emoji/apple/green_heart.png index 19688bd2c..4965bffa4 100644 Binary files a/public/images/emoji/apple/green_heart.png and b/public/images/emoji/apple/green_heart.png differ diff --git a/public/images/emoji/apple/grey_exclamation.png b/public/images/emoji/apple/grey_exclamation.png index 59aba9d09..ba7ea95e0 100644 Binary files a/public/images/emoji/apple/grey_exclamation.png and b/public/images/emoji/apple/grey_exclamation.png differ diff --git a/public/images/emoji/apple/grey_question.png b/public/images/emoji/apple/grey_question.png index 2049ace24..36de471f1 100644 Binary files a/public/images/emoji/apple/grey_question.png and b/public/images/emoji/apple/grey_question.png differ diff --git a/public/images/emoji/apple/grimacing.png b/public/images/emoji/apple/grimacing.png index 814266fa0..58df57b80 100644 Binary files a/public/images/emoji/apple/grimacing.png and b/public/images/emoji/apple/grimacing.png differ diff --git a/public/images/emoji/apple/grin.png b/public/images/emoji/apple/grin.png index 350c5dbbe..56ac5e5f6 100644 Binary files a/public/images/emoji/apple/grin.png and b/public/images/emoji/apple/grin.png differ diff --git a/public/images/emoji/apple/grinning.png b/public/images/emoji/apple/grinning.png index 2b9b09bb6..b8f34e83e 100644 Binary files a/public/images/emoji/apple/grinning.png and b/public/images/emoji/apple/grinning.png differ diff --git a/public/images/emoji/apple/guardsman.png b/public/images/emoji/apple/guardsman.png index 92fe86fe9..4e77f192e 100644 Binary files a/public/images/emoji/apple/guardsman.png and b/public/images/emoji/apple/guardsman.png differ diff --git a/public/images/emoji/apple/guitar.png b/public/images/emoji/apple/guitar.png index 9d5b90a17..8f10c6a23 100644 Binary files a/public/images/emoji/apple/guitar.png and b/public/images/emoji/apple/guitar.png differ diff --git a/public/images/emoji/apple/gun.png b/public/images/emoji/apple/gun.png index f4f717415..4c8f30a2b 100644 Binary files a/public/images/emoji/apple/gun.png and b/public/images/emoji/apple/gun.png differ diff --git a/public/images/emoji/apple/haircut.png b/public/images/emoji/apple/haircut.png index 5635ced67..ceac9642a 100644 Binary files a/public/images/emoji/apple/haircut.png and b/public/images/emoji/apple/haircut.png differ diff --git a/public/images/emoji/apple/hamburger.png b/public/images/emoji/apple/hamburger.png index 57370bb66..38b41e606 100644 Binary files a/public/images/emoji/apple/hamburger.png and b/public/images/emoji/apple/hamburger.png differ diff --git a/public/images/emoji/apple/hammer.png b/public/images/emoji/apple/hammer.png index b6bf1e115..312c0274c 100644 Binary files a/public/images/emoji/apple/hammer.png and b/public/images/emoji/apple/hammer.png differ diff --git a/public/images/emoji/apple/hammer_and_pick.png b/public/images/emoji/apple/hammer_and_pick.png new file mode 100644 index 000000000..2e1bb27eb Binary files /dev/null and b/public/images/emoji/apple/hammer_and_pick.png differ diff --git a/public/images/emoji/apple/hammer_and_wrench.png b/public/images/emoji/apple/hammer_and_wrench.png new file mode 100644 index 000000000..32050b23f Binary files /dev/null and b/public/images/emoji/apple/hammer_and_wrench.png differ diff --git a/public/images/emoji/apple/hammer_pick.png b/public/images/emoji/apple/hammer_pick.png index d18d84cf9..2e1bb27eb 100644 Binary files a/public/images/emoji/apple/hammer_pick.png and b/public/images/emoji/apple/hammer_pick.png differ diff --git a/public/images/emoji/apple/hamster.png b/public/images/emoji/apple/hamster.png index b15c000ef..9268609b7 100644 Binary files a/public/images/emoji/apple/hamster.png and b/public/images/emoji/apple/hamster.png differ diff --git a/public/images/emoji/apple/hand.png b/public/images/emoji/apple/hand.png deleted file mode 100644 index ee11cca7b..000000000 Binary files a/public/images/emoji/apple/hand.png and /dev/null differ diff --git a/public/images/emoji/apple/hand_splayed.png b/public/images/emoji/apple/hand_splayed.png index f26ba2724..c05031e50 100644 Binary files a/public/images/emoji/apple/hand_splayed.png and b/public/images/emoji/apple/hand_splayed.png differ diff --git a/public/images/emoji/apple/handbag.png b/public/images/emoji/apple/handbag.png index 138ae9e26..28406089b 100644 Binary files a/public/images/emoji/apple/handbag.png and b/public/images/emoji/apple/handbag.png differ diff --git a/public/images/emoji/apple/hankey.png b/public/images/emoji/apple/hankey.png index 4806bffba..a025f4300 100644 Binary files a/public/images/emoji/apple/hankey.png and b/public/images/emoji/apple/hankey.png differ diff --git a/public/images/emoji/apple/hash.png b/public/images/emoji/apple/hash.png index d80068cdf..e69de29bb 100644 Binary files a/public/images/emoji/apple/hash.png and b/public/images/emoji/apple/hash.png differ diff --git a/public/images/emoji/apple/hatched_chick.png b/public/images/emoji/apple/hatched_chick.png index cb5635129..232d87bdd 100644 Binary files a/public/images/emoji/apple/hatched_chick.png and b/public/images/emoji/apple/hatched_chick.png differ diff --git a/public/images/emoji/apple/hatching_chick.png b/public/images/emoji/apple/hatching_chick.png index 0951038f2..5042b9b51 100644 Binary files a/public/images/emoji/apple/hatching_chick.png and b/public/images/emoji/apple/hatching_chick.png differ diff --git a/public/images/emoji/apple/head_bandage.png b/public/images/emoji/apple/head_bandage.png index f3fb32796..953be4543 100644 Binary files a/public/images/emoji/apple/head_bandage.png and b/public/images/emoji/apple/head_bandage.png differ diff --git a/public/images/emoji/apple/headphones.png b/public/images/emoji/apple/headphones.png index 9b5bde3bc..242847cf8 100644 Binary files a/public/images/emoji/apple/headphones.png and b/public/images/emoji/apple/headphones.png differ diff --git a/public/images/emoji/apple/hear_no_evil.png b/public/images/emoji/apple/hear_no_evil.png index 3f7ac5c35..4a750ae86 100644 Binary files a/public/images/emoji/apple/hear_no_evil.png and b/public/images/emoji/apple/hear_no_evil.png differ diff --git a/public/images/emoji/apple/heart.png b/public/images/emoji/apple/heart.png index 42a0345b9..6196202e2 100644 Binary files a/public/images/emoji/apple/heart.png and b/public/images/emoji/apple/heart.png differ diff --git a/public/images/emoji/apple/heart_decoration.png b/public/images/emoji/apple/heart_decoration.png index 0d9278ff6..8a0f4820d 100644 Binary files a/public/images/emoji/apple/heart_decoration.png and b/public/images/emoji/apple/heart_decoration.png differ diff --git a/public/images/emoji/apple/heart_exclamation.png b/public/images/emoji/apple/heart_exclamation.png index 6b4ad655b..7edec5334 100644 Binary files a/public/images/emoji/apple/heart_exclamation.png and b/public/images/emoji/apple/heart_exclamation.png differ diff --git a/public/images/emoji/apple/heart_eyes.png b/public/images/emoji/apple/heart_eyes.png index 13c50ef20..182e30518 100644 Binary files a/public/images/emoji/apple/heart_eyes.png and b/public/images/emoji/apple/heart_eyes.png differ diff --git a/public/images/emoji/apple/heart_eyes_cat.png b/public/images/emoji/apple/heart_eyes_cat.png index 3a4279b96..36ff74b5a 100644 Binary files a/public/images/emoji/apple/heart_eyes_cat.png and b/public/images/emoji/apple/heart_eyes_cat.png differ diff --git a/public/images/emoji/apple/heartbeat.png b/public/images/emoji/apple/heartbeat.png index 56ee7c2be..28e17ec9f 100644 Binary files a/public/images/emoji/apple/heartbeat.png and b/public/images/emoji/apple/heartbeat.png differ diff --git a/public/images/emoji/apple/heartpulse.png b/public/images/emoji/apple/heartpulse.png index 2d6257b63..563da2337 100644 Binary files a/public/images/emoji/apple/heartpulse.png and b/public/images/emoji/apple/heartpulse.png differ diff --git a/public/images/emoji/apple/hearts.png b/public/images/emoji/apple/hearts.png index 6800fca9d..01af5269d 100644 Binary files a/public/images/emoji/apple/hearts.png and b/public/images/emoji/apple/hearts.png differ diff --git a/public/images/emoji/apple/heavy_check_mark.png b/public/images/emoji/apple/heavy_check_mark.png index 7d83081cf..8f5df9a58 100644 Binary files a/public/images/emoji/apple/heavy_check_mark.png and b/public/images/emoji/apple/heavy_check_mark.png differ diff --git a/public/images/emoji/apple/heavy_division_sign.png b/public/images/emoji/apple/heavy_division_sign.png index ee8aae069..7f224dcc9 100644 Binary files a/public/images/emoji/apple/heavy_division_sign.png and b/public/images/emoji/apple/heavy_division_sign.png differ diff --git a/public/images/emoji/apple/heavy_dollar_sign.png b/public/images/emoji/apple/heavy_dollar_sign.png index 117325dc7..af05de18b 100644 Binary files a/public/images/emoji/apple/heavy_dollar_sign.png and b/public/images/emoji/apple/heavy_dollar_sign.png differ diff --git a/public/images/emoji/apple/heavy_exclamation_mark.png b/public/images/emoji/apple/heavy_exclamation_mark.png deleted file mode 100644 index 3d585df79..000000000 Binary files a/public/images/emoji/apple/heavy_exclamation_mark.png and /dev/null differ diff --git a/public/images/emoji/apple/heavy_heart_exclamation_mark_ornament.png b/public/images/emoji/apple/heavy_heart_exclamation_mark_ornament.png new file mode 100644 index 000000000..7edec5334 Binary files /dev/null and b/public/images/emoji/apple/heavy_heart_exclamation_mark_ornament.png differ diff --git a/public/images/emoji/apple/heavy_minus_sign.png b/public/images/emoji/apple/heavy_minus_sign.png index 492913aa3..fb41ed5f9 100644 Binary files a/public/images/emoji/apple/heavy_minus_sign.png and b/public/images/emoji/apple/heavy_minus_sign.png differ diff --git a/public/images/emoji/apple/heavy_multiplication_x.png b/public/images/emoji/apple/heavy_multiplication_x.png index 1916e4062..ee205aa37 100644 Binary files a/public/images/emoji/apple/heavy_multiplication_x.png and b/public/images/emoji/apple/heavy_multiplication_x.png differ diff --git a/public/images/emoji/apple/heavy_plus_sign.png b/public/images/emoji/apple/heavy_plus_sign.png index b463983c7..7f6d731aa 100644 Binary files a/public/images/emoji/apple/heavy_plus_sign.png and b/public/images/emoji/apple/heavy_plus_sign.png differ diff --git a/public/images/emoji/apple/helicopter.png b/public/images/emoji/apple/helicopter.png index a52cb26db..181c997d8 100644 Binary files a/public/images/emoji/apple/helicopter.png and b/public/images/emoji/apple/helicopter.png differ diff --git a/public/images/emoji/apple/helmet_with_cross.png b/public/images/emoji/apple/helmet_with_cross.png index e93c2897c..cb34ef2b0 100644 Binary files a/public/images/emoji/apple/helmet_with_cross.png and b/public/images/emoji/apple/helmet_with_cross.png differ diff --git a/public/images/emoji/apple/helmet_with_white_cross.png b/public/images/emoji/apple/helmet_with_white_cross.png new file mode 100644 index 000000000..cb34ef2b0 Binary files /dev/null and b/public/images/emoji/apple/helmet_with_white_cross.png differ diff --git a/public/images/emoji/apple/herb.png b/public/images/emoji/apple/herb.png index 436fd17d7..cc58c937e 100644 Binary files a/public/images/emoji/apple/herb.png and b/public/images/emoji/apple/herb.png differ diff --git a/public/images/emoji/apple/hibiscus.png b/public/images/emoji/apple/hibiscus.png index ac18da8ee..7b5d897d2 100644 Binary files a/public/images/emoji/apple/hibiscus.png and b/public/images/emoji/apple/hibiscus.png differ diff --git a/public/images/emoji/apple/high_brightness.png b/public/images/emoji/apple/high_brightness.png index f3b9e9781..8a9d9cb44 100644 Binary files a/public/images/emoji/apple/high_brightness.png and b/public/images/emoji/apple/high_brightness.png differ diff --git a/public/images/emoji/apple/high_heel.png b/public/images/emoji/apple/high_heel.png index 845655fbb..64261a93e 100644 Binary files a/public/images/emoji/apple/high_heel.png and b/public/images/emoji/apple/high_heel.png differ diff --git a/public/images/emoji/apple/hocho.png b/public/images/emoji/apple/hocho.png deleted file mode 100644 index 08195b631..000000000 Binary files a/public/images/emoji/apple/hocho.png and /dev/null differ diff --git a/public/images/emoji/apple/hockey.png b/public/images/emoji/apple/hockey.png index b6fb640c5..920f6300b 100644 Binary files a/public/images/emoji/apple/hockey.png and b/public/images/emoji/apple/hockey.png differ diff --git a/public/images/emoji/apple/hole.png b/public/images/emoji/apple/hole.png index dba53ead6..0d2485f6f 100644 Binary files a/public/images/emoji/apple/hole.png and b/public/images/emoji/apple/hole.png differ diff --git a/public/images/emoji/apple/homes.png b/public/images/emoji/apple/homes.png index 08f06a1fd..67060deb4 100644 Binary files a/public/images/emoji/apple/homes.png and b/public/images/emoji/apple/homes.png differ diff --git a/public/images/emoji/apple/honey_pot.png b/public/images/emoji/apple/honey_pot.png index df03acfbc..b65765fdf 100644 Binary files a/public/images/emoji/apple/honey_pot.png and b/public/images/emoji/apple/honey_pot.png differ diff --git a/public/images/emoji/apple/honeybee.png b/public/images/emoji/apple/honeybee.png deleted file mode 100644 index 5f56f6e87..000000000 Binary files a/public/images/emoji/apple/honeybee.png and /dev/null differ diff --git a/public/images/emoji/apple/horse.png b/public/images/emoji/apple/horse.png index 042a1414e..63926ee7a 100644 Binary files a/public/images/emoji/apple/horse.png and b/public/images/emoji/apple/horse.png differ diff --git a/public/images/emoji/apple/horse_racing.png b/public/images/emoji/apple/horse_racing.png index 6cc48adde..ce325bf5d 100644 Binary files a/public/images/emoji/apple/horse_racing.png and b/public/images/emoji/apple/horse_racing.png differ diff --git a/public/images/emoji/apple/hospital.png b/public/images/emoji/apple/hospital.png index 2106ccc51..9f4857037 100644 Binary files a/public/images/emoji/apple/hospital.png and b/public/images/emoji/apple/hospital.png differ diff --git a/public/images/emoji/apple/hot_dog.png b/public/images/emoji/apple/hot_dog.png new file mode 100644 index 000000000..597cbd57f Binary files /dev/null and b/public/images/emoji/apple/hot_dog.png differ diff --git a/public/images/emoji/apple/hot_pepper.png b/public/images/emoji/apple/hot_pepper.png index 70669ca87..3a21bcb2a 100644 Binary files a/public/images/emoji/apple/hot_pepper.png and b/public/images/emoji/apple/hot_pepper.png differ diff --git a/public/images/emoji/apple/hotdog.png b/public/images/emoji/apple/hotdog.png index 262c1cde7..597cbd57f 100644 Binary files a/public/images/emoji/apple/hotdog.png and b/public/images/emoji/apple/hotdog.png differ diff --git a/public/images/emoji/apple/hotel.png b/public/images/emoji/apple/hotel.png index a76cbd536..7fd5f3e06 100644 Binary files a/public/images/emoji/apple/hotel.png and b/public/images/emoji/apple/hotel.png differ diff --git a/public/images/emoji/apple/hotsprings.png b/public/images/emoji/apple/hotsprings.png index 9e52daf8a..b389edfe5 100644 Binary files a/public/images/emoji/apple/hotsprings.png and b/public/images/emoji/apple/hotsprings.png differ diff --git a/public/images/emoji/apple/hourglass.png b/public/images/emoji/apple/hourglass.png index b1e9a8d31..c092680ed 100644 Binary files a/public/images/emoji/apple/hourglass.png and b/public/images/emoji/apple/hourglass.png differ diff --git a/public/images/emoji/apple/hourglass_flowing_sand.png b/public/images/emoji/apple/hourglass_flowing_sand.png index b1f8b76fa..3b9ed4b00 100644 Binary files a/public/images/emoji/apple/hourglass_flowing_sand.png and b/public/images/emoji/apple/hourglass_flowing_sand.png differ diff --git a/public/images/emoji/apple/house.png b/public/images/emoji/apple/house.png index c03fa9555..9ed7b523f 100644 Binary files a/public/images/emoji/apple/house.png and b/public/images/emoji/apple/house.png differ diff --git a/public/images/emoji/apple/house_abandoned.png b/public/images/emoji/apple/house_abandoned.png index 91de07701..a389ff82a 100644 Binary files a/public/images/emoji/apple/house_abandoned.png and b/public/images/emoji/apple/house_abandoned.png differ diff --git a/public/images/emoji/apple/house_buildings.png b/public/images/emoji/apple/house_buildings.png new file mode 100644 index 000000000..67060deb4 Binary files /dev/null and b/public/images/emoji/apple/house_buildings.png differ diff --git a/public/images/emoji/apple/house_with_garden.png b/public/images/emoji/apple/house_with_garden.png index a204451bf..21fc35aff 100644 Binary files a/public/images/emoji/apple/house_with_garden.png and b/public/images/emoji/apple/house_with_garden.png differ diff --git a/public/images/emoji/apple/hugging.png b/public/images/emoji/apple/hugging.png index efe205463..3bbffdd26 100644 Binary files a/public/images/emoji/apple/hugging.png and b/public/images/emoji/apple/hugging.png differ diff --git a/public/images/emoji/apple/hugging_face.png b/public/images/emoji/apple/hugging_face.png new file mode 100644 index 000000000..3bbffdd26 Binary files /dev/null and b/public/images/emoji/apple/hugging_face.png differ diff --git a/public/images/emoji/apple/hushed.png b/public/images/emoji/apple/hushed.png index 660a11c81..062f12fa2 100644 Binary files a/public/images/emoji/apple/hushed.png and b/public/images/emoji/apple/hushed.png differ diff --git a/public/images/emoji/apple/ice_cream.png b/public/images/emoji/apple/ice_cream.png index 18e395d89..a07520acd 100644 Binary files a/public/images/emoji/apple/ice_cream.png and b/public/images/emoji/apple/ice_cream.png differ diff --git a/public/images/emoji/apple/ice_skate.png b/public/images/emoji/apple/ice_skate.png index ed97c898b..758b3f633 100644 Binary files a/public/images/emoji/apple/ice_skate.png and b/public/images/emoji/apple/ice_skate.png differ diff --git a/public/images/emoji/apple/icecream.png b/public/images/emoji/apple/icecream.png index 37141ecf6..ae34442c5 100644 Binary files a/public/images/emoji/apple/icecream.png and b/public/images/emoji/apple/icecream.png differ diff --git a/public/images/emoji/apple/id.png b/public/images/emoji/apple/id.png index 7ae173c37..21e3b01e3 100644 Binary files a/public/images/emoji/apple/id.png and b/public/images/emoji/apple/id.png differ diff --git a/public/images/emoji/apple/ideograph_advantage.png b/public/images/emoji/apple/ideograph_advantage.png index 2e1a1eefc..e958e1e46 100644 Binary files a/public/images/emoji/apple/ideograph_advantage.png and b/public/images/emoji/apple/ideograph_advantage.png differ diff --git a/public/images/emoji/apple/imp.png b/public/images/emoji/apple/imp.png index c5419d5d8..37f9ff7fd 100644 Binary files a/public/images/emoji/apple/imp.png and b/public/images/emoji/apple/imp.png differ diff --git a/public/images/emoji/apple/inbox_tray.png b/public/images/emoji/apple/inbox_tray.png index 96896d1f1..af742430b 100644 Binary files a/public/images/emoji/apple/inbox_tray.png and b/public/images/emoji/apple/inbox_tray.png differ diff --git a/public/images/emoji/apple/incoming_envelope.png b/public/images/emoji/apple/incoming_envelope.png index be1e6ca7c..534d59345 100644 Binary files a/public/images/emoji/apple/incoming_envelope.png and b/public/images/emoji/apple/incoming_envelope.png differ diff --git a/public/images/emoji/apple/information_desk_person.png b/public/images/emoji/apple/information_desk_person.png index f0f2f06e9..9d471c749 100644 Binary files a/public/images/emoji/apple/information_desk_person.png and b/public/images/emoji/apple/information_desk_person.png differ diff --git a/public/images/emoji/apple/information_source.png b/public/images/emoji/apple/information_source.png index f20c5d168..7320d245a 100644 Binary files a/public/images/emoji/apple/information_source.png and b/public/images/emoji/apple/information_source.png differ diff --git a/public/images/emoji/apple/innocent.png b/public/images/emoji/apple/innocent.png index ac819fd42..2c454ee0d 100644 Binary files a/public/images/emoji/apple/innocent.png and b/public/images/emoji/apple/innocent.png differ diff --git a/public/images/emoji/apple/interrobang.png b/public/images/emoji/apple/interrobang.png index cacb8b899..ffd4a14ca 100644 Binary files a/public/images/emoji/apple/interrobang.png and b/public/images/emoji/apple/interrobang.png differ diff --git a/public/images/emoji/apple/iphone.png b/public/images/emoji/apple/iphone.png index 0e2b9ac5c..a5198b3c8 100644 Binary files a/public/images/emoji/apple/iphone.png and b/public/images/emoji/apple/iphone.png differ diff --git a/public/images/emoji/apple/island.png b/public/images/emoji/apple/island.png index d5957062b..21bb67b35 100644 Binary files a/public/images/emoji/apple/island.png and b/public/images/emoji/apple/island.png differ diff --git a/public/images/emoji/apple/it.png b/public/images/emoji/apple/it.png index c332890a0..0e5bc29da 100644 Binary files a/public/images/emoji/apple/it.png and b/public/images/emoji/apple/it.png differ diff --git a/public/images/emoji/apple/izakaya_lantern.png b/public/images/emoji/apple/izakaya_lantern.png index cd73b3dfc..fd6bec82c 100644 Binary files a/public/images/emoji/apple/izakaya_lantern.png and b/public/images/emoji/apple/izakaya_lantern.png differ diff --git a/public/images/emoji/apple/jack_o_lantern.png b/public/images/emoji/apple/jack_o_lantern.png index a24698fe9..82537a4c6 100644 Binary files a/public/images/emoji/apple/jack_o_lantern.png and b/public/images/emoji/apple/jack_o_lantern.png differ diff --git a/public/images/emoji/apple/japan.png b/public/images/emoji/apple/japan.png index e7c7b901e..ea85cef14 100644 Binary files a/public/images/emoji/apple/japan.png and b/public/images/emoji/apple/japan.png differ diff --git a/public/images/emoji/apple/japanese_castle.png b/public/images/emoji/apple/japanese_castle.png index 73d09382d..d822790c3 100644 Binary files a/public/images/emoji/apple/japanese_castle.png and b/public/images/emoji/apple/japanese_castle.png differ diff --git a/public/images/emoji/apple/japanese_goblin.png b/public/images/emoji/apple/japanese_goblin.png index 0478af390..fd28cf8a2 100644 Binary files a/public/images/emoji/apple/japanese_goblin.png and b/public/images/emoji/apple/japanese_goblin.png differ diff --git a/public/images/emoji/apple/japanese_ogre.png b/public/images/emoji/apple/japanese_ogre.png index 8d37eeeae..af567ff1b 100644 Binary files a/public/images/emoji/apple/japanese_ogre.png and b/public/images/emoji/apple/japanese_ogre.png differ diff --git a/public/images/emoji/apple/jeans.png b/public/images/emoji/apple/jeans.png index 6523fe574..3428cc4ff 100644 Binary files a/public/images/emoji/apple/jeans.png and b/public/images/emoji/apple/jeans.png differ diff --git a/public/images/emoji/apple/joy.png b/public/images/emoji/apple/joy.png index 5592587f4..89fab99cd 100644 Binary files a/public/images/emoji/apple/joy.png and b/public/images/emoji/apple/joy.png differ diff --git a/public/images/emoji/apple/joy_cat.png b/public/images/emoji/apple/joy_cat.png index 206ebb865..86730e80e 100644 Binary files a/public/images/emoji/apple/joy_cat.png and b/public/images/emoji/apple/joy_cat.png differ diff --git a/public/images/emoji/apple/joystick.png b/public/images/emoji/apple/joystick.png index 198d72490..acb77c015 100644 Binary files a/public/images/emoji/apple/joystick.png and b/public/images/emoji/apple/joystick.png differ diff --git a/public/images/emoji/apple/jp.png b/public/images/emoji/apple/jp.png index beb79a4ac..4462748e5 100644 Binary files a/public/images/emoji/apple/jp.png and b/public/images/emoji/apple/jp.png differ diff --git a/public/images/emoji/apple/kaaba.png b/public/images/emoji/apple/kaaba.png index 7319c5b06..6cdb35724 100644 Binary files a/public/images/emoji/apple/kaaba.png and b/public/images/emoji/apple/kaaba.png differ diff --git a/public/images/emoji/apple/key.png b/public/images/emoji/apple/key.png index 219fb9467..7680caf18 100644 Binary files a/public/images/emoji/apple/key.png and b/public/images/emoji/apple/key.png differ diff --git a/public/images/emoji/apple/key2.png b/public/images/emoji/apple/key2.png index 0fe04f3d2..a35dd1afd 100644 Binary files a/public/images/emoji/apple/key2.png and b/public/images/emoji/apple/key2.png differ diff --git a/public/images/emoji/apple/keyboard.png b/public/images/emoji/apple/keyboard.png index f4e6fa7ee..3f3819ebc 100644 Binary files a/public/images/emoji/apple/keyboard.png and b/public/images/emoji/apple/keyboard.png differ diff --git a/public/images/emoji/apple/keycap_star.png b/public/images/emoji/apple/keycap_star.png new file mode 100644 index 000000000..e69de29bb diff --git a/public/images/emoji/apple/keycap_ten.png b/public/images/emoji/apple/keycap_ten.png deleted file mode 100644 index 006ccbb90..000000000 Binary files a/public/images/emoji/apple/keycap_ten.png and /dev/null differ diff --git a/public/images/emoji/apple/kimono.png b/public/images/emoji/apple/kimono.png index 41fd0ba14..78cdce40d 100644 Binary files a/public/images/emoji/apple/kimono.png and b/public/images/emoji/apple/kimono.png differ diff --git a/public/images/emoji/apple/kiss.png b/public/images/emoji/apple/kiss.png index 27440c119..d47ea3998 100644 Binary files a/public/images/emoji/apple/kiss.png and b/public/images/emoji/apple/kiss.png differ diff --git a/public/images/emoji/apple/kissing.png b/public/images/emoji/apple/kissing.png index 1e1de37c4..7fe9b7a3d 100644 Binary files a/public/images/emoji/apple/kissing.png and b/public/images/emoji/apple/kissing.png differ diff --git a/public/images/emoji/apple/kissing_cat.png b/public/images/emoji/apple/kissing_cat.png index 55e67da1c..3e76c73e5 100644 Binary files a/public/images/emoji/apple/kissing_cat.png and b/public/images/emoji/apple/kissing_cat.png differ diff --git a/public/images/emoji/apple/kissing_closed_eyes.png b/public/images/emoji/apple/kissing_closed_eyes.png index d922c081e..5c65b1da3 100644 Binary files a/public/images/emoji/apple/kissing_closed_eyes.png and b/public/images/emoji/apple/kissing_closed_eyes.png differ diff --git a/public/images/emoji/apple/kissing_heart.png b/public/images/emoji/apple/kissing_heart.png index d2fe03b9f..170e9fe11 100644 Binary files a/public/images/emoji/apple/kissing_heart.png and b/public/images/emoji/apple/kissing_heart.png differ diff --git a/public/images/emoji/apple/kissing_smiling_eyes.png b/public/images/emoji/apple/kissing_smiling_eyes.png index fcf208285..c558e5b4c 100644 Binary files a/public/images/emoji/apple/kissing_smiling_eyes.png and b/public/images/emoji/apple/kissing_smiling_eyes.png differ diff --git a/public/images/emoji/apple/knife.png b/public/images/emoji/apple/knife.png index 7cd04b3e0..1704701ef 100644 Binary files a/public/images/emoji/apple/knife.png and b/public/images/emoji/apple/knife.png differ diff --git a/public/images/emoji/apple/koala.png b/public/images/emoji/apple/koala.png index 17eeba297..83accd8bd 100644 Binary files a/public/images/emoji/apple/koala.png and b/public/images/emoji/apple/koala.png differ diff --git a/public/images/emoji/apple/koko.png b/public/images/emoji/apple/koko.png index 215f0a923..52a32055a 100644 Binary files a/public/images/emoji/apple/koko.png and b/public/images/emoji/apple/koko.png differ diff --git a/public/images/emoji/apple/kr.png b/public/images/emoji/apple/kr.png index e9b0b623f..d63cf96b4 100644 Binary files a/public/images/emoji/apple/kr.png and b/public/images/emoji/apple/kr.png differ diff --git a/public/images/emoji/apple/label.png b/public/images/emoji/apple/label.png index b1d000954..493716378 100644 Binary files a/public/images/emoji/apple/label.png and b/public/images/emoji/apple/label.png differ diff --git a/public/images/emoji/apple/lantern.png b/public/images/emoji/apple/lantern.png deleted file mode 100644 index 9c8448acc..000000000 Binary files a/public/images/emoji/apple/lantern.png and /dev/null differ diff --git a/public/images/emoji/apple/large_blue_circle.png b/public/images/emoji/apple/large_blue_circle.png index ed831d4e5..d2ca247fc 100644 Binary files a/public/images/emoji/apple/large_blue_circle.png and b/public/images/emoji/apple/large_blue_circle.png differ diff --git a/public/images/emoji/apple/large_blue_diamond.png b/public/images/emoji/apple/large_blue_diamond.png index 81b53484e..dd141df27 100644 Binary files a/public/images/emoji/apple/large_blue_diamond.png and b/public/images/emoji/apple/large_blue_diamond.png differ diff --git a/public/images/emoji/apple/large_orange_diamond.png b/public/images/emoji/apple/large_orange_diamond.png index dea9d62e5..c489d2374 100644 Binary files a/public/images/emoji/apple/large_orange_diamond.png and b/public/images/emoji/apple/large_orange_diamond.png differ diff --git a/public/images/emoji/apple/last_quarter_moon.png b/public/images/emoji/apple/last_quarter_moon.png index 2cacb70a5..be2f99c8d 100644 Binary files a/public/images/emoji/apple/last_quarter_moon.png and b/public/images/emoji/apple/last_quarter_moon.png differ diff --git a/public/images/emoji/apple/last_quarter_moon_with_face.png b/public/images/emoji/apple/last_quarter_moon_with_face.png index 6f0a426d5..c3013e066 100644 Binary files a/public/images/emoji/apple/last_quarter_moon_with_face.png and b/public/images/emoji/apple/last_quarter_moon_with_face.png differ diff --git a/public/images/emoji/apple/latin_cross.png b/public/images/emoji/apple/latin_cross.png new file mode 100644 index 000000000..10df9c21f Binary files /dev/null and b/public/images/emoji/apple/latin_cross.png differ diff --git a/public/images/emoji/apple/laughing.png b/public/images/emoji/apple/laughing.png index 2dc47165e..7dd973dae 100644 Binary files a/public/images/emoji/apple/laughing.png and b/public/images/emoji/apple/laughing.png differ diff --git a/public/images/emoji/apple/leaves.png b/public/images/emoji/apple/leaves.png index 9b43e5a08..9683f0c2d 100644 Binary files a/public/images/emoji/apple/leaves.png and b/public/images/emoji/apple/leaves.png differ diff --git a/public/images/emoji/apple/ledger.png b/public/images/emoji/apple/ledger.png index 50905acae..dc98beed8 100644 Binary files a/public/images/emoji/apple/ledger.png and b/public/images/emoji/apple/ledger.png differ diff --git a/public/images/emoji/apple/left_luggage.png b/public/images/emoji/apple/left_luggage.png index 94b692a1d..1676faea2 100644 Binary files a/public/images/emoji/apple/left_luggage.png and b/public/images/emoji/apple/left_luggage.png differ diff --git a/public/images/emoji/apple/left_right_arrow.png b/public/images/emoji/apple/left_right_arrow.png index b5971c824..a42bc7629 100644 Binary files a/public/images/emoji/apple/left_right_arrow.png and b/public/images/emoji/apple/left_right_arrow.png differ diff --git a/public/images/emoji/apple/left_speech_bubble.png b/public/images/emoji/apple/left_speech_bubble.png new file mode 100644 index 000000000..69a18462b Binary files /dev/null and b/public/images/emoji/apple/left_speech_bubble.png differ diff --git a/public/images/emoji/apple/leftwards_arrow_with_hook.png b/public/images/emoji/apple/leftwards_arrow_with_hook.png index a5c73faa6..62a4eb347 100644 Binary files a/public/images/emoji/apple/leftwards_arrow_with_hook.png and b/public/images/emoji/apple/leftwards_arrow_with_hook.png differ diff --git a/public/images/emoji/apple/lemon.png b/public/images/emoji/apple/lemon.png index 1acea0f94..69ccd5f28 100644 Binary files a/public/images/emoji/apple/lemon.png and b/public/images/emoji/apple/lemon.png differ diff --git a/public/images/emoji/apple/leo.png b/public/images/emoji/apple/leo.png index a0ec5e6b3..4695c5cc0 100644 Binary files a/public/images/emoji/apple/leo.png and b/public/images/emoji/apple/leo.png differ diff --git a/public/images/emoji/apple/leopard.png b/public/images/emoji/apple/leopard.png index 78e98d15c..abdfc89f2 100644 Binary files a/public/images/emoji/apple/leopard.png and b/public/images/emoji/apple/leopard.png differ diff --git a/public/images/emoji/apple/level_slider.png b/public/images/emoji/apple/level_slider.png index 3a1eef0fa..11dbb07c0 100644 Binary files a/public/images/emoji/apple/level_slider.png and b/public/images/emoji/apple/level_slider.png differ diff --git a/public/images/emoji/apple/levitate.png b/public/images/emoji/apple/levitate.png index 2021cb1ce..7fe50e4a7 100644 Binary files a/public/images/emoji/apple/levitate.png and b/public/images/emoji/apple/levitate.png differ diff --git a/public/images/emoji/apple/libra.png b/public/images/emoji/apple/libra.png index f7c5c0607..13b6597e5 100644 Binary files a/public/images/emoji/apple/libra.png and b/public/images/emoji/apple/libra.png differ diff --git a/public/images/emoji/apple/lifter.png b/public/images/emoji/apple/lifter.png index f86ca7333..9cebc0e16 100644 Binary files a/public/images/emoji/apple/lifter.png and b/public/images/emoji/apple/lifter.png differ diff --git a/public/images/emoji/apple/light_rail.png b/public/images/emoji/apple/light_rail.png index 85d94ff3e..ed49b66e4 100644 Binary files a/public/images/emoji/apple/light_rail.png and b/public/images/emoji/apple/light_rail.png differ diff --git a/public/images/emoji/apple/link.png b/public/images/emoji/apple/link.png index 525fc6bdd..fbca11a6d 100644 Binary files a/public/images/emoji/apple/link.png and b/public/images/emoji/apple/link.png differ diff --git a/public/images/emoji/apple/linked_paperclips.png b/public/images/emoji/apple/linked_paperclips.png new file mode 100644 index 000000000..22e54ef1f Binary files /dev/null and b/public/images/emoji/apple/linked_paperclips.png differ diff --git a/public/images/emoji/apple/lion.png b/public/images/emoji/apple/lion.png new file mode 100644 index 000000000..eebeb8032 Binary files /dev/null and b/public/images/emoji/apple/lion.png differ diff --git a/public/images/emoji/apple/lion_face.png b/public/images/emoji/apple/lion_face.png index 0be5ba6df..eebeb8032 100644 Binary files a/public/images/emoji/apple/lion_face.png and b/public/images/emoji/apple/lion_face.png differ diff --git a/public/images/emoji/apple/lips.png b/public/images/emoji/apple/lips.png index f64367f1c..2a066fb57 100644 Binary files a/public/images/emoji/apple/lips.png and b/public/images/emoji/apple/lips.png differ diff --git a/public/images/emoji/apple/lipstick.png b/public/images/emoji/apple/lipstick.png index f87a1dfde..660f09cfa 100644 Binary files a/public/images/emoji/apple/lipstick.png and b/public/images/emoji/apple/lipstick.png differ diff --git a/public/images/emoji/apple/lock.png b/public/images/emoji/apple/lock.png index c64fcb3d1..c98b92332 100644 Binary files a/public/images/emoji/apple/lock.png and b/public/images/emoji/apple/lock.png differ diff --git a/public/images/emoji/apple/lock_with_ink_pen.png b/public/images/emoji/apple/lock_with_ink_pen.png index 84d4dd259..f07eac6a9 100644 Binary files a/public/images/emoji/apple/lock_with_ink_pen.png and b/public/images/emoji/apple/lock_with_ink_pen.png differ diff --git a/public/images/emoji/apple/lollipop.png b/public/images/emoji/apple/lollipop.png index 71d192b64..7ff4e06e1 100644 Binary files a/public/images/emoji/apple/lollipop.png and b/public/images/emoji/apple/lollipop.png differ diff --git a/public/images/emoji/apple/loop.png b/public/images/emoji/apple/loop.png index 9d7104ee6..5ffecce24 100644 Binary files a/public/images/emoji/apple/loop.png and b/public/images/emoji/apple/loop.png differ diff --git a/public/images/emoji/apple/loud_sound.png b/public/images/emoji/apple/loud_sound.png index 3a0d5d1ca..54ef58d49 100644 Binary files a/public/images/emoji/apple/loud_sound.png and b/public/images/emoji/apple/loud_sound.png differ diff --git a/public/images/emoji/apple/loudspeaker.png b/public/images/emoji/apple/loudspeaker.png index b3f28359e..10c1b16d4 100644 Binary files a/public/images/emoji/apple/loudspeaker.png and b/public/images/emoji/apple/loudspeaker.png differ diff --git a/public/images/emoji/apple/love_hotel.png b/public/images/emoji/apple/love_hotel.png index 97c184ff4..4b9ab9d2f 100644 Binary files a/public/images/emoji/apple/love_hotel.png and b/public/images/emoji/apple/love_hotel.png differ diff --git a/public/images/emoji/apple/love_letter.png b/public/images/emoji/apple/love_letter.png index 84437f95c..33a0f9f81 100644 Binary files a/public/images/emoji/apple/love_letter.png and b/public/images/emoji/apple/love_letter.png differ diff --git a/public/images/emoji/apple/low_brightness.png b/public/images/emoji/apple/low_brightness.png index 68afb33a0..175ca1b74 100644 Binary files a/public/images/emoji/apple/low_brightness.png and b/public/images/emoji/apple/low_brightness.png differ diff --git a/public/images/emoji/apple/lower_left_ballpoint_pen.png b/public/images/emoji/apple/lower_left_ballpoint_pen.png new file mode 100644 index 000000000..7f81b84a6 Binary files /dev/null and b/public/images/emoji/apple/lower_left_ballpoint_pen.png differ diff --git a/public/images/emoji/apple/lower_left_crayon.png b/public/images/emoji/apple/lower_left_crayon.png new file mode 100644 index 000000000..0b0f74157 Binary files /dev/null and b/public/images/emoji/apple/lower_left_crayon.png differ diff --git a/public/images/emoji/apple/lower_left_fountain_pen.png b/public/images/emoji/apple/lower_left_fountain_pen.png new file mode 100644 index 000000000..46b0256af Binary files /dev/null and b/public/images/emoji/apple/lower_left_fountain_pen.png differ diff --git a/public/images/emoji/apple/lower_left_paintbrush.png b/public/images/emoji/apple/lower_left_paintbrush.png new file mode 100644 index 000000000..9b83129cb Binary files /dev/null and b/public/images/emoji/apple/lower_left_paintbrush.png differ diff --git a/public/images/emoji/apple/m.png b/public/images/emoji/apple/m.png index 1f7adc773..26e46db99 100644 Binary files a/public/images/emoji/apple/m.png and b/public/images/emoji/apple/m.png differ diff --git a/public/images/emoji/apple/mag.png b/public/images/emoji/apple/mag.png index 2aa16e4b8..bee1fd33d 100644 Binary files a/public/images/emoji/apple/mag.png and b/public/images/emoji/apple/mag.png differ diff --git a/public/images/emoji/apple/mag_right.png b/public/images/emoji/apple/mag_right.png index 566397542..3f113ef88 100644 Binary files a/public/images/emoji/apple/mag_right.png and b/public/images/emoji/apple/mag_right.png differ diff --git a/public/images/emoji/apple/mahjong.png b/public/images/emoji/apple/mahjong.png index ba805c9ed..b0a0af5c6 100644 Binary files a/public/images/emoji/apple/mahjong.png and b/public/images/emoji/apple/mahjong.png differ diff --git a/public/images/emoji/apple/mailbox.png b/public/images/emoji/apple/mailbox.png index 9c1023488..900519b6a 100644 Binary files a/public/images/emoji/apple/mailbox.png and b/public/images/emoji/apple/mailbox.png differ diff --git a/public/images/emoji/apple/mailbox_closed.png b/public/images/emoji/apple/mailbox_closed.png index fea4b62f0..a59025f9c 100644 Binary files a/public/images/emoji/apple/mailbox_closed.png and b/public/images/emoji/apple/mailbox_closed.png differ diff --git a/public/images/emoji/apple/mailbox_with_mail.png b/public/images/emoji/apple/mailbox_with_mail.png index 8a1ad5bb4..89a18312d 100644 Binary files a/public/images/emoji/apple/mailbox_with_mail.png and b/public/images/emoji/apple/mailbox_with_mail.png differ diff --git a/public/images/emoji/apple/mailbox_with_no_mail.png b/public/images/emoji/apple/mailbox_with_no_mail.png index 5d482d4ac..f66654489 100644 Binary files a/public/images/emoji/apple/mailbox_with_no_mail.png and b/public/images/emoji/apple/mailbox_with_no_mail.png differ diff --git a/public/images/emoji/apple/male_couple_with_heart.png b/public/images/emoji/apple/male_couple_with_heart.png new file mode 100644 index 000000000..41f436aa5 Binary files /dev/null and b/public/images/emoji/apple/male_couple_with_heart.png differ diff --git a/public/images/emoji/apple/male_couplekiss.png b/public/images/emoji/apple/male_couplekiss.png new file mode 100644 index 000000000..87fd1ce11 Binary files /dev/null and b/public/images/emoji/apple/male_couplekiss.png differ diff --git a/public/images/emoji/apple/man.png b/public/images/emoji/apple/man.png index be1c672e1..b52f56643 100644 Binary files a/public/images/emoji/apple/man.png and b/public/images/emoji/apple/man.png differ diff --git a/public/images/emoji/apple/man_in_business_suit_levitating.png b/public/images/emoji/apple/man_in_business_suit_levitating.png new file mode 100644 index 000000000..7fe50e4a7 Binary files /dev/null and b/public/images/emoji/apple/man_in_business_suit_levitating.png differ diff --git a/public/images/emoji/apple/man_with_gua_pi_mao.png b/public/images/emoji/apple/man_with_gua_pi_mao.png index 018dbc107..bc30ea471 100644 Binary files a/public/images/emoji/apple/man_with_gua_pi_mao.png and b/public/images/emoji/apple/man_with_gua_pi_mao.png differ diff --git a/public/images/emoji/apple/man_with_turban.png b/public/images/emoji/apple/man_with_turban.png index 0cf4e049f..62b48e606 100644 Binary files a/public/images/emoji/apple/man_with_turban.png and b/public/images/emoji/apple/man_with_turban.png differ diff --git a/public/images/emoji/apple/mans_shoe.png b/public/images/emoji/apple/mans_shoe.png index e8fefcaf5..8f85df3ad 100644 Binary files a/public/images/emoji/apple/mans_shoe.png and b/public/images/emoji/apple/mans_shoe.png differ diff --git a/public/images/emoji/apple/mantlepiece_clock.png b/public/images/emoji/apple/mantlepiece_clock.png new file mode 100644 index 000000000..be2924b47 Binary files /dev/null and b/public/images/emoji/apple/mantlepiece_clock.png differ diff --git a/public/images/emoji/apple/map.png b/public/images/emoji/apple/map.png index 0faacb80f..aece6a65e 100644 Binary files a/public/images/emoji/apple/map.png and b/public/images/emoji/apple/map.png differ diff --git a/public/images/emoji/apple/maple_leaf.png b/public/images/emoji/apple/maple_leaf.png index 9204fefa2..1f7e8a526 100644 Binary files a/public/images/emoji/apple/maple_leaf.png and b/public/images/emoji/apple/maple_leaf.png differ diff --git a/public/images/emoji/apple/mask.png b/public/images/emoji/apple/mask.png index 21e3d4a0e..5100104ec 100644 Binary files a/public/images/emoji/apple/mask.png and b/public/images/emoji/apple/mask.png differ diff --git a/public/images/emoji/apple/massage.png b/public/images/emoji/apple/massage.png index b20387f97..4f7540d4d 100644 Binary files a/public/images/emoji/apple/massage.png and b/public/images/emoji/apple/massage.png differ diff --git a/public/images/emoji/apple/meat_on_bone.png b/public/images/emoji/apple/meat_on_bone.png index 203932651..2a0fdbfcb 100644 Binary files a/public/images/emoji/apple/meat_on_bone.png and b/public/images/emoji/apple/meat_on_bone.png differ diff --git a/public/images/emoji/apple/medal.png b/public/images/emoji/apple/medal.png index c75dc457c..37e6735eb 100644 Binary files a/public/images/emoji/apple/medal.png and b/public/images/emoji/apple/medal.png differ diff --git a/public/images/emoji/apple/mega.png b/public/images/emoji/apple/mega.png index a011155e7..444cc08ab 100644 Binary files a/public/images/emoji/apple/mega.png and b/public/images/emoji/apple/mega.png differ diff --git a/public/images/emoji/apple/melon.png b/public/images/emoji/apple/melon.png index a3b1c8ffb..dfdc4ca36 100644 Binary files a/public/images/emoji/apple/melon.png and b/public/images/emoji/apple/melon.png differ diff --git a/public/images/emoji/apple/memo.png b/public/images/emoji/apple/memo.png deleted file mode 100644 index c31c97a38..000000000 Binary files a/public/images/emoji/apple/memo.png and /dev/null differ diff --git a/public/images/emoji/apple/menorah.png b/public/images/emoji/apple/menorah.png index 27a8a09c9..216663e5d 100644 Binary files a/public/images/emoji/apple/menorah.png and b/public/images/emoji/apple/menorah.png differ diff --git a/public/images/emoji/apple/mens.png b/public/images/emoji/apple/mens.png index 710f6be20..ea73b976b 100644 Binary files a/public/images/emoji/apple/mens.png and b/public/images/emoji/apple/mens.png differ diff --git a/public/images/emoji/apple/metal.png b/public/images/emoji/apple/metal.png index ef19c2fee..7518952e8 100644 Binary files a/public/images/emoji/apple/metal.png and b/public/images/emoji/apple/metal.png differ diff --git a/public/images/emoji/apple/metro.png b/public/images/emoji/apple/metro.png index f0b6c5480..8e55ed29e 100644 Binary files a/public/images/emoji/apple/metro.png and b/public/images/emoji/apple/metro.png differ diff --git a/public/images/emoji/apple/microphone.png b/public/images/emoji/apple/microphone.png index c58c8c518..72ebc0c18 100644 Binary files a/public/images/emoji/apple/microphone.png and b/public/images/emoji/apple/microphone.png differ diff --git a/public/images/emoji/apple/microphone2.png b/public/images/emoji/apple/microphone2.png index 1adc026c0..6d4db741c 100644 Binary files a/public/images/emoji/apple/microphone2.png and b/public/images/emoji/apple/microphone2.png differ diff --git a/public/images/emoji/apple/microscope.png b/public/images/emoji/apple/microscope.png index ddae65676..17e2cf6fb 100644 Binary files a/public/images/emoji/apple/microscope.png and b/public/images/emoji/apple/microscope.png differ diff --git a/public/images/emoji/apple/middle_finger.png b/public/images/emoji/apple/middle_finger.png index 3159f7b76..e869cf97d 100644 Binary files a/public/images/emoji/apple/middle_finger.png and b/public/images/emoji/apple/middle_finger.png differ diff --git a/public/images/emoji/apple/military_medal.png b/public/images/emoji/apple/military_medal.png index 552eabc99..b140cc5fe 100644 Binary files a/public/images/emoji/apple/military_medal.png and b/public/images/emoji/apple/military_medal.png differ diff --git a/public/images/emoji/apple/milky_way.png b/public/images/emoji/apple/milky_way.png index c97e68cea..00c04ef5e 100644 Binary files a/public/images/emoji/apple/milky_way.png and b/public/images/emoji/apple/milky_way.png differ diff --git a/public/images/emoji/apple/minibus.png b/public/images/emoji/apple/minibus.png index 227db34a5..5700675f8 100644 Binary files a/public/images/emoji/apple/minibus.png and b/public/images/emoji/apple/minibus.png differ diff --git a/public/images/emoji/apple/minidisc.png b/public/images/emoji/apple/minidisc.png index 57f354255..3e52f0eac 100644 Binary files a/public/images/emoji/apple/minidisc.png and b/public/images/emoji/apple/minidisc.png differ diff --git a/public/images/emoji/apple/mobile_phone_off.png b/public/images/emoji/apple/mobile_phone_off.png index c10047e73..0fcf9dd24 100644 Binary files a/public/images/emoji/apple/mobile_phone_off.png and b/public/images/emoji/apple/mobile_phone_off.png differ diff --git a/public/images/emoji/apple/money_mouth.png b/public/images/emoji/apple/money_mouth.png index 7942cbe6c..3be4b911d 100644 Binary files a/public/images/emoji/apple/money_mouth.png and b/public/images/emoji/apple/money_mouth.png differ diff --git a/public/images/emoji/apple/money_mouth_face.png b/public/images/emoji/apple/money_mouth_face.png new file mode 100644 index 000000000..3be4b911d Binary files /dev/null and b/public/images/emoji/apple/money_mouth_face.png differ diff --git a/public/images/emoji/apple/money_with_wings.png b/public/images/emoji/apple/money_with_wings.png index 127c0b973..c2de0194a 100644 Binary files a/public/images/emoji/apple/money_with_wings.png and b/public/images/emoji/apple/money_with_wings.png differ diff --git a/public/images/emoji/apple/moneybag.png b/public/images/emoji/apple/moneybag.png index 51915de73..934427991 100644 Binary files a/public/images/emoji/apple/moneybag.png and b/public/images/emoji/apple/moneybag.png differ diff --git a/public/images/emoji/apple/monkey.png b/public/images/emoji/apple/monkey.png index 92bf5e367..8afb24904 100644 Binary files a/public/images/emoji/apple/monkey.png and b/public/images/emoji/apple/monkey.png differ diff --git a/public/images/emoji/apple/monkey_face.png b/public/images/emoji/apple/monkey_face.png index 93666ab2a..4d4994e89 100644 Binary files a/public/images/emoji/apple/monkey_face.png and b/public/images/emoji/apple/monkey_face.png differ diff --git a/public/images/emoji/apple/monorail.png b/public/images/emoji/apple/monorail.png index f02d08845..71fe001ba 100644 Binary files a/public/images/emoji/apple/monorail.png and b/public/images/emoji/apple/monorail.png differ diff --git a/public/images/emoji/apple/moon.png b/public/images/emoji/apple/moon.png deleted file mode 100644 index c5fce3fac..000000000 Binary files a/public/images/emoji/apple/moon.png and /dev/null differ diff --git a/public/images/emoji/apple/mortar_board.png b/public/images/emoji/apple/mortar_board.png index ad91b47ba..8579f647e 100644 Binary files a/public/images/emoji/apple/mortar_board.png and b/public/images/emoji/apple/mortar_board.png differ diff --git a/public/images/emoji/apple/mosque.png b/public/images/emoji/apple/mosque.png index 2b3126dfd..1f97f70ca 100644 Binary files a/public/images/emoji/apple/mosque.png and b/public/images/emoji/apple/mosque.png differ diff --git a/public/images/emoji/apple/motorboat.png b/public/images/emoji/apple/motorboat.png index 2e2a7ac71..0fabc315a 100644 Binary files a/public/images/emoji/apple/motorboat.png and b/public/images/emoji/apple/motorboat.png differ diff --git a/public/images/emoji/apple/motorcycle.png b/public/images/emoji/apple/motorcycle.png index 2db9d397c..92aa5660f 100644 Binary files a/public/images/emoji/apple/motorcycle.png and b/public/images/emoji/apple/motorcycle.png differ diff --git a/public/images/emoji/apple/motorway.png b/public/images/emoji/apple/motorway.png index d2cdd0598..fffb58bb5 100644 Binary files a/public/images/emoji/apple/motorway.png and b/public/images/emoji/apple/motorway.png differ diff --git a/public/images/emoji/apple/mount_fuji.png b/public/images/emoji/apple/mount_fuji.png index 0c3551673..baf8cb854 100644 Binary files a/public/images/emoji/apple/mount_fuji.png and b/public/images/emoji/apple/mount_fuji.png differ diff --git a/public/images/emoji/apple/mountain.png b/public/images/emoji/apple/mountain.png index 372fc7e67..ca912ecb2 100644 Binary files a/public/images/emoji/apple/mountain.png and b/public/images/emoji/apple/mountain.png differ diff --git a/public/images/emoji/apple/mountain_bicyclist.png b/public/images/emoji/apple/mountain_bicyclist.png index 322c779e0..456f84a0b 100644 Binary files a/public/images/emoji/apple/mountain_bicyclist.png and b/public/images/emoji/apple/mountain_bicyclist.png differ diff --git a/public/images/emoji/apple/mountain_cableway.png b/public/images/emoji/apple/mountain_cableway.png index 4f54f3fbb..175b9634e 100644 Binary files a/public/images/emoji/apple/mountain_cableway.png and b/public/images/emoji/apple/mountain_cableway.png differ diff --git a/public/images/emoji/apple/mountain_railway.png b/public/images/emoji/apple/mountain_railway.png index 8c5d0a9a3..4dafd9571 100644 Binary files a/public/images/emoji/apple/mountain_railway.png and b/public/images/emoji/apple/mountain_railway.png differ diff --git a/public/images/emoji/apple/mountain_snow.png b/public/images/emoji/apple/mountain_snow.png index eb618233d..128683000 100644 Binary files a/public/images/emoji/apple/mountain_snow.png and b/public/images/emoji/apple/mountain_snow.png differ diff --git a/public/images/emoji/apple/mouse.png b/public/images/emoji/apple/mouse.png index 2584b8bdf..be157f8d8 100644 Binary files a/public/images/emoji/apple/mouse.png and b/public/images/emoji/apple/mouse.png differ diff --git a/public/images/emoji/apple/mouse2.png b/public/images/emoji/apple/mouse2.png index 016370290..0c70ae618 100644 Binary files a/public/images/emoji/apple/mouse2.png and b/public/images/emoji/apple/mouse2.png differ diff --git a/public/images/emoji/apple/mouse_three_button.png b/public/images/emoji/apple/mouse_three_button.png index 15d3480e2..eb88c6c76 100644 Binary files a/public/images/emoji/apple/mouse_three_button.png and b/public/images/emoji/apple/mouse_three_button.png differ diff --git a/public/images/emoji/apple/movie_camera.png b/public/images/emoji/apple/movie_camera.png index 8a77f6f57..2deca94a1 100644 Binary files a/public/images/emoji/apple/movie_camera.png and b/public/images/emoji/apple/movie_camera.png differ diff --git a/public/images/emoji/apple/moyai.png b/public/images/emoji/apple/moyai.png index 9f82c82da..4650a851e 100644 Binary files a/public/images/emoji/apple/moyai.png and b/public/images/emoji/apple/moyai.png differ diff --git a/public/images/emoji/apple/muscle.png b/public/images/emoji/apple/muscle.png index 7375b9673..8349486e1 100644 Binary files a/public/images/emoji/apple/muscle.png and b/public/images/emoji/apple/muscle.png differ diff --git a/public/images/emoji/apple/mushroom.png b/public/images/emoji/apple/mushroom.png index ec928eeb9..74b829bd0 100644 Binary files a/public/images/emoji/apple/mushroom.png and b/public/images/emoji/apple/mushroom.png differ diff --git a/public/images/emoji/apple/musical_keyboard.png b/public/images/emoji/apple/musical_keyboard.png index 5772bca25..e71502000 100644 Binary files a/public/images/emoji/apple/musical_keyboard.png and b/public/images/emoji/apple/musical_keyboard.png differ diff --git a/public/images/emoji/apple/musical_note.png b/public/images/emoji/apple/musical_note.png index 7e7ff7e43..7831d6761 100644 Binary files a/public/images/emoji/apple/musical_note.png and b/public/images/emoji/apple/musical_note.png differ diff --git a/public/images/emoji/apple/musical_score.png b/public/images/emoji/apple/musical_score.png index 35aac580c..c8fa0f605 100644 Binary files a/public/images/emoji/apple/musical_score.png and b/public/images/emoji/apple/musical_score.png differ diff --git a/public/images/emoji/apple/mute.png b/public/images/emoji/apple/mute.png index 10907c4d3..b193cd3ff 100644 Binary files a/public/images/emoji/apple/mute.png and b/public/images/emoji/apple/mute.png differ diff --git a/public/images/emoji/apple/nail_care.png b/public/images/emoji/apple/nail_care.png index 49d041b48..256a7c968 100644 Binary files a/public/images/emoji/apple/nail_care.png and b/public/images/emoji/apple/nail_care.png differ diff --git a/public/images/emoji/apple/name_badge.png b/public/images/emoji/apple/name_badge.png index 26ae7bf50..a4cf547e5 100644 Binary files a/public/images/emoji/apple/name_badge.png and b/public/images/emoji/apple/name_badge.png differ diff --git a/public/images/emoji/apple/national_park.png b/public/images/emoji/apple/national_park.png new file mode 100644 index 000000000..5682fd247 Binary files /dev/null and b/public/images/emoji/apple/national_park.png differ diff --git a/public/images/emoji/apple/necktie.png b/public/images/emoji/apple/necktie.png index 227c1b144..9dd564c5f 100644 Binary files a/public/images/emoji/apple/necktie.png and b/public/images/emoji/apple/necktie.png differ diff --git a/public/images/emoji/apple/negative_squared_cross_mark.png b/public/images/emoji/apple/negative_squared_cross_mark.png index 64146131d..3cb70e15d 100644 Binary files a/public/images/emoji/apple/negative_squared_cross_mark.png and b/public/images/emoji/apple/negative_squared_cross_mark.png differ diff --git a/public/images/emoji/apple/nerd.png b/public/images/emoji/apple/nerd.png index f7fdc3909..8065a6190 100644 Binary files a/public/images/emoji/apple/nerd.png and b/public/images/emoji/apple/nerd.png differ diff --git a/public/images/emoji/apple/nerd_face.png b/public/images/emoji/apple/nerd_face.png new file mode 100644 index 000000000..8065a6190 Binary files /dev/null and b/public/images/emoji/apple/nerd_face.png differ diff --git a/public/images/emoji/apple/neutral_face.png b/public/images/emoji/apple/neutral_face.png index 0d006943b..45683f514 100644 Binary files a/public/images/emoji/apple/neutral_face.png and b/public/images/emoji/apple/neutral_face.png differ diff --git a/public/images/emoji/apple/new.png b/public/images/emoji/apple/new.png index 6482d238b..731a27fd2 100644 Binary files a/public/images/emoji/apple/new.png and b/public/images/emoji/apple/new.png differ diff --git a/public/images/emoji/apple/new_moon.png b/public/images/emoji/apple/new_moon.png index d90d21898..c234c62b1 100644 Binary files a/public/images/emoji/apple/new_moon.png and b/public/images/emoji/apple/new_moon.png differ diff --git a/public/images/emoji/apple/new_moon_with_face.png b/public/images/emoji/apple/new_moon_with_face.png index d10a21ddb..7a441b21e 100644 Binary files a/public/images/emoji/apple/new_moon_with_face.png and b/public/images/emoji/apple/new_moon_with_face.png differ diff --git a/public/images/emoji/apple/newspaper.png b/public/images/emoji/apple/newspaper.png index ddcfa7e05..23ead9b16 100644 Binary files a/public/images/emoji/apple/newspaper.png and b/public/images/emoji/apple/newspaper.png differ diff --git a/public/images/emoji/apple/newspaper2.png b/public/images/emoji/apple/newspaper2.png index 2371b569d..9a619ecbc 100644 Binary files a/public/images/emoji/apple/newspaper2.png and b/public/images/emoji/apple/newspaper2.png differ diff --git a/public/images/emoji/apple/next_track.png b/public/images/emoji/apple/next_track.png new file mode 100644 index 000000000..2ff96903d Binary files /dev/null and b/public/images/emoji/apple/next_track.png differ diff --git a/public/images/emoji/apple/ng.png b/public/images/emoji/apple/ng.png index 56c89836b..73bdc4b6a 100644 Binary files a/public/images/emoji/apple/ng.png and b/public/images/emoji/apple/ng.png differ diff --git a/public/images/emoji/apple/night_with_stars.png b/public/images/emoji/apple/night_with_stars.png index 3e6d71180..b43d978d3 100644 Binary files a/public/images/emoji/apple/night_with_stars.png and b/public/images/emoji/apple/night_with_stars.png differ diff --git a/public/images/emoji/apple/nine.png b/public/images/emoji/apple/nine.png index 4030effeb..e69de29bb 100644 Binary files a/public/images/emoji/apple/nine.png and b/public/images/emoji/apple/nine.png differ diff --git a/public/images/emoji/apple/no_bell.png b/public/images/emoji/apple/no_bell.png index b9a9e5e7b..4214a624a 100644 Binary files a/public/images/emoji/apple/no_bell.png and b/public/images/emoji/apple/no_bell.png differ diff --git a/public/images/emoji/apple/no_bicycles.png b/public/images/emoji/apple/no_bicycles.png index 34b8fd1a8..d03144b98 100644 Binary files a/public/images/emoji/apple/no_bicycles.png and b/public/images/emoji/apple/no_bicycles.png differ diff --git a/public/images/emoji/apple/no_entry.png b/public/images/emoji/apple/no_entry.png index 744d79cd0..8f203fa99 100644 Binary files a/public/images/emoji/apple/no_entry.png and b/public/images/emoji/apple/no_entry.png differ diff --git a/public/images/emoji/apple/no_entry_sign.png b/public/images/emoji/apple/no_entry_sign.png index b39792575..444e9dbc4 100644 Binary files a/public/images/emoji/apple/no_entry_sign.png and b/public/images/emoji/apple/no_entry_sign.png differ diff --git a/public/images/emoji/apple/no_good.png b/public/images/emoji/apple/no_good.png index c2270b6fc..429fc1ba9 100644 Binary files a/public/images/emoji/apple/no_good.png and b/public/images/emoji/apple/no_good.png differ diff --git a/public/images/emoji/apple/no_mobile_phones.png b/public/images/emoji/apple/no_mobile_phones.png index 9841ca355..bbe746be7 100644 Binary files a/public/images/emoji/apple/no_mobile_phones.png and b/public/images/emoji/apple/no_mobile_phones.png differ diff --git a/public/images/emoji/apple/no_mouth.png b/public/images/emoji/apple/no_mouth.png index af19b28e3..5560276cb 100644 Binary files a/public/images/emoji/apple/no_mouth.png and b/public/images/emoji/apple/no_mouth.png differ diff --git a/public/images/emoji/apple/no_pedestrians.png b/public/images/emoji/apple/no_pedestrians.png index 0df5ce2aa..49bf267fc 100644 Binary files a/public/images/emoji/apple/no_pedestrians.png and b/public/images/emoji/apple/no_pedestrians.png differ diff --git a/public/images/emoji/apple/no_smoking.png b/public/images/emoji/apple/no_smoking.png index 5fd26f7df..376ee29d8 100644 Binary files a/public/images/emoji/apple/no_smoking.png and b/public/images/emoji/apple/no_smoking.png differ diff --git a/public/images/emoji/apple/non-potable_water.png b/public/images/emoji/apple/non-potable_water.png index 319ba0303..2c94556f0 100644 Binary files a/public/images/emoji/apple/non-potable_water.png and b/public/images/emoji/apple/non-potable_water.png differ diff --git a/public/images/emoji/apple/nose.png b/public/images/emoji/apple/nose.png index 0e4a437ba..f6a9b9e87 100644 Binary files a/public/images/emoji/apple/nose.png and b/public/images/emoji/apple/nose.png differ diff --git a/public/images/emoji/apple/notebook.png b/public/images/emoji/apple/notebook.png index 8fc57351a..278dfdc74 100644 Binary files a/public/images/emoji/apple/notebook.png and b/public/images/emoji/apple/notebook.png differ diff --git a/public/images/emoji/apple/notebook_with_decorative_cover.png b/public/images/emoji/apple/notebook_with_decorative_cover.png index a935655d8..40d2f0831 100644 Binary files a/public/images/emoji/apple/notebook_with_decorative_cover.png and b/public/images/emoji/apple/notebook_with_decorative_cover.png differ diff --git a/public/images/emoji/apple/notepad_spiral.png b/public/images/emoji/apple/notepad_spiral.png index ca00c4e0c..6ea74f2e2 100644 Binary files a/public/images/emoji/apple/notepad_spiral.png and b/public/images/emoji/apple/notepad_spiral.png differ diff --git a/public/images/emoji/apple/notes.png b/public/images/emoji/apple/notes.png index 5876fdad1..8f59e0c51 100644 Binary files a/public/images/emoji/apple/notes.png and b/public/images/emoji/apple/notes.png differ diff --git a/public/images/emoji/apple/nut_and_bolt.png b/public/images/emoji/apple/nut_and_bolt.png index bcd28d09b..2d6ec571f 100644 Binary files a/public/images/emoji/apple/nut_and_bolt.png and b/public/images/emoji/apple/nut_and_bolt.png differ diff --git a/public/images/emoji/apple/o.png b/public/images/emoji/apple/o.png index 2161fd698..dab70a8d3 100644 Binary files a/public/images/emoji/apple/o.png and b/public/images/emoji/apple/o.png differ diff --git a/public/images/emoji/apple/o2.png b/public/images/emoji/apple/o2.png index 5b51c487f..1f2aa424b 100644 Binary files a/public/images/emoji/apple/o2.png and b/public/images/emoji/apple/o2.png differ diff --git a/public/images/emoji/apple/ocean.png b/public/images/emoji/apple/ocean.png index 457dce670..c29f77bcd 100644 Binary files a/public/images/emoji/apple/ocean.png and b/public/images/emoji/apple/ocean.png differ diff --git a/public/images/emoji/apple/octopus.png b/public/images/emoji/apple/octopus.png index 80086a545..4f693f533 100644 Binary files a/public/images/emoji/apple/octopus.png and b/public/images/emoji/apple/octopus.png differ diff --git a/public/images/emoji/apple/oden.png b/public/images/emoji/apple/oden.png index a1ba07541..7c73e931b 100644 Binary files a/public/images/emoji/apple/oden.png and b/public/images/emoji/apple/oden.png differ diff --git a/public/images/emoji/apple/office.png b/public/images/emoji/apple/office.png index 5b70d776c..e68c049d2 100644 Binary files a/public/images/emoji/apple/office.png and b/public/images/emoji/apple/office.png differ diff --git a/public/images/emoji/apple/oil.png b/public/images/emoji/apple/oil.png index a0d4f87c1..a01be78b3 100644 Binary files a/public/images/emoji/apple/oil.png and b/public/images/emoji/apple/oil.png differ diff --git a/public/images/emoji/apple/oil_drum.png b/public/images/emoji/apple/oil_drum.png new file mode 100644 index 000000000..a01be78b3 Binary files /dev/null and b/public/images/emoji/apple/oil_drum.png differ diff --git a/public/images/emoji/apple/ok.png b/public/images/emoji/apple/ok.png index af03dd91c..e58db0c68 100644 Binary files a/public/images/emoji/apple/ok.png and b/public/images/emoji/apple/ok.png differ diff --git a/public/images/emoji/apple/ok_hand.png b/public/images/emoji/apple/ok_hand.png index 1f54f0629..db32febd5 100644 Binary files a/public/images/emoji/apple/ok_hand.png and b/public/images/emoji/apple/ok_hand.png differ diff --git a/public/images/emoji/apple/ok_woman.png b/public/images/emoji/apple/ok_woman.png index af62bca94..b0e2f9d0f 100644 Binary files a/public/images/emoji/apple/ok_woman.png and b/public/images/emoji/apple/ok_woman.png differ diff --git a/public/images/emoji/apple/old_key.png b/public/images/emoji/apple/old_key.png new file mode 100644 index 000000000..a35dd1afd Binary files /dev/null and b/public/images/emoji/apple/old_key.png differ diff --git a/public/images/emoji/apple/older_man.png b/public/images/emoji/apple/older_man.png index 7003b9b0c..5dfc60e12 100644 Binary files a/public/images/emoji/apple/older_man.png and b/public/images/emoji/apple/older_man.png differ diff --git a/public/images/emoji/apple/older_woman.png b/public/images/emoji/apple/older_woman.png index 232b665b5..12a5fc330 100644 Binary files a/public/images/emoji/apple/older_woman.png and b/public/images/emoji/apple/older_woman.png differ diff --git a/public/images/emoji/apple/om_symbol.png b/public/images/emoji/apple/om_symbol.png index abe320afa..5a1b66d29 100644 Binary files a/public/images/emoji/apple/om_symbol.png and b/public/images/emoji/apple/om_symbol.png differ diff --git a/public/images/emoji/apple/on.png b/public/images/emoji/apple/on.png index 41845767a..7bb3f401c 100644 Binary files a/public/images/emoji/apple/on.png and b/public/images/emoji/apple/on.png differ diff --git a/public/images/emoji/apple/oncoming_automobile.png b/public/images/emoji/apple/oncoming_automobile.png index d44d6cbb1..ce2b44e56 100644 Binary files a/public/images/emoji/apple/oncoming_automobile.png and b/public/images/emoji/apple/oncoming_automobile.png differ diff --git a/public/images/emoji/apple/oncoming_bus.png b/public/images/emoji/apple/oncoming_bus.png index 8f551e6d0..094f8f499 100644 Binary files a/public/images/emoji/apple/oncoming_bus.png and b/public/images/emoji/apple/oncoming_bus.png differ diff --git a/public/images/emoji/apple/oncoming_police_car.png b/public/images/emoji/apple/oncoming_police_car.png index e26856e4a..d1f2af2c2 100644 Binary files a/public/images/emoji/apple/oncoming_police_car.png and b/public/images/emoji/apple/oncoming_police_car.png differ diff --git a/public/images/emoji/apple/oncoming_taxi.png b/public/images/emoji/apple/oncoming_taxi.png index 6b1f4623d..70540c4a3 100644 Binary files a/public/images/emoji/apple/oncoming_taxi.png and b/public/images/emoji/apple/oncoming_taxi.png differ diff --git a/public/images/emoji/apple/one.png b/public/images/emoji/apple/one.png index 2c2caaafc..e69de29bb 100644 Binary files a/public/images/emoji/apple/one.png and b/public/images/emoji/apple/one.png differ diff --git a/public/images/emoji/apple/open_book.png b/public/images/emoji/apple/open_book.png deleted file mode 100644 index 84d06e736..000000000 Binary files a/public/images/emoji/apple/open_book.png and /dev/null differ diff --git a/public/images/emoji/apple/open_file_folder.png b/public/images/emoji/apple/open_file_folder.png index bcdd9357f..f92ddee68 100644 Binary files a/public/images/emoji/apple/open_file_folder.png and b/public/images/emoji/apple/open_file_folder.png differ diff --git a/public/images/emoji/apple/open_hands.png b/public/images/emoji/apple/open_hands.png index 455dd98a6..5124bfbb9 100644 Binary files a/public/images/emoji/apple/open_hands.png and b/public/images/emoji/apple/open_hands.png differ diff --git a/public/images/emoji/apple/open_mouth.png b/public/images/emoji/apple/open_mouth.png index 0fd2e8791..f4b4ae9b7 100644 Binary files a/public/images/emoji/apple/open_mouth.png and b/public/images/emoji/apple/open_mouth.png differ diff --git a/public/images/emoji/apple/ophiuchus.png b/public/images/emoji/apple/ophiuchus.png index 9cc348f71..208488c22 100644 Binary files a/public/images/emoji/apple/ophiuchus.png and b/public/images/emoji/apple/ophiuchus.png differ diff --git a/public/images/emoji/apple/orange_book.png b/public/images/emoji/apple/orange_book.png index 4b777aa67..bc685328c 100644 Binary files a/public/images/emoji/apple/orange_book.png and b/public/images/emoji/apple/orange_book.png differ diff --git a/public/images/emoji/apple/orthodox_cross.png b/public/images/emoji/apple/orthodox_cross.png index 510d19c1d..6177b3447 100644 Binary files a/public/images/emoji/apple/orthodox_cross.png and b/public/images/emoji/apple/orthodox_cross.png differ diff --git a/public/images/emoji/apple/outbox_tray.png b/public/images/emoji/apple/outbox_tray.png index 874c0d456..7a81f2e55 100644 Binary files a/public/images/emoji/apple/outbox_tray.png and b/public/images/emoji/apple/outbox_tray.png differ diff --git a/public/images/emoji/apple/ox.png b/public/images/emoji/apple/ox.png index a477d47f2..673189820 100644 Binary files a/public/images/emoji/apple/ox.png and b/public/images/emoji/apple/ox.png differ diff --git a/public/images/emoji/apple/package.png b/public/images/emoji/apple/package.png index d20814d79..7e77b702b 100644 Binary files a/public/images/emoji/apple/package.png and b/public/images/emoji/apple/package.png differ diff --git a/public/images/emoji/apple/page_facing_up.png b/public/images/emoji/apple/page_facing_up.png index 1d61a6e00..3f898e46c 100644 Binary files a/public/images/emoji/apple/page_facing_up.png and b/public/images/emoji/apple/page_facing_up.png differ diff --git a/public/images/emoji/apple/page_with_curl.png b/public/images/emoji/apple/page_with_curl.png index bab195067..1fa75fe43 100644 Binary files a/public/images/emoji/apple/page_with_curl.png and b/public/images/emoji/apple/page_with_curl.png differ diff --git a/public/images/emoji/apple/pager.png b/public/images/emoji/apple/pager.png index d3957a77e..09a8fae6d 100644 Binary files a/public/images/emoji/apple/pager.png and b/public/images/emoji/apple/pager.png differ diff --git a/public/images/emoji/apple/paintbrush.png b/public/images/emoji/apple/paintbrush.png index cc4b8ef70..9b83129cb 100644 Binary files a/public/images/emoji/apple/paintbrush.png and b/public/images/emoji/apple/paintbrush.png differ diff --git a/public/images/emoji/apple/palm_tree.png b/public/images/emoji/apple/palm_tree.png index c521d4d3c..fdb33ba93 100644 Binary files a/public/images/emoji/apple/palm_tree.png and b/public/images/emoji/apple/palm_tree.png differ diff --git a/public/images/emoji/apple/panda_face.png b/public/images/emoji/apple/panda_face.png index 2c58fa21c..525bdb430 100644 Binary files a/public/images/emoji/apple/panda_face.png and b/public/images/emoji/apple/panda_face.png differ diff --git a/public/images/emoji/apple/paperclip.png b/public/images/emoji/apple/paperclip.png index 979ce8806..6fbd8e481 100644 Binary files a/public/images/emoji/apple/paperclip.png and b/public/images/emoji/apple/paperclip.png differ diff --git a/public/images/emoji/apple/paperclips.png b/public/images/emoji/apple/paperclips.png index 04c736a40..22e54ef1f 100644 Binary files a/public/images/emoji/apple/paperclips.png and b/public/images/emoji/apple/paperclips.png differ diff --git a/public/images/emoji/apple/park.png b/public/images/emoji/apple/park.png index ebd8a9e95..5682fd247 100644 Binary files a/public/images/emoji/apple/park.png and b/public/images/emoji/apple/park.png differ diff --git a/public/images/emoji/apple/parking.png b/public/images/emoji/apple/parking.png index a007ca6e6..49cb40b68 100644 Binary files a/public/images/emoji/apple/parking.png and b/public/images/emoji/apple/parking.png differ diff --git a/public/images/emoji/apple/part_alternation_mark.png b/public/images/emoji/apple/part_alternation_mark.png index 8461bf0b9..8f7b38d55 100644 Binary files a/public/images/emoji/apple/part_alternation_mark.png and b/public/images/emoji/apple/part_alternation_mark.png differ diff --git a/public/images/emoji/apple/partly_sunny.png b/public/images/emoji/apple/partly_sunny.png index 7c22e12b0..8adb5230d 100644 Binary files a/public/images/emoji/apple/partly_sunny.png and b/public/images/emoji/apple/partly_sunny.png differ diff --git a/public/images/emoji/apple/passenger_ship.png b/public/images/emoji/apple/passenger_ship.png new file mode 100644 index 000000000..94aa42e7b Binary files /dev/null and b/public/images/emoji/apple/passenger_ship.png differ diff --git a/public/images/emoji/apple/passport_control.png b/public/images/emoji/apple/passport_control.png index 38a94c5c8..575c5adee 100644 Binary files a/public/images/emoji/apple/passport_control.png and b/public/images/emoji/apple/passport_control.png differ diff --git a/public/images/emoji/apple/pause_button.png b/public/images/emoji/apple/pause_button.png index aac27c376..cdcd151e9 100644 Binary files a/public/images/emoji/apple/pause_button.png and b/public/images/emoji/apple/pause_button.png differ diff --git a/public/images/emoji/apple/paw_prints.png b/public/images/emoji/apple/paw_prints.png index 4ca208785..3b1c263cd 100644 Binary files a/public/images/emoji/apple/paw_prints.png and b/public/images/emoji/apple/paw_prints.png differ diff --git a/public/images/emoji/apple/peace.png b/public/images/emoji/apple/peace.png index 7001b6a4e..2bb88492d 100644 Binary files a/public/images/emoji/apple/peace.png and b/public/images/emoji/apple/peace.png differ diff --git a/public/images/emoji/apple/peace_symbol.png b/public/images/emoji/apple/peace_symbol.png new file mode 100644 index 000000000..2bb88492d Binary files /dev/null and b/public/images/emoji/apple/peace_symbol.png differ diff --git a/public/images/emoji/apple/peach.png b/public/images/emoji/apple/peach.png index 11e6ab71f..59ccd42d8 100644 Binary files a/public/images/emoji/apple/peach.png and b/public/images/emoji/apple/peach.png differ diff --git a/public/images/emoji/apple/pear.png b/public/images/emoji/apple/pear.png index de0ad35b6..bc2fa3def 100644 Binary files a/public/images/emoji/apple/pear.png and b/public/images/emoji/apple/pear.png differ diff --git a/public/images/emoji/apple/pen_ballpoint.png b/public/images/emoji/apple/pen_ballpoint.png index 14b06985e..7f81b84a6 100644 Binary files a/public/images/emoji/apple/pen_ballpoint.png and b/public/images/emoji/apple/pen_ballpoint.png differ diff --git a/public/images/emoji/apple/pen_fountain.png b/public/images/emoji/apple/pen_fountain.png index 5e9a10292..46b0256af 100644 Binary files a/public/images/emoji/apple/pen_fountain.png and b/public/images/emoji/apple/pen_fountain.png differ diff --git a/public/images/emoji/apple/pencil.png b/public/images/emoji/apple/pencil.png index 400aada1e..2a5ced6f7 100644 Binary files a/public/images/emoji/apple/pencil.png and b/public/images/emoji/apple/pencil.png differ diff --git a/public/images/emoji/apple/pencil2.png b/public/images/emoji/apple/pencil2.png index 06173a98c..66520d713 100644 Binary files a/public/images/emoji/apple/pencil2.png and b/public/images/emoji/apple/pencil2.png differ diff --git a/public/images/emoji/apple/penguin.png b/public/images/emoji/apple/penguin.png index e94f33002..34ea100c4 100644 Binary files a/public/images/emoji/apple/penguin.png and b/public/images/emoji/apple/penguin.png differ diff --git a/public/images/emoji/apple/pensive.png b/public/images/emoji/apple/pensive.png index 7f9d3afba..b5134a4d6 100644 Binary files a/public/images/emoji/apple/pensive.png and b/public/images/emoji/apple/pensive.png differ diff --git a/public/images/emoji/apple/performing_arts.png b/public/images/emoji/apple/performing_arts.png index 647e7fddc..20d1a899d 100644 Binary files a/public/images/emoji/apple/performing_arts.png and b/public/images/emoji/apple/performing_arts.png differ diff --git a/public/images/emoji/apple/persevere.png b/public/images/emoji/apple/persevere.png index c2f817439..d300caafa 100644 Binary files a/public/images/emoji/apple/persevere.png and b/public/images/emoji/apple/persevere.png differ diff --git a/public/images/emoji/apple/person_frowning.png b/public/images/emoji/apple/person_frowning.png index 0289a6f79..abd0f179d 100644 Binary files a/public/images/emoji/apple/person_frowning.png and b/public/images/emoji/apple/person_frowning.png differ diff --git a/public/images/emoji/apple/person_with_ball.png b/public/images/emoji/apple/person_with_ball.png new file mode 100644 index 000000000..1a2255c2f Binary files /dev/null and b/public/images/emoji/apple/person_with_ball.png differ diff --git a/public/images/emoji/apple/person_with_blond_hair.png b/public/images/emoji/apple/person_with_blond_hair.png index de6926889..bd98a5195 100644 Binary files a/public/images/emoji/apple/person_with_blond_hair.png and b/public/images/emoji/apple/person_with_blond_hair.png differ diff --git a/public/images/emoji/apple/person_with_pouting_face.png b/public/images/emoji/apple/person_with_pouting_face.png index 981163f26..eace861ee 100644 Binary files a/public/images/emoji/apple/person_with_pouting_face.png and b/public/images/emoji/apple/person_with_pouting_face.png differ diff --git a/public/images/emoji/apple/phone.png b/public/images/emoji/apple/phone.png deleted file mode 100644 index 6ff9c34c3..000000000 Binary files a/public/images/emoji/apple/phone.png and /dev/null differ diff --git a/public/images/emoji/apple/pick.png b/public/images/emoji/apple/pick.png index 70ad820ce..a01ba4dd2 100644 Binary files a/public/images/emoji/apple/pick.png and b/public/images/emoji/apple/pick.png differ diff --git a/public/images/emoji/apple/pig.png b/public/images/emoji/apple/pig.png index 00858b952..1c4391163 100644 Binary files a/public/images/emoji/apple/pig.png and b/public/images/emoji/apple/pig.png differ diff --git a/public/images/emoji/apple/pig2.png b/public/images/emoji/apple/pig2.png index b193f98fd..53cb4e307 100644 Binary files a/public/images/emoji/apple/pig2.png and b/public/images/emoji/apple/pig2.png differ diff --git a/public/images/emoji/apple/pig_nose.png b/public/images/emoji/apple/pig_nose.png index ca0e8b81d..a6f3f4a3f 100644 Binary files a/public/images/emoji/apple/pig_nose.png and b/public/images/emoji/apple/pig_nose.png differ diff --git a/public/images/emoji/apple/pill.png b/public/images/emoji/apple/pill.png index 14afd7ede..55db8e5cf 100644 Binary files a/public/images/emoji/apple/pill.png and b/public/images/emoji/apple/pill.png differ diff --git a/public/images/emoji/apple/pineapple.png b/public/images/emoji/apple/pineapple.png index 3c13aafa9..cf4a89737 100644 Binary files a/public/images/emoji/apple/pineapple.png and b/public/images/emoji/apple/pineapple.png differ diff --git a/public/images/emoji/apple/ping_pong.png b/public/images/emoji/apple/ping_pong.png index 186e254d7..2ec7386f1 100644 Binary files a/public/images/emoji/apple/ping_pong.png and b/public/images/emoji/apple/ping_pong.png differ diff --git a/public/images/emoji/apple/pisces.png b/public/images/emoji/apple/pisces.png index 8f330f0a5..adf06d6fe 100644 Binary files a/public/images/emoji/apple/pisces.png and b/public/images/emoji/apple/pisces.png differ diff --git a/public/images/emoji/apple/pizza.png b/public/images/emoji/apple/pizza.png index 5e8207671..d4cc59a97 100644 Binary files a/public/images/emoji/apple/pizza.png and b/public/images/emoji/apple/pizza.png differ diff --git a/public/images/emoji/apple/place_of_worship.png b/public/images/emoji/apple/place_of_worship.png index b66a3f0f6..5ef810aa4 100644 Binary files a/public/images/emoji/apple/place_of_worship.png and b/public/images/emoji/apple/place_of_worship.png differ diff --git a/public/images/emoji/apple/play_pause.png b/public/images/emoji/apple/play_pause.png index b12ac1f13..6f4025de7 100644 Binary files a/public/images/emoji/apple/play_pause.png and b/public/images/emoji/apple/play_pause.png differ diff --git a/public/images/emoji/apple/point_down.png b/public/images/emoji/apple/point_down.png index afc4ab078..572a145a2 100644 Binary files a/public/images/emoji/apple/point_down.png and b/public/images/emoji/apple/point_down.png differ diff --git a/public/images/emoji/apple/point_left.png b/public/images/emoji/apple/point_left.png index 73ca7cbf7..32e16ba61 100644 Binary files a/public/images/emoji/apple/point_left.png and b/public/images/emoji/apple/point_left.png differ diff --git a/public/images/emoji/apple/point_right.png b/public/images/emoji/apple/point_right.png index 1c03a4af6..84de2651a 100644 Binary files a/public/images/emoji/apple/point_right.png and b/public/images/emoji/apple/point_right.png differ diff --git a/public/images/emoji/apple/point_up.png b/public/images/emoji/apple/point_up.png index a89d52952..75c81795d 100644 Binary files a/public/images/emoji/apple/point_up.png and b/public/images/emoji/apple/point_up.png differ diff --git a/public/images/emoji/apple/point_up_2.png b/public/images/emoji/apple/point_up_2.png index 53c848f36..3a2b1e5f4 100644 Binary files a/public/images/emoji/apple/point_up_2.png and b/public/images/emoji/apple/point_up_2.png differ diff --git a/public/images/emoji/apple/police_car.png b/public/images/emoji/apple/police_car.png index 5fbe3fe99..1c43f79a0 100644 Binary files a/public/images/emoji/apple/police_car.png and b/public/images/emoji/apple/police_car.png differ diff --git a/public/images/emoji/apple/poo.png b/public/images/emoji/apple/poo.png new file mode 100644 index 000000000..a025f4300 Binary files /dev/null and b/public/images/emoji/apple/poo.png differ diff --git a/public/images/emoji/apple/poodle.png b/public/images/emoji/apple/poodle.png index 5c289674f..218168a6e 100644 Binary files a/public/images/emoji/apple/poodle.png and b/public/images/emoji/apple/poodle.png differ diff --git a/public/images/emoji/apple/poop.png b/public/images/emoji/apple/poop.png index 8e62f0e43..a025f4300 100644 Binary files a/public/images/emoji/apple/poop.png and b/public/images/emoji/apple/poop.png differ diff --git a/public/images/emoji/apple/popcorn.png b/public/images/emoji/apple/popcorn.png index ec9fe1395..7848c24cd 100644 Binary files a/public/images/emoji/apple/popcorn.png and b/public/images/emoji/apple/popcorn.png differ diff --git a/public/images/emoji/apple/post_office.png b/public/images/emoji/apple/post_office.png index b486e67eb..dcc6f2a87 100644 Binary files a/public/images/emoji/apple/post_office.png and b/public/images/emoji/apple/post_office.png differ diff --git a/public/images/emoji/apple/postal_horn.png b/public/images/emoji/apple/postal_horn.png index 6e188535c..5e12a664b 100644 Binary files a/public/images/emoji/apple/postal_horn.png and b/public/images/emoji/apple/postal_horn.png differ diff --git a/public/images/emoji/apple/postbox.png b/public/images/emoji/apple/postbox.png index ae0d0e9cd..fefd839a0 100644 Binary files a/public/images/emoji/apple/postbox.png and b/public/images/emoji/apple/postbox.png differ diff --git a/public/images/emoji/apple/potable_water.png b/public/images/emoji/apple/potable_water.png index 4374e6c22..962dddfb3 100644 Binary files a/public/images/emoji/apple/potable_water.png and b/public/images/emoji/apple/potable_water.png differ diff --git a/public/images/emoji/apple/pouch.png b/public/images/emoji/apple/pouch.png index fbedfcdd4..9479152ec 100644 Binary files a/public/images/emoji/apple/pouch.png and b/public/images/emoji/apple/pouch.png differ diff --git a/public/images/emoji/apple/poultry_leg.png b/public/images/emoji/apple/poultry_leg.png index b4bb949b6..6422c0ed5 100644 Binary files a/public/images/emoji/apple/poultry_leg.png and b/public/images/emoji/apple/poultry_leg.png differ diff --git a/public/images/emoji/apple/pound.png b/public/images/emoji/apple/pound.png index 2ee07583a..f8162548b 100644 Binary files a/public/images/emoji/apple/pound.png and b/public/images/emoji/apple/pound.png differ diff --git a/public/images/emoji/apple/pouting_cat.png b/public/images/emoji/apple/pouting_cat.png index 8876fd269..f885063e9 100644 Binary files a/public/images/emoji/apple/pouting_cat.png and b/public/images/emoji/apple/pouting_cat.png differ diff --git a/public/images/emoji/apple/pray.png b/public/images/emoji/apple/pray.png index 06a00ba4c..344fc0df4 100644 Binary files a/public/images/emoji/apple/pray.png and b/public/images/emoji/apple/pray.png differ diff --git a/public/images/emoji/apple/prayer_beads.png b/public/images/emoji/apple/prayer_beads.png index dee68150b..de7885c95 100644 Binary files a/public/images/emoji/apple/prayer_beads.png and b/public/images/emoji/apple/prayer_beads.png differ diff --git a/public/images/emoji/apple/previous_track.png b/public/images/emoji/apple/previous_track.png new file mode 100644 index 000000000..401b24b9a Binary files /dev/null and b/public/images/emoji/apple/previous_track.png differ diff --git a/public/images/emoji/apple/princess.png b/public/images/emoji/apple/princess.png index 4df669280..78c7c88e6 100644 Binary files a/public/images/emoji/apple/princess.png and b/public/images/emoji/apple/princess.png differ diff --git a/public/images/emoji/apple/printer.png b/public/images/emoji/apple/printer.png index 39a692c64..01455a9eb 100644 Binary files a/public/images/emoji/apple/printer.png and b/public/images/emoji/apple/printer.png differ diff --git a/public/images/emoji/apple/projector.png b/public/images/emoji/apple/projector.png index e944d739e..788f131ec 100644 Binary files a/public/images/emoji/apple/projector.png and b/public/images/emoji/apple/projector.png differ diff --git a/public/images/emoji/apple/punch.png b/public/images/emoji/apple/punch.png index 5a59d61ce..c01cab21b 100644 Binary files a/public/images/emoji/apple/punch.png and b/public/images/emoji/apple/punch.png differ diff --git a/public/images/emoji/apple/purple_heart.png b/public/images/emoji/apple/purple_heart.png index 5d825efd0..63681f71b 100644 Binary files a/public/images/emoji/apple/purple_heart.png and b/public/images/emoji/apple/purple_heart.png differ diff --git a/public/images/emoji/apple/purse.png b/public/images/emoji/apple/purse.png index 47d52fab9..2b7045032 100644 Binary files a/public/images/emoji/apple/purse.png and b/public/images/emoji/apple/purse.png differ diff --git a/public/images/emoji/apple/pushpin.png b/public/images/emoji/apple/pushpin.png index 1bc5add03..9edfcb209 100644 Binary files a/public/images/emoji/apple/pushpin.png and b/public/images/emoji/apple/pushpin.png differ diff --git a/public/images/emoji/apple/put_litter_in_its_place.png b/public/images/emoji/apple/put_litter_in_its_place.png index dd6fe7428..d99576f17 100644 Binary files a/public/images/emoji/apple/put_litter_in_its_place.png and b/public/images/emoji/apple/put_litter_in_its_place.png differ diff --git a/public/images/emoji/apple/question.png b/public/images/emoji/apple/question.png index 4b6f88510..5273e65c8 100644 Binary files a/public/images/emoji/apple/question.png and b/public/images/emoji/apple/question.png differ diff --git a/public/images/emoji/apple/rabbit.png b/public/images/emoji/apple/rabbit.png index fcd1870df..232f7ef41 100644 Binary files a/public/images/emoji/apple/rabbit.png and b/public/images/emoji/apple/rabbit.png differ diff --git a/public/images/emoji/apple/rabbit2.png b/public/images/emoji/apple/rabbit2.png index 8581974e8..c59fcf7f2 100644 Binary files a/public/images/emoji/apple/rabbit2.png and b/public/images/emoji/apple/rabbit2.png differ diff --git a/public/images/emoji/apple/race_car.png b/public/images/emoji/apple/race_car.png index 0b9dc36da..7a0e60d65 100644 Binary files a/public/images/emoji/apple/race_car.png and b/public/images/emoji/apple/race_car.png differ diff --git a/public/images/emoji/apple/racehorse.png b/public/images/emoji/apple/racehorse.png index 04451ab60..79f965c38 100644 Binary files a/public/images/emoji/apple/racehorse.png and b/public/images/emoji/apple/racehorse.png differ diff --git a/public/images/emoji/apple/racing_car.png b/public/images/emoji/apple/racing_car.png new file mode 100644 index 000000000..7a0e60d65 Binary files /dev/null and b/public/images/emoji/apple/racing_car.png differ diff --git a/public/images/emoji/apple/racing_motorcycle.png b/public/images/emoji/apple/racing_motorcycle.png new file mode 100644 index 000000000..92aa5660f Binary files /dev/null and b/public/images/emoji/apple/racing_motorcycle.png differ diff --git a/public/images/emoji/apple/radio.png b/public/images/emoji/apple/radio.png index 19764c309..cb0569f07 100644 Binary files a/public/images/emoji/apple/radio.png and b/public/images/emoji/apple/radio.png differ diff --git a/public/images/emoji/apple/radio_button.png b/public/images/emoji/apple/radio_button.png index ecb029d51..85df5dd38 100644 Binary files a/public/images/emoji/apple/radio_button.png and b/public/images/emoji/apple/radio_button.png differ diff --git a/public/images/emoji/apple/radioactive.png b/public/images/emoji/apple/radioactive.png index f9c1d5e8a..395debfe2 100644 Binary files a/public/images/emoji/apple/radioactive.png and b/public/images/emoji/apple/radioactive.png differ diff --git a/public/images/emoji/apple/radioactive_sign.png b/public/images/emoji/apple/radioactive_sign.png new file mode 100644 index 000000000..395debfe2 Binary files /dev/null and b/public/images/emoji/apple/radioactive_sign.png differ diff --git a/public/images/emoji/apple/rage.png b/public/images/emoji/apple/rage.png index 926c343b1..d15681ce6 100644 Binary files a/public/images/emoji/apple/rage.png and b/public/images/emoji/apple/rage.png differ diff --git a/public/images/emoji/apple/railroad_track.png b/public/images/emoji/apple/railroad_track.png new file mode 100644 index 000000000..0ad74c729 Binary files /dev/null and b/public/images/emoji/apple/railroad_track.png differ diff --git a/public/images/emoji/apple/railway_car.png b/public/images/emoji/apple/railway_car.png index c02432077..afd4045d6 100644 Binary files a/public/images/emoji/apple/railway_car.png and b/public/images/emoji/apple/railway_car.png differ diff --git a/public/images/emoji/apple/railway_track.png b/public/images/emoji/apple/railway_track.png index d66461590..0ad74c729 100644 Binary files a/public/images/emoji/apple/railway_track.png and b/public/images/emoji/apple/railway_track.png differ diff --git a/public/images/emoji/apple/rainbow.png b/public/images/emoji/apple/rainbow.png index bde8048bb..acb73cf99 100644 Binary files a/public/images/emoji/apple/rainbow.png and b/public/images/emoji/apple/rainbow.png differ diff --git a/public/images/emoji/apple/raised_hand.png b/public/images/emoji/apple/raised_hand.png index b4e0659eb..8b60686ee 100644 Binary files a/public/images/emoji/apple/raised_hand.png and b/public/images/emoji/apple/raised_hand.png differ diff --git a/public/images/emoji/apple/raised_hand_with_fingers_splayed.png b/public/images/emoji/apple/raised_hand_with_fingers_splayed.png new file mode 100644 index 000000000..c05031e50 Binary files /dev/null and b/public/images/emoji/apple/raised_hand_with_fingers_splayed.png differ diff --git a/public/images/emoji/apple/raised_hand_with_part_between_middle_and_ring_fingers.png b/public/images/emoji/apple/raised_hand_with_part_between_middle_and_ring_fingers.png new file mode 100644 index 000000000..89fd1859f Binary files /dev/null and b/public/images/emoji/apple/raised_hand_with_part_between_middle_and_ring_fingers.png differ diff --git a/public/images/emoji/apple/raised_hands.png b/public/images/emoji/apple/raised_hands.png index f65df3d37..dd497694e 100644 Binary files a/public/images/emoji/apple/raised_hands.png and b/public/images/emoji/apple/raised_hands.png differ diff --git a/public/images/emoji/apple/raising_hand.png b/public/images/emoji/apple/raising_hand.png index 6143d9f5f..298974d57 100644 Binary files a/public/images/emoji/apple/raising_hand.png and b/public/images/emoji/apple/raising_hand.png differ diff --git a/public/images/emoji/apple/ram.png b/public/images/emoji/apple/ram.png index 7b3eb16b9..30bf93624 100644 Binary files a/public/images/emoji/apple/ram.png and b/public/images/emoji/apple/ram.png differ diff --git a/public/images/emoji/apple/ramen.png b/public/images/emoji/apple/ramen.png index 6c2fcb3cf..6e0143262 100644 Binary files a/public/images/emoji/apple/ramen.png and b/public/images/emoji/apple/ramen.png differ diff --git a/public/images/emoji/apple/rat.png b/public/images/emoji/apple/rat.png index 133656e47..c7a48c9d8 100644 Binary files a/public/images/emoji/apple/rat.png and b/public/images/emoji/apple/rat.png differ diff --git a/public/images/emoji/apple/record_button.png b/public/images/emoji/apple/record_button.png index 578fc8294..72073804b 100644 Binary files a/public/images/emoji/apple/record_button.png and b/public/images/emoji/apple/record_button.png differ diff --git a/public/images/emoji/apple/recycle.png b/public/images/emoji/apple/recycle.png index d2705562a..6352a3119 100644 Binary files a/public/images/emoji/apple/recycle.png and b/public/images/emoji/apple/recycle.png differ diff --git a/public/images/emoji/apple/red_car.png b/public/images/emoji/apple/red_car.png index 3094a986c..de18c2caa 100644 Binary files a/public/images/emoji/apple/red_car.png and b/public/images/emoji/apple/red_car.png differ diff --git a/public/images/emoji/apple/red_circle.png b/public/images/emoji/apple/red_circle.png index 437cc89c6..7e4a6f231 100644 Binary files a/public/images/emoji/apple/red_circle.png and b/public/images/emoji/apple/red_circle.png differ diff --git a/public/images/emoji/apple/registered.png b/public/images/emoji/apple/registered.png index 7192a7b66..e62af0ab9 100644 Binary files a/public/images/emoji/apple/registered.png and b/public/images/emoji/apple/registered.png differ diff --git a/public/images/emoji/apple/relaxed.png b/public/images/emoji/apple/relaxed.png index e5994bc9f..3cc28f81a 100644 Binary files a/public/images/emoji/apple/relaxed.png and b/public/images/emoji/apple/relaxed.png differ diff --git a/public/images/emoji/apple/relieved.png b/public/images/emoji/apple/relieved.png index eaf55517f..fcfcea5b7 100644 Binary files a/public/images/emoji/apple/relieved.png and b/public/images/emoji/apple/relieved.png differ diff --git a/public/images/emoji/apple/reminder_ribbon.png b/public/images/emoji/apple/reminder_ribbon.png index bc905d645..ba779426d 100644 Binary files a/public/images/emoji/apple/reminder_ribbon.png and b/public/images/emoji/apple/reminder_ribbon.png differ diff --git a/public/images/emoji/apple/repeat.png b/public/images/emoji/apple/repeat.png index 6e6a3753a..f7b282798 100644 Binary files a/public/images/emoji/apple/repeat.png and b/public/images/emoji/apple/repeat.png differ diff --git a/public/images/emoji/apple/repeat_one.png b/public/images/emoji/apple/repeat_one.png index 621961796..e3a328657 100644 Binary files a/public/images/emoji/apple/repeat_one.png and b/public/images/emoji/apple/repeat_one.png differ diff --git a/public/images/emoji/apple/restroom.png b/public/images/emoji/apple/restroom.png index c651906c0..e271244ae 100644 Binary files a/public/images/emoji/apple/restroom.png and b/public/images/emoji/apple/restroom.png differ diff --git a/public/images/emoji/apple/reversed_hand_with_middle_finger_extended.png b/public/images/emoji/apple/reversed_hand_with_middle_finger_extended.png new file mode 100644 index 000000000..e869cf97d Binary files /dev/null and b/public/images/emoji/apple/reversed_hand_with_middle_finger_extended.png differ diff --git a/public/images/emoji/apple/revolving_hearts.png b/public/images/emoji/apple/revolving_hearts.png index e44b206b7..836a81c8e 100644 Binary files a/public/images/emoji/apple/revolving_hearts.png and b/public/images/emoji/apple/revolving_hearts.png differ diff --git a/public/images/emoji/apple/rewind.png b/public/images/emoji/apple/rewind.png index 77e5d648a..2821a83a0 100644 Binary files a/public/images/emoji/apple/rewind.png and b/public/images/emoji/apple/rewind.png differ diff --git a/public/images/emoji/apple/ribbon.png b/public/images/emoji/apple/ribbon.png index cd8e75a6a..aaa3eadf6 100644 Binary files a/public/images/emoji/apple/ribbon.png and b/public/images/emoji/apple/ribbon.png differ diff --git a/public/images/emoji/apple/rice.png b/public/images/emoji/apple/rice.png index c650b01b5..f6daa17c3 100644 Binary files a/public/images/emoji/apple/rice.png and b/public/images/emoji/apple/rice.png differ diff --git a/public/images/emoji/apple/rice_ball.png b/public/images/emoji/apple/rice_ball.png index b4f49d790..dc64d4dcb 100644 Binary files a/public/images/emoji/apple/rice_ball.png and b/public/images/emoji/apple/rice_ball.png differ diff --git a/public/images/emoji/apple/rice_cracker.png b/public/images/emoji/apple/rice_cracker.png index 3b9ea74a6..e8793fcea 100644 Binary files a/public/images/emoji/apple/rice_cracker.png and b/public/images/emoji/apple/rice_cracker.png differ diff --git a/public/images/emoji/apple/rice_scene.png b/public/images/emoji/apple/rice_scene.png index da484d453..fddaa4def 100644 Binary files a/public/images/emoji/apple/rice_scene.png and b/public/images/emoji/apple/rice_scene.png differ diff --git a/public/images/emoji/apple/right_anger_bubble.png b/public/images/emoji/apple/right_anger_bubble.png new file mode 100644 index 000000000..af8a6055f Binary files /dev/null and b/public/images/emoji/apple/right_anger_bubble.png differ diff --git a/public/images/emoji/apple/ring.png b/public/images/emoji/apple/ring.png index 5959badc9..02e8c86a2 100644 Binary files a/public/images/emoji/apple/ring.png and b/public/images/emoji/apple/ring.png differ diff --git a/public/images/emoji/apple/robot.png b/public/images/emoji/apple/robot.png index 751776d18..f337f9b7a 100644 Binary files a/public/images/emoji/apple/robot.png and b/public/images/emoji/apple/robot.png differ diff --git a/public/images/emoji/apple/robot_face.png b/public/images/emoji/apple/robot_face.png new file mode 100644 index 000000000..f337f9b7a Binary files /dev/null and b/public/images/emoji/apple/robot_face.png differ diff --git a/public/images/emoji/apple/rocket.png b/public/images/emoji/apple/rocket.png index 85962ba1c..7c47d0399 100644 Binary files a/public/images/emoji/apple/rocket.png and b/public/images/emoji/apple/rocket.png differ diff --git a/public/images/emoji/apple/rolled_up_newspaper.png b/public/images/emoji/apple/rolled_up_newspaper.png new file mode 100644 index 000000000..9a619ecbc Binary files /dev/null and b/public/images/emoji/apple/rolled_up_newspaper.png differ diff --git a/public/images/emoji/apple/roller_coaster.png b/public/images/emoji/apple/roller_coaster.png index ddb3202f0..693516301 100644 Binary files a/public/images/emoji/apple/roller_coaster.png and b/public/images/emoji/apple/roller_coaster.png differ diff --git a/public/images/emoji/apple/rolling_eyes.png b/public/images/emoji/apple/rolling_eyes.png index f29bda511..4da789951 100644 Binary files a/public/images/emoji/apple/rolling_eyes.png and b/public/images/emoji/apple/rolling_eyes.png differ diff --git a/public/images/emoji/apple/rooster.png b/public/images/emoji/apple/rooster.png index 290196523..9b94888dd 100644 Binary files a/public/images/emoji/apple/rooster.png and b/public/images/emoji/apple/rooster.png differ diff --git a/public/images/emoji/apple/rose.png b/public/images/emoji/apple/rose.png index ea2f18071..57bf14b36 100644 Binary files a/public/images/emoji/apple/rose.png and b/public/images/emoji/apple/rose.png differ diff --git a/public/images/emoji/apple/rosette.png b/public/images/emoji/apple/rosette.png index 0c4788509..3744d5c65 100644 Binary files a/public/images/emoji/apple/rosette.png and b/public/images/emoji/apple/rosette.png differ diff --git a/public/images/emoji/apple/rotating_light.png b/public/images/emoji/apple/rotating_light.png index f140e83be..2bc1b615b 100644 Binary files a/public/images/emoji/apple/rotating_light.png and b/public/images/emoji/apple/rotating_light.png differ diff --git a/public/images/emoji/apple/round_pushpin.png b/public/images/emoji/apple/round_pushpin.png index 2e00ae3a0..d14521f4c 100644 Binary files a/public/images/emoji/apple/round_pushpin.png and b/public/images/emoji/apple/round_pushpin.png differ diff --git a/public/images/emoji/apple/rowboat.png b/public/images/emoji/apple/rowboat.png index 7ecf0fc8b..412e6ed7f 100644 Binary files a/public/images/emoji/apple/rowboat.png and b/public/images/emoji/apple/rowboat.png differ diff --git a/public/images/emoji/apple/ru.png b/public/images/emoji/apple/ru.png index f62d984e4..ebd82f4a5 100644 Binary files a/public/images/emoji/apple/ru.png and b/public/images/emoji/apple/ru.png differ diff --git a/public/images/emoji/apple/rugby_football.png b/public/images/emoji/apple/rugby_football.png index 2b0dba221..89d48a8c7 100644 Binary files a/public/images/emoji/apple/rugby_football.png and b/public/images/emoji/apple/rugby_football.png differ diff --git a/public/images/emoji/apple/runner.png b/public/images/emoji/apple/runner.png index 76ab4ea4e..a54c9f58e 100644 Binary files a/public/images/emoji/apple/runner.png and b/public/images/emoji/apple/runner.png differ diff --git a/public/images/emoji/apple/running.png b/public/images/emoji/apple/running.png deleted file mode 100644 index 3dfca8b5a..000000000 Binary files a/public/images/emoji/apple/running.png and /dev/null differ diff --git a/public/images/emoji/apple/running_shirt_with_sash.png b/public/images/emoji/apple/running_shirt_with_sash.png index 08542c6b6..59b2c36f9 100644 Binary files a/public/images/emoji/apple/running_shirt_with_sash.png and b/public/images/emoji/apple/running_shirt_with_sash.png differ diff --git a/public/images/emoji/apple/sa.png b/public/images/emoji/apple/sa.png index 3892436ef..5d09d0e67 100644 Binary files a/public/images/emoji/apple/sa.png and b/public/images/emoji/apple/sa.png differ diff --git a/public/images/emoji/apple/sagittarius.png b/public/images/emoji/apple/sagittarius.png index 736e1efd4..29f0aa8aa 100644 Binary files a/public/images/emoji/apple/sagittarius.png and b/public/images/emoji/apple/sagittarius.png differ diff --git a/public/images/emoji/apple/sailboat.png b/public/images/emoji/apple/sailboat.png index 200e9657d..1db5dc819 100644 Binary files a/public/images/emoji/apple/sailboat.png and b/public/images/emoji/apple/sailboat.png differ diff --git a/public/images/emoji/apple/sake.png b/public/images/emoji/apple/sake.png index d0fefad64..01fc740db 100644 Binary files a/public/images/emoji/apple/sake.png and b/public/images/emoji/apple/sake.png differ diff --git a/public/images/emoji/apple/sandal.png b/public/images/emoji/apple/sandal.png index ef6e81a62..545d9237c 100644 Binary files a/public/images/emoji/apple/sandal.png and b/public/images/emoji/apple/sandal.png differ diff --git a/public/images/emoji/apple/santa.png b/public/images/emoji/apple/santa.png index 9a24043e7..854a31c05 100644 Binary files a/public/images/emoji/apple/santa.png and b/public/images/emoji/apple/santa.png differ diff --git a/public/images/emoji/apple/satellite.png b/public/images/emoji/apple/satellite.png index 4d0887a06..fbe05cb10 100644 Binary files a/public/images/emoji/apple/satellite.png and b/public/images/emoji/apple/satellite.png differ diff --git a/public/images/emoji/apple/satellite_orbital.png b/public/images/emoji/apple/satellite_orbital.png index 1c02e1c78..d13384ba9 100644 Binary files a/public/images/emoji/apple/satellite_orbital.png and b/public/images/emoji/apple/satellite_orbital.png differ diff --git a/public/images/emoji/apple/satisfied.png b/public/images/emoji/apple/satisfied.png index ed64db6fa..7dd973dae 100644 Binary files a/public/images/emoji/apple/satisfied.png and b/public/images/emoji/apple/satisfied.png differ diff --git a/public/images/emoji/apple/saxophone.png b/public/images/emoji/apple/saxophone.png index 0c76a1155..1824aaafc 100644 Binary files a/public/images/emoji/apple/saxophone.png and b/public/images/emoji/apple/saxophone.png differ diff --git a/public/images/emoji/apple/scales.png b/public/images/emoji/apple/scales.png index 11fa8f8ae..b09bddf3e 100644 Binary files a/public/images/emoji/apple/scales.png and b/public/images/emoji/apple/scales.png differ diff --git a/public/images/emoji/apple/school.png b/public/images/emoji/apple/school.png index 52cd1317c..59293acb7 100644 Binary files a/public/images/emoji/apple/school.png and b/public/images/emoji/apple/school.png differ diff --git a/public/images/emoji/apple/school_satchel.png b/public/images/emoji/apple/school_satchel.png index a49d63b79..38cabc92a 100644 Binary files a/public/images/emoji/apple/school_satchel.png and b/public/images/emoji/apple/school_satchel.png differ diff --git a/public/images/emoji/apple/scissors.png b/public/images/emoji/apple/scissors.png index efebce275..30fab88ad 100644 Binary files a/public/images/emoji/apple/scissors.png and b/public/images/emoji/apple/scissors.png differ diff --git a/public/images/emoji/apple/scorpion.png b/public/images/emoji/apple/scorpion.png index 74779cb82..2f184d2b7 100644 Binary files a/public/images/emoji/apple/scorpion.png and b/public/images/emoji/apple/scorpion.png differ diff --git a/public/images/emoji/apple/scorpius.png b/public/images/emoji/apple/scorpius.png index feb064d5a..c14b4a412 100644 Binary files a/public/images/emoji/apple/scorpius.png and b/public/images/emoji/apple/scorpius.png differ diff --git a/public/images/emoji/apple/scream.png b/public/images/emoji/apple/scream.png index e48577290..14c1f0d85 100644 Binary files a/public/images/emoji/apple/scream.png and b/public/images/emoji/apple/scream.png differ diff --git a/public/images/emoji/apple/scream_cat.png b/public/images/emoji/apple/scream_cat.png index b76a55a67..a750f130e 100644 Binary files a/public/images/emoji/apple/scream_cat.png and b/public/images/emoji/apple/scream_cat.png differ diff --git a/public/images/emoji/apple/scroll.png b/public/images/emoji/apple/scroll.png index e53b9a6f2..89cab98c0 100644 Binary files a/public/images/emoji/apple/scroll.png and b/public/images/emoji/apple/scroll.png differ diff --git a/public/images/emoji/apple/seat.png b/public/images/emoji/apple/seat.png index fb4df9a3c..6e41a5d6b 100644 Binary files a/public/images/emoji/apple/seat.png and b/public/images/emoji/apple/seat.png differ diff --git a/public/images/emoji/apple/secret.png b/public/images/emoji/apple/secret.png index 6f7cc11e5..b43e495ce 100644 Binary files a/public/images/emoji/apple/secret.png and b/public/images/emoji/apple/secret.png differ diff --git a/public/images/emoji/apple/see_no_evil.png b/public/images/emoji/apple/see_no_evil.png index d8a5b9ad0..367f784e3 100644 Binary files a/public/images/emoji/apple/see_no_evil.png and b/public/images/emoji/apple/see_no_evil.png differ diff --git a/public/images/emoji/apple/seedling.png b/public/images/emoji/apple/seedling.png index 9e98f8f24..c978b0cc2 100644 Binary files a/public/images/emoji/apple/seedling.png and b/public/images/emoji/apple/seedling.png differ diff --git a/public/images/emoji/apple/seven.png b/public/images/emoji/apple/seven.png index 34ed9cca6..e69de29bb 100644 Binary files a/public/images/emoji/apple/seven.png and b/public/images/emoji/apple/seven.png differ diff --git a/public/images/emoji/apple/shamrock.png b/public/images/emoji/apple/shamrock.png index 7a6812134..e64a28222 100644 Binary files a/public/images/emoji/apple/shamrock.png and b/public/images/emoji/apple/shamrock.png differ diff --git a/public/images/emoji/apple/shaved_ice.png b/public/images/emoji/apple/shaved_ice.png index 4f3664d82..46a14928e 100644 Binary files a/public/images/emoji/apple/shaved_ice.png and b/public/images/emoji/apple/shaved_ice.png differ diff --git a/public/images/emoji/apple/sheep.png b/public/images/emoji/apple/sheep.png index 614b74473..b06a8fab5 100644 Binary files a/public/images/emoji/apple/sheep.png and b/public/images/emoji/apple/sheep.png differ diff --git a/public/images/emoji/apple/shell.png b/public/images/emoji/apple/shell.png index 75502efac..b3d7199aa 100644 Binary files a/public/images/emoji/apple/shell.png and b/public/images/emoji/apple/shell.png differ diff --git a/public/images/emoji/apple/shield.png b/public/images/emoji/apple/shield.png index c2146a8e4..72c78410b 100644 Binary files a/public/images/emoji/apple/shield.png and b/public/images/emoji/apple/shield.png differ diff --git a/public/images/emoji/apple/shinto_shrine.png b/public/images/emoji/apple/shinto_shrine.png index f04a6e404..597aad00c 100644 Binary files a/public/images/emoji/apple/shinto_shrine.png and b/public/images/emoji/apple/shinto_shrine.png differ diff --git a/public/images/emoji/apple/ship.png b/public/images/emoji/apple/ship.png index 7868937bf..ebc93a326 100644 Binary files a/public/images/emoji/apple/ship.png and b/public/images/emoji/apple/ship.png differ diff --git a/public/images/emoji/apple/shirt.png b/public/images/emoji/apple/shirt.png index 64389eb04..39693e1e3 100644 Binary files a/public/images/emoji/apple/shirt.png and b/public/images/emoji/apple/shirt.png differ diff --git a/public/images/emoji/apple/shit.png b/public/images/emoji/apple/shit.png index 8e62f0e43..a025f4300 100644 Binary files a/public/images/emoji/apple/shit.png and b/public/images/emoji/apple/shit.png differ diff --git a/public/images/emoji/apple/shoe.png b/public/images/emoji/apple/shoe.png deleted file mode 100644 index 40154177f..000000000 Binary files a/public/images/emoji/apple/shoe.png and /dev/null differ diff --git a/public/images/emoji/apple/shopping_bags.png b/public/images/emoji/apple/shopping_bags.png index 5c1fdae6f..ceea95ed5 100644 Binary files a/public/images/emoji/apple/shopping_bags.png and b/public/images/emoji/apple/shopping_bags.png differ diff --git a/public/images/emoji/apple/shower.png b/public/images/emoji/apple/shower.png index ec08ea103..65bf735ec 100644 Binary files a/public/images/emoji/apple/shower.png and b/public/images/emoji/apple/shower.png differ diff --git a/public/images/emoji/apple/sign_of_the_horns.png b/public/images/emoji/apple/sign_of_the_horns.png new file mode 100644 index 000000000..7518952e8 Binary files /dev/null and b/public/images/emoji/apple/sign_of_the_horns.png differ diff --git a/public/images/emoji/apple/signal_strength.png b/public/images/emoji/apple/signal_strength.png index 886de1730..f9aab2513 100644 Binary files a/public/images/emoji/apple/signal_strength.png and b/public/images/emoji/apple/signal_strength.png differ diff --git a/public/images/emoji/apple/six.png b/public/images/emoji/apple/six.png index ce9b64cca..e69de29bb 100644 Binary files a/public/images/emoji/apple/six.png and b/public/images/emoji/apple/six.png differ diff --git a/public/images/emoji/apple/six_pointed_star.png b/public/images/emoji/apple/six_pointed_star.png index 6e4480e80..f278daf8c 100644 Binary files a/public/images/emoji/apple/six_pointed_star.png and b/public/images/emoji/apple/six_pointed_star.png differ diff --git a/public/images/emoji/apple/skeleton.png b/public/images/emoji/apple/skeleton.png new file mode 100644 index 000000000..5ba5e001a Binary files /dev/null and b/public/images/emoji/apple/skeleton.png differ diff --git a/public/images/emoji/apple/ski.png b/public/images/emoji/apple/ski.png index 90399443c..72976d040 100644 Binary files a/public/images/emoji/apple/ski.png and b/public/images/emoji/apple/ski.png differ diff --git a/public/images/emoji/apple/skier.png b/public/images/emoji/apple/skier.png index 9f4aaf09c..e309b6778 100644 Binary files a/public/images/emoji/apple/skier.png and b/public/images/emoji/apple/skier.png differ diff --git a/public/images/emoji/apple/skull.png b/public/images/emoji/apple/skull.png index 6d26b3028..5ba5e001a 100644 Binary files a/public/images/emoji/apple/skull.png and b/public/images/emoji/apple/skull.png differ diff --git a/public/images/emoji/apple/skull_and_crossbones.png b/public/images/emoji/apple/skull_and_crossbones.png new file mode 100644 index 000000000..1bb29f6d4 Binary files /dev/null and b/public/images/emoji/apple/skull_and_crossbones.png differ diff --git a/public/images/emoji/apple/skull_crossbones.png b/public/images/emoji/apple/skull_crossbones.png index 27db39049..1bb29f6d4 100644 Binary files a/public/images/emoji/apple/skull_crossbones.png and b/public/images/emoji/apple/skull_crossbones.png differ diff --git a/public/images/emoji/apple/sleeping.png b/public/images/emoji/apple/sleeping.png index ec2c462d7..6e50f02bf 100644 Binary files a/public/images/emoji/apple/sleeping.png and b/public/images/emoji/apple/sleeping.png differ diff --git a/public/images/emoji/apple/sleeping_accommodation.png b/public/images/emoji/apple/sleeping_accommodation.png index 15d17edc2..a6aab0e1e 100644 Binary files a/public/images/emoji/apple/sleeping_accommodation.png and b/public/images/emoji/apple/sleeping_accommodation.png differ diff --git a/public/images/emoji/apple/sleepy.png b/public/images/emoji/apple/sleepy.png index dbe9c8892..43de408a0 100644 Binary files a/public/images/emoji/apple/sleepy.png and b/public/images/emoji/apple/sleepy.png differ diff --git a/public/images/emoji/apple/sleuth_or_spy.png b/public/images/emoji/apple/sleuth_or_spy.png new file mode 100644 index 000000000..88557f891 Binary files /dev/null and b/public/images/emoji/apple/sleuth_or_spy.png differ diff --git a/public/images/emoji/apple/slight_frown.png b/public/images/emoji/apple/slight_frown.png index 0c0cb44bb..f70c3de71 100644 Binary files a/public/images/emoji/apple/slight_frown.png and b/public/images/emoji/apple/slight_frown.png differ diff --git a/public/images/emoji/apple/slight_smile.png b/public/images/emoji/apple/slight_smile.png index 3d3b6e083..02756b99c 100644 Binary files a/public/images/emoji/apple/slight_smile.png and b/public/images/emoji/apple/slight_smile.png differ diff --git a/public/images/emoji/apple/slightly_frowning_face.png b/public/images/emoji/apple/slightly_frowning_face.png new file mode 100644 index 000000000..f70c3de71 Binary files /dev/null and b/public/images/emoji/apple/slightly_frowning_face.png differ diff --git a/public/images/emoji/apple/slightly_smiling.png b/public/images/emoji/apple/slightly_smiling.png deleted file mode 100644 index e7328dabe..000000000 Binary files a/public/images/emoji/apple/slightly_smiling.png and /dev/null differ diff --git a/public/images/emoji/apple/slightly_smiling_face.png b/public/images/emoji/apple/slightly_smiling_face.png new file mode 100644 index 000000000..02756b99c Binary files /dev/null and b/public/images/emoji/apple/slightly_smiling_face.png differ diff --git a/public/images/emoji/apple/slot_machine.png b/public/images/emoji/apple/slot_machine.png index 3b3967a76..9a858ec00 100644 Binary files a/public/images/emoji/apple/slot_machine.png and b/public/images/emoji/apple/slot_machine.png differ diff --git a/public/images/emoji/apple/small_airplane.png b/public/images/emoji/apple/small_airplane.png new file mode 100644 index 000000000..fd2075925 Binary files /dev/null and b/public/images/emoji/apple/small_airplane.png differ diff --git a/public/images/emoji/apple/small_blue_diamond.png b/public/images/emoji/apple/small_blue_diamond.png index 47e5c0809..c63847885 100644 Binary files a/public/images/emoji/apple/small_blue_diamond.png and b/public/images/emoji/apple/small_blue_diamond.png differ diff --git a/public/images/emoji/apple/small_orange_diamond.png b/public/images/emoji/apple/small_orange_diamond.png index 15d270c42..01f885b41 100644 Binary files a/public/images/emoji/apple/small_orange_diamond.png and b/public/images/emoji/apple/small_orange_diamond.png differ diff --git a/public/images/emoji/apple/small_red_triangle.png b/public/images/emoji/apple/small_red_triangle.png index 456f4025e..d8213ad36 100644 Binary files a/public/images/emoji/apple/small_red_triangle.png and b/public/images/emoji/apple/small_red_triangle.png differ diff --git a/public/images/emoji/apple/small_red_triangle_down.png b/public/images/emoji/apple/small_red_triangle_down.png index 3119c4647..8e4343864 100644 Binary files a/public/images/emoji/apple/small_red_triangle_down.png and b/public/images/emoji/apple/small_red_triangle_down.png differ diff --git a/public/images/emoji/apple/smile.png b/public/images/emoji/apple/smile.png index ea78f967f..ec96ecb13 100644 Binary files a/public/images/emoji/apple/smile.png and b/public/images/emoji/apple/smile.png differ diff --git a/public/images/emoji/apple/smile_cat.png b/public/images/emoji/apple/smile_cat.png index 7090c9cf5..e5d138b04 100644 Binary files a/public/images/emoji/apple/smile_cat.png and b/public/images/emoji/apple/smile_cat.png differ diff --git a/public/images/emoji/apple/smiley.png b/public/images/emoji/apple/smiley.png index 4d14dd892..3e8d067f0 100644 Binary files a/public/images/emoji/apple/smiley.png and b/public/images/emoji/apple/smiley.png differ diff --git a/public/images/emoji/apple/smiley_cat.png b/public/images/emoji/apple/smiley_cat.png index adfe3df7e..0ebf0a3f2 100644 Binary files a/public/images/emoji/apple/smiley_cat.png and b/public/images/emoji/apple/smiley_cat.png differ diff --git a/public/images/emoji/apple/smiling_imp.png b/public/images/emoji/apple/smiling_imp.png index b7ec4eb1e..2505aca4a 100644 Binary files a/public/images/emoji/apple/smiling_imp.png and b/public/images/emoji/apple/smiling_imp.png differ diff --git a/public/images/emoji/apple/smirk.png b/public/images/emoji/apple/smirk.png index 27240a407..e7e894ab7 100644 Binary files a/public/images/emoji/apple/smirk.png and b/public/images/emoji/apple/smirk.png differ diff --git a/public/images/emoji/apple/smirk_cat.png b/public/images/emoji/apple/smirk_cat.png index 5bee06c8b..5d7a656c1 100644 Binary files a/public/images/emoji/apple/smirk_cat.png and b/public/images/emoji/apple/smirk_cat.png differ diff --git a/public/images/emoji/apple/smoking.png b/public/images/emoji/apple/smoking.png index e515f0817..14cc1c7c3 100644 Binary files a/public/images/emoji/apple/smoking.png and b/public/images/emoji/apple/smoking.png differ diff --git a/public/images/emoji/apple/snail.png b/public/images/emoji/apple/snail.png index 3bb4ab754..42e7c8652 100644 Binary files a/public/images/emoji/apple/snail.png and b/public/images/emoji/apple/snail.png differ diff --git a/public/images/emoji/apple/snake.png b/public/images/emoji/apple/snake.png index 00f6b6021..2c9727250 100644 Binary files a/public/images/emoji/apple/snake.png and b/public/images/emoji/apple/snake.png differ diff --git a/public/images/emoji/apple/snow_capped_mountain.png b/public/images/emoji/apple/snow_capped_mountain.png new file mode 100644 index 000000000..128683000 Binary files /dev/null and b/public/images/emoji/apple/snow_capped_mountain.png differ diff --git a/public/images/emoji/apple/snowboarder.png b/public/images/emoji/apple/snowboarder.png index 2b136e90c..a88d3f57e 100644 Binary files a/public/images/emoji/apple/snowboarder.png and b/public/images/emoji/apple/snowboarder.png differ diff --git a/public/images/emoji/apple/snowflake.png b/public/images/emoji/apple/snowflake.png index 1b2e7dd8d..92dce9a53 100644 Binary files a/public/images/emoji/apple/snowflake.png and b/public/images/emoji/apple/snowflake.png differ diff --git a/public/images/emoji/apple/snowman.png b/public/images/emoji/apple/snowman.png index e84800155..41fe7215a 100644 Binary files a/public/images/emoji/apple/snowman.png and b/public/images/emoji/apple/snowman.png differ diff --git a/public/images/emoji/apple/snowman2.png b/public/images/emoji/apple/snowman2.png index 89e619f41..d4a8953f1 100644 Binary files a/public/images/emoji/apple/snowman2.png and b/public/images/emoji/apple/snowman2.png differ diff --git a/public/images/emoji/apple/sob.png b/public/images/emoji/apple/sob.png index 09bad2e9e..5674beaff 100644 Binary files a/public/images/emoji/apple/sob.png and b/public/images/emoji/apple/sob.png differ diff --git a/public/images/emoji/apple/soccer.png b/public/images/emoji/apple/soccer.png index 69b6f33b5..5754da2e7 100644 Binary files a/public/images/emoji/apple/soccer.png and b/public/images/emoji/apple/soccer.png differ diff --git a/public/images/emoji/apple/soon.png b/public/images/emoji/apple/soon.png index 625fe51ed..2a408f6c9 100644 Binary files a/public/images/emoji/apple/soon.png and b/public/images/emoji/apple/soon.png differ diff --git a/public/images/emoji/apple/sos.png b/public/images/emoji/apple/sos.png index fa357cfa2..c95399d73 100644 Binary files a/public/images/emoji/apple/sos.png and b/public/images/emoji/apple/sos.png differ diff --git a/public/images/emoji/apple/sound.png b/public/images/emoji/apple/sound.png index 485ea840e..17a15290f 100644 Binary files a/public/images/emoji/apple/sound.png and b/public/images/emoji/apple/sound.png differ diff --git a/public/images/emoji/apple/space_invader.png b/public/images/emoji/apple/space_invader.png index 16639c5b2..baf3c0c04 100644 Binary files a/public/images/emoji/apple/space_invader.png and b/public/images/emoji/apple/space_invader.png differ diff --git a/public/images/emoji/apple/spades.png b/public/images/emoji/apple/spades.png index 470573feb..391f0288c 100644 Binary files a/public/images/emoji/apple/spades.png and b/public/images/emoji/apple/spades.png differ diff --git a/public/images/emoji/apple/spaghetti.png b/public/images/emoji/apple/spaghetti.png index 0abc2eb84..4ad69a0ad 100644 Binary files a/public/images/emoji/apple/spaghetti.png and b/public/images/emoji/apple/spaghetti.png differ diff --git a/public/images/emoji/apple/sparkle.png b/public/images/emoji/apple/sparkle.png index d9d27f695..5db60902b 100644 Binary files a/public/images/emoji/apple/sparkle.png and b/public/images/emoji/apple/sparkle.png differ diff --git a/public/images/emoji/apple/sparkler.png b/public/images/emoji/apple/sparkler.png index ed52f9658..9a970a912 100644 Binary files a/public/images/emoji/apple/sparkler.png and b/public/images/emoji/apple/sparkler.png differ diff --git a/public/images/emoji/apple/sparkles.png b/public/images/emoji/apple/sparkles.png index 1c5998e58..1be1a2f0d 100644 Binary files a/public/images/emoji/apple/sparkles.png and b/public/images/emoji/apple/sparkles.png differ diff --git a/public/images/emoji/apple/sparkling_heart.png b/public/images/emoji/apple/sparkling_heart.png index b05da6153..a2f64c259 100644 Binary files a/public/images/emoji/apple/sparkling_heart.png and b/public/images/emoji/apple/sparkling_heart.png differ diff --git a/public/images/emoji/apple/speak_no_evil.png b/public/images/emoji/apple/speak_no_evil.png index 45aad9229..222a2fa22 100644 Binary files a/public/images/emoji/apple/speak_no_evil.png and b/public/images/emoji/apple/speak_no_evil.png differ diff --git a/public/images/emoji/apple/speaker.png b/public/images/emoji/apple/speaker.png index 252b07bc8..2f46c3aac 100644 Binary files a/public/images/emoji/apple/speaker.png and b/public/images/emoji/apple/speaker.png differ diff --git a/public/images/emoji/apple/speaking_head.png b/public/images/emoji/apple/speaking_head.png index b25c49724..2d2892d18 100644 Binary files a/public/images/emoji/apple/speaking_head.png and b/public/images/emoji/apple/speaking_head.png differ diff --git a/public/images/emoji/apple/speaking_head_in_silhouette.png b/public/images/emoji/apple/speaking_head_in_silhouette.png new file mode 100644 index 000000000..2d2892d18 Binary files /dev/null and b/public/images/emoji/apple/speaking_head_in_silhouette.png differ diff --git a/public/images/emoji/apple/speech_balloon.png b/public/images/emoji/apple/speech_balloon.png index 620032872..263d7c0f7 100644 Binary files a/public/images/emoji/apple/speech_balloon.png and b/public/images/emoji/apple/speech_balloon.png differ diff --git a/public/images/emoji/apple/speedboat.png b/public/images/emoji/apple/speedboat.png index f1a05336f..985d58d34 100644 Binary files a/public/images/emoji/apple/speedboat.png and b/public/images/emoji/apple/speedboat.png differ diff --git a/public/images/emoji/apple/spider.png b/public/images/emoji/apple/spider.png index 4df7e8bfe..29f7588b6 100644 Binary files a/public/images/emoji/apple/spider.png and b/public/images/emoji/apple/spider.png differ diff --git a/public/images/emoji/apple/spider_web.png b/public/images/emoji/apple/spider_web.png index bbb08b0e1..6b15a040e 100644 Binary files a/public/images/emoji/apple/spider_web.png and b/public/images/emoji/apple/spider_web.png differ diff --git a/public/images/emoji/apple/spiral_calendar_pad.png b/public/images/emoji/apple/spiral_calendar_pad.png new file mode 100644 index 000000000..429d7c7f6 Binary files /dev/null and b/public/images/emoji/apple/spiral_calendar_pad.png differ diff --git a/public/images/emoji/apple/spiral_note_pad.png b/public/images/emoji/apple/spiral_note_pad.png new file mode 100644 index 000000000..6ea74f2e2 Binary files /dev/null and b/public/images/emoji/apple/spiral_note_pad.png differ diff --git a/public/images/emoji/apple/sports_medal.png b/public/images/emoji/apple/sports_medal.png new file mode 100644 index 000000000..37e6735eb Binary files /dev/null and b/public/images/emoji/apple/sports_medal.png differ diff --git a/public/images/emoji/apple/spy.png b/public/images/emoji/apple/spy.png index 9cd898d6c..88557f891 100644 Binary files a/public/images/emoji/apple/spy.png and b/public/images/emoji/apple/spy.png differ diff --git a/public/images/emoji/apple/stadium.png b/public/images/emoji/apple/stadium.png index 342032abb..31ea828db 100644 Binary files a/public/images/emoji/apple/stadium.png and b/public/images/emoji/apple/stadium.png differ diff --git a/public/images/emoji/apple/star.png b/public/images/emoji/apple/star.png index 5a7581047..932c78393 100644 Binary files a/public/images/emoji/apple/star.png and b/public/images/emoji/apple/star.png differ diff --git a/public/images/emoji/apple/star2.png b/public/images/emoji/apple/star2.png index ab5b8e621..e1ed35eb5 100644 Binary files a/public/images/emoji/apple/star2.png and b/public/images/emoji/apple/star2.png differ diff --git a/public/images/emoji/apple/star_and_crescent.png b/public/images/emoji/apple/star_and_crescent.png index 77fd9928d..fde9b3c29 100644 Binary files a/public/images/emoji/apple/star_and_crescent.png and b/public/images/emoji/apple/star_and_crescent.png differ diff --git a/public/images/emoji/apple/star_of_david.png b/public/images/emoji/apple/star_of_david.png index 82bc00d3f..4c681f3a2 100644 Binary files a/public/images/emoji/apple/star_of_david.png and b/public/images/emoji/apple/star_of_david.png differ diff --git a/public/images/emoji/apple/stars.png b/public/images/emoji/apple/stars.png index 96b02d126..8ee40bd16 100644 Binary files a/public/images/emoji/apple/stars.png and b/public/images/emoji/apple/stars.png differ diff --git a/public/images/emoji/apple/station.png b/public/images/emoji/apple/station.png index f1779ba7b..122303ec9 100644 Binary files a/public/images/emoji/apple/station.png and b/public/images/emoji/apple/station.png differ diff --git a/public/images/emoji/apple/statue_of_liberty.png b/public/images/emoji/apple/statue_of_liberty.png index bff98abb2..d9f432f9e 100644 Binary files a/public/images/emoji/apple/statue_of_liberty.png and b/public/images/emoji/apple/statue_of_liberty.png differ diff --git a/public/images/emoji/apple/steam_locomotive.png b/public/images/emoji/apple/steam_locomotive.png index 64da1bcb0..17b9edf2d 100644 Binary files a/public/images/emoji/apple/steam_locomotive.png and b/public/images/emoji/apple/steam_locomotive.png differ diff --git a/public/images/emoji/apple/stew.png b/public/images/emoji/apple/stew.png index 32d11c713..6eb07474b 100644 Binary files a/public/images/emoji/apple/stew.png and b/public/images/emoji/apple/stew.png differ diff --git a/public/images/emoji/apple/stop_button.png b/public/images/emoji/apple/stop_button.png index 99258e024..6e44df377 100644 Binary files a/public/images/emoji/apple/stop_button.png and b/public/images/emoji/apple/stop_button.png differ diff --git a/public/images/emoji/apple/stopwatch.png b/public/images/emoji/apple/stopwatch.png index d194a2d99..255ec91bf 100644 Binary files a/public/images/emoji/apple/stopwatch.png and b/public/images/emoji/apple/stopwatch.png differ diff --git a/public/images/emoji/apple/straight_ruler.png b/public/images/emoji/apple/straight_ruler.png index 61af005f2..9f3c719a8 100644 Binary files a/public/images/emoji/apple/straight_ruler.png and b/public/images/emoji/apple/straight_ruler.png differ diff --git a/public/images/emoji/apple/strawberry.png b/public/images/emoji/apple/strawberry.png index 33e0db893..a3da2473b 100644 Binary files a/public/images/emoji/apple/strawberry.png and b/public/images/emoji/apple/strawberry.png differ diff --git a/public/images/emoji/apple/stuck_out_tongue.png b/public/images/emoji/apple/stuck_out_tongue.png index a665f8e46..baef9b5c0 100644 Binary files a/public/images/emoji/apple/stuck_out_tongue.png and b/public/images/emoji/apple/stuck_out_tongue.png differ diff --git a/public/images/emoji/apple/stuck_out_tongue_closed_eyes.png b/public/images/emoji/apple/stuck_out_tongue_closed_eyes.png index 2cf589c26..a8ee962b4 100644 Binary files a/public/images/emoji/apple/stuck_out_tongue_closed_eyes.png and b/public/images/emoji/apple/stuck_out_tongue_closed_eyes.png differ diff --git a/public/images/emoji/apple/stuck_out_tongue_winking_eye.png b/public/images/emoji/apple/stuck_out_tongue_winking_eye.png index ecbea59f3..e9a0f3c0a 100644 Binary files a/public/images/emoji/apple/stuck_out_tongue_winking_eye.png and b/public/images/emoji/apple/stuck_out_tongue_winking_eye.png differ diff --git a/public/images/emoji/apple/studio_microphone.png b/public/images/emoji/apple/studio_microphone.png new file mode 100644 index 000000000..6d4db741c Binary files /dev/null and b/public/images/emoji/apple/studio_microphone.png differ diff --git a/public/images/emoji/apple/sun_with_face.png b/public/images/emoji/apple/sun_with_face.png index 3dd10ee34..5c7aa04f0 100644 Binary files a/public/images/emoji/apple/sun_with_face.png and b/public/images/emoji/apple/sun_with_face.png differ diff --git a/public/images/emoji/apple/sunflower.png b/public/images/emoji/apple/sunflower.png index ef4648ced..2de51ebcc 100644 Binary files a/public/images/emoji/apple/sunflower.png and b/public/images/emoji/apple/sunflower.png differ diff --git a/public/images/emoji/apple/sunglasses.png b/public/images/emoji/apple/sunglasses.png index e76b4bb91..1c02e7737 100644 Binary files a/public/images/emoji/apple/sunglasses.png and b/public/images/emoji/apple/sunglasses.png differ diff --git a/public/images/emoji/apple/sunny.png b/public/images/emoji/apple/sunny.png index 1d794c56f..8a5e97247 100644 Binary files a/public/images/emoji/apple/sunny.png and b/public/images/emoji/apple/sunny.png differ diff --git a/public/images/emoji/apple/sunrise.png b/public/images/emoji/apple/sunrise.png index f2e8e65a2..fecda0462 100644 Binary files a/public/images/emoji/apple/sunrise.png and b/public/images/emoji/apple/sunrise.png differ diff --git a/public/images/emoji/apple/sunrise_over_mountains.png b/public/images/emoji/apple/sunrise_over_mountains.png index 290604bee..6ffdb0455 100644 Binary files a/public/images/emoji/apple/sunrise_over_mountains.png and b/public/images/emoji/apple/sunrise_over_mountains.png differ diff --git a/public/images/emoji/apple/surfer.png b/public/images/emoji/apple/surfer.png index 579cc0c43..476e43df4 100644 Binary files a/public/images/emoji/apple/surfer.png and b/public/images/emoji/apple/surfer.png differ diff --git a/public/images/emoji/apple/sushi.png b/public/images/emoji/apple/sushi.png index 98345e368..065f36f36 100644 Binary files a/public/images/emoji/apple/sushi.png and b/public/images/emoji/apple/sushi.png differ diff --git a/public/images/emoji/apple/suspension_railway.png b/public/images/emoji/apple/suspension_railway.png index 0797e019a..0fd2ed829 100644 Binary files a/public/images/emoji/apple/suspension_railway.png and b/public/images/emoji/apple/suspension_railway.png differ diff --git a/public/images/emoji/apple/sweat.png b/public/images/emoji/apple/sweat.png index 6369faaea..755dfe2ce 100644 Binary files a/public/images/emoji/apple/sweat.png and b/public/images/emoji/apple/sweat.png differ diff --git a/public/images/emoji/apple/sweat_drops.png b/public/images/emoji/apple/sweat_drops.png index c92fb7419..8e444ecf9 100644 Binary files a/public/images/emoji/apple/sweat_drops.png and b/public/images/emoji/apple/sweat_drops.png differ diff --git a/public/images/emoji/apple/sweat_smile.png b/public/images/emoji/apple/sweat_smile.png index cc0c01963..586fcdb38 100644 Binary files a/public/images/emoji/apple/sweat_smile.png and b/public/images/emoji/apple/sweat_smile.png differ diff --git a/public/images/emoji/apple/sweet_potato.png b/public/images/emoji/apple/sweet_potato.png index 42abf4b8e..7f7999900 100644 Binary files a/public/images/emoji/apple/sweet_potato.png and b/public/images/emoji/apple/sweet_potato.png differ diff --git a/public/images/emoji/apple/swimmer.png b/public/images/emoji/apple/swimmer.png index d5ea26f9a..152e42f48 100644 Binary files a/public/images/emoji/apple/swimmer.png and b/public/images/emoji/apple/swimmer.png differ diff --git a/public/images/emoji/apple/symbols.png b/public/images/emoji/apple/symbols.png index 980d59d36..9d1fa78cc 100644 Binary files a/public/images/emoji/apple/symbols.png and b/public/images/emoji/apple/symbols.png differ diff --git a/public/images/emoji/apple/synagogue.png b/public/images/emoji/apple/synagogue.png index 9aec9500c..ee0bd96cf 100644 Binary files a/public/images/emoji/apple/synagogue.png and b/public/images/emoji/apple/synagogue.png differ diff --git a/public/images/emoji/apple/syringe.png b/public/images/emoji/apple/syringe.png index 48dc0734e..18bf076d2 100644 Binary files a/public/images/emoji/apple/syringe.png and b/public/images/emoji/apple/syringe.png differ diff --git a/public/images/emoji/apple/table_tennis.png b/public/images/emoji/apple/table_tennis.png new file mode 100644 index 000000000..2ec7386f1 Binary files /dev/null and b/public/images/emoji/apple/table_tennis.png differ diff --git a/public/images/emoji/apple/taco.png b/public/images/emoji/apple/taco.png index a4e8ba4e3..3a9606313 100644 Binary files a/public/images/emoji/apple/taco.png and b/public/images/emoji/apple/taco.png differ diff --git a/public/images/emoji/apple/tada.png b/public/images/emoji/apple/tada.png index 8faf4cf3b..f3f53895a 100644 Binary files a/public/images/emoji/apple/tada.png and b/public/images/emoji/apple/tada.png differ diff --git a/public/images/emoji/apple/tanabata_tree.png b/public/images/emoji/apple/tanabata_tree.png index d1919d5a2..d1cdc00ff 100644 Binary files a/public/images/emoji/apple/tanabata_tree.png and b/public/images/emoji/apple/tanabata_tree.png differ diff --git a/public/images/emoji/apple/tangerine.png b/public/images/emoji/apple/tangerine.png index ae77cd1b8..edf6be47f 100644 Binary files a/public/images/emoji/apple/tangerine.png and b/public/images/emoji/apple/tangerine.png differ diff --git a/public/images/emoji/apple/taurus.png b/public/images/emoji/apple/taurus.png index e30609a3f..4fa42031a 100644 Binary files a/public/images/emoji/apple/taurus.png and b/public/images/emoji/apple/taurus.png differ diff --git a/public/images/emoji/apple/taxi.png b/public/images/emoji/apple/taxi.png index 287c839d2..ec0930c68 100644 Binary files a/public/images/emoji/apple/taxi.png and b/public/images/emoji/apple/taxi.png differ diff --git a/public/images/emoji/apple/tea.png b/public/images/emoji/apple/tea.png index e29f0f89a..b9f89bdc4 100644 Binary files a/public/images/emoji/apple/tea.png and b/public/images/emoji/apple/tea.png differ diff --git a/public/images/emoji/apple/telephone.png b/public/images/emoji/apple/telephone.png index 21b8c9a5f..6ac8bdd78 100644 Binary files a/public/images/emoji/apple/telephone.png and b/public/images/emoji/apple/telephone.png differ diff --git a/public/images/emoji/apple/telephone_receiver.png b/public/images/emoji/apple/telephone_receiver.png index dccd94dd8..a4e73c68d 100644 Binary files a/public/images/emoji/apple/telephone_receiver.png and b/public/images/emoji/apple/telephone_receiver.png differ diff --git a/public/images/emoji/apple/telescope.png b/public/images/emoji/apple/telescope.png index 6a20842f7..3a6ca3119 100644 Binary files a/public/images/emoji/apple/telescope.png and b/public/images/emoji/apple/telescope.png differ diff --git a/public/images/emoji/apple/ten.png b/public/images/emoji/apple/ten.png index 68ae72c0f..853c15ad1 100644 Binary files a/public/images/emoji/apple/ten.png and b/public/images/emoji/apple/ten.png differ diff --git a/public/images/emoji/apple/tennis.png b/public/images/emoji/apple/tennis.png index c6f7b3983..9af8a6997 100644 Binary files a/public/images/emoji/apple/tennis.png and b/public/images/emoji/apple/tennis.png differ diff --git a/public/images/emoji/apple/tent.png b/public/images/emoji/apple/tent.png index 511bbbdbf..e54b56f4f 100644 Binary files a/public/images/emoji/apple/tent.png and b/public/images/emoji/apple/tent.png differ diff --git a/public/images/emoji/apple/thermometer.png b/public/images/emoji/apple/thermometer.png index 94d30503c..a48ce4473 100644 Binary files a/public/images/emoji/apple/thermometer.png and b/public/images/emoji/apple/thermometer.png differ diff --git a/public/images/emoji/apple/thermometer_face.png b/public/images/emoji/apple/thermometer_face.png index 462afa0e8..bc7076dfa 100644 Binary files a/public/images/emoji/apple/thermometer_face.png and b/public/images/emoji/apple/thermometer_face.png differ diff --git a/public/images/emoji/apple/thinking.png b/public/images/emoji/apple/thinking.png index 471c4a3a4..df9001d06 100644 Binary files a/public/images/emoji/apple/thinking.png and b/public/images/emoji/apple/thinking.png differ diff --git a/public/images/emoji/apple/thinking_face.png b/public/images/emoji/apple/thinking_face.png new file mode 100644 index 000000000..df9001d06 Binary files /dev/null and b/public/images/emoji/apple/thinking_face.png differ diff --git a/public/images/emoji/apple/thought_balloon.png b/public/images/emoji/apple/thought_balloon.png index 6f00e3009..9e95b9efe 100644 Binary files a/public/images/emoji/apple/thought_balloon.png and b/public/images/emoji/apple/thought_balloon.png differ diff --git a/public/images/emoji/apple/three.png b/public/images/emoji/apple/three.png index 32a9df29a..e69de29bb 100644 Binary files a/public/images/emoji/apple/three.png and b/public/images/emoji/apple/three.png differ diff --git a/public/images/emoji/apple/three_button_mouse.png b/public/images/emoji/apple/three_button_mouse.png new file mode 100644 index 000000000..eb88c6c76 Binary files /dev/null and b/public/images/emoji/apple/three_button_mouse.png differ diff --git a/public/images/emoji/apple/thumbsdown.png b/public/images/emoji/apple/thumbsdown.png index 934ce9c23..74440b69c 100644 Binary files a/public/images/emoji/apple/thumbsdown.png and b/public/images/emoji/apple/thumbsdown.png differ diff --git a/public/images/emoji/apple/thumbsup.png b/public/images/emoji/apple/thumbsup.png index c59befcc1..5df9bb854 100644 Binary files a/public/images/emoji/apple/thumbsup.png and b/public/images/emoji/apple/thumbsup.png differ diff --git a/public/images/emoji/apple/thunder_cloud_and_rain.png b/public/images/emoji/apple/thunder_cloud_and_rain.png new file mode 100644 index 000000000..ad5ed7e93 Binary files /dev/null and b/public/images/emoji/apple/thunder_cloud_and_rain.png differ diff --git a/public/images/emoji/apple/thunder_cloud_rain.png b/public/images/emoji/apple/thunder_cloud_rain.png index 54d0d491b..ad5ed7e93 100644 Binary files a/public/images/emoji/apple/thunder_cloud_rain.png and b/public/images/emoji/apple/thunder_cloud_rain.png differ diff --git a/public/images/emoji/apple/ticket.png b/public/images/emoji/apple/ticket.png index edb1f2394..74b0ee322 100644 Binary files a/public/images/emoji/apple/ticket.png and b/public/images/emoji/apple/ticket.png differ diff --git a/public/images/emoji/apple/tickets.png b/public/images/emoji/apple/tickets.png index d019a6976..89650d6ec 100644 Binary files a/public/images/emoji/apple/tickets.png and b/public/images/emoji/apple/tickets.png differ diff --git a/public/images/emoji/apple/tiger.png b/public/images/emoji/apple/tiger.png index 311045118..a54ccc83c 100644 Binary files a/public/images/emoji/apple/tiger.png and b/public/images/emoji/apple/tiger.png differ diff --git a/public/images/emoji/apple/tiger2.png b/public/images/emoji/apple/tiger2.png index 2b064958d..d6f7ef738 100644 Binary files a/public/images/emoji/apple/tiger2.png and b/public/images/emoji/apple/tiger2.png differ diff --git a/public/images/emoji/apple/timer.png b/public/images/emoji/apple/timer.png index a900a0599..fa4107c69 100644 Binary files a/public/images/emoji/apple/timer.png and b/public/images/emoji/apple/timer.png differ diff --git a/public/images/emoji/apple/timer_clock.png b/public/images/emoji/apple/timer_clock.png new file mode 100644 index 000000000..fa4107c69 Binary files /dev/null and b/public/images/emoji/apple/timer_clock.png differ diff --git a/public/images/emoji/apple/tired_face.png b/public/images/emoji/apple/tired_face.png index ca89544ab..f1806a26f 100644 Binary files a/public/images/emoji/apple/tired_face.png and b/public/images/emoji/apple/tired_face.png differ diff --git a/public/images/emoji/apple/tm.png b/public/images/emoji/apple/tm.png index 48a7ebe1d..fee407353 100644 Binary files a/public/images/emoji/apple/tm.png and b/public/images/emoji/apple/tm.png differ diff --git a/public/images/emoji/apple/toilet.png b/public/images/emoji/apple/toilet.png index 9b98049b8..4f9f2c505 100644 Binary files a/public/images/emoji/apple/toilet.png and b/public/images/emoji/apple/toilet.png differ diff --git a/public/images/emoji/apple/tokyo_tower.png b/public/images/emoji/apple/tokyo_tower.png index 4f88e850b..3fa978a5b 100644 Binary files a/public/images/emoji/apple/tokyo_tower.png and b/public/images/emoji/apple/tokyo_tower.png differ diff --git a/public/images/emoji/apple/tomato.png b/public/images/emoji/apple/tomato.png index d839d3866..7e9a63a6a 100644 Binary files a/public/images/emoji/apple/tomato.png and b/public/images/emoji/apple/tomato.png differ diff --git a/public/images/emoji/apple/tongue.png b/public/images/emoji/apple/tongue.png index 72b83563c..53189574b 100644 Binary files a/public/images/emoji/apple/tongue.png and b/public/images/emoji/apple/tongue.png differ diff --git a/public/images/emoji/apple/tools.png b/public/images/emoji/apple/tools.png index 05671ef41..32050b23f 100644 Binary files a/public/images/emoji/apple/tools.png and b/public/images/emoji/apple/tools.png differ diff --git a/public/images/emoji/apple/top.png b/public/images/emoji/apple/top.png index fac8873b0..4bb24f1a3 100644 Binary files a/public/images/emoji/apple/top.png and b/public/images/emoji/apple/top.png differ diff --git a/public/images/emoji/apple/tophat.png b/public/images/emoji/apple/tophat.png index 0c63dfc7b..bde39c16b 100644 Binary files a/public/images/emoji/apple/tophat.png and b/public/images/emoji/apple/tophat.png differ diff --git a/public/images/emoji/apple/track_next.png b/public/images/emoji/apple/track_next.png index 6c6638ce8..2ff96903d 100644 Binary files a/public/images/emoji/apple/track_next.png and b/public/images/emoji/apple/track_next.png differ diff --git a/public/images/emoji/apple/track_previous.png b/public/images/emoji/apple/track_previous.png index 6bef75ae0..401b24b9a 100644 Binary files a/public/images/emoji/apple/track_previous.png and b/public/images/emoji/apple/track_previous.png differ diff --git a/public/images/emoji/apple/trackball.png b/public/images/emoji/apple/trackball.png index 26567260c..4114ed434 100644 Binary files a/public/images/emoji/apple/trackball.png and b/public/images/emoji/apple/trackball.png differ diff --git a/public/images/emoji/apple/tractor.png b/public/images/emoji/apple/tractor.png index db2bd093f..05c7cc855 100644 Binary files a/public/images/emoji/apple/tractor.png and b/public/images/emoji/apple/tractor.png differ diff --git a/public/images/emoji/apple/traffic_light.png b/public/images/emoji/apple/traffic_light.png index 984d6c9a3..f5df9bbc9 100644 Binary files a/public/images/emoji/apple/traffic_light.png and b/public/images/emoji/apple/traffic_light.png differ diff --git a/public/images/emoji/apple/train.png b/public/images/emoji/apple/train.png index 0964527e7..c9635597b 100644 Binary files a/public/images/emoji/apple/train.png and b/public/images/emoji/apple/train.png differ diff --git a/public/images/emoji/apple/train2.png b/public/images/emoji/apple/train2.png index ff49d55f9..874216e62 100644 Binary files a/public/images/emoji/apple/train2.png and b/public/images/emoji/apple/train2.png differ diff --git a/public/images/emoji/apple/tram.png b/public/images/emoji/apple/tram.png index d893fce00..c76fd23f3 100644 Binary files a/public/images/emoji/apple/tram.png and b/public/images/emoji/apple/tram.png differ diff --git a/public/images/emoji/apple/triangular_flag_on_post.png b/public/images/emoji/apple/triangular_flag_on_post.png index e42737b27..da9085f1a 100644 Binary files a/public/images/emoji/apple/triangular_flag_on_post.png and b/public/images/emoji/apple/triangular_flag_on_post.png differ diff --git a/public/images/emoji/apple/triangular_ruler.png b/public/images/emoji/apple/triangular_ruler.png index 8cb5b848c..ef93bb855 100644 Binary files a/public/images/emoji/apple/triangular_ruler.png and b/public/images/emoji/apple/triangular_ruler.png differ diff --git a/public/images/emoji/apple/trident.png b/public/images/emoji/apple/trident.png index f53d3406e..c712d8319 100644 Binary files a/public/images/emoji/apple/trident.png and b/public/images/emoji/apple/trident.png differ diff --git a/public/images/emoji/apple/triumph.png b/public/images/emoji/apple/triumph.png index 0a4ecd953..6cd8030c4 100644 Binary files a/public/images/emoji/apple/triumph.png and b/public/images/emoji/apple/triumph.png differ diff --git a/public/images/emoji/apple/trolleybus.png b/public/images/emoji/apple/trolleybus.png index 8253d6438..b65457564 100644 Binary files a/public/images/emoji/apple/trolleybus.png and b/public/images/emoji/apple/trolleybus.png differ diff --git a/public/images/emoji/apple/trophy.png b/public/images/emoji/apple/trophy.png index 5d60256c4..90688c480 100644 Binary files a/public/images/emoji/apple/trophy.png and b/public/images/emoji/apple/trophy.png differ diff --git a/public/images/emoji/apple/tropical_drink.png b/public/images/emoji/apple/tropical_drink.png index 5e25716ad..562cc9884 100644 Binary files a/public/images/emoji/apple/tropical_drink.png and b/public/images/emoji/apple/tropical_drink.png differ diff --git a/public/images/emoji/apple/tropical_fish.png b/public/images/emoji/apple/tropical_fish.png index 74bdb6759..3a3db059d 100644 Binary files a/public/images/emoji/apple/tropical_fish.png and b/public/images/emoji/apple/tropical_fish.png differ diff --git a/public/images/emoji/apple/truck.png b/public/images/emoji/apple/truck.png index 162527d9e..cc6db6d7b 100644 Binary files a/public/images/emoji/apple/truck.png and b/public/images/emoji/apple/truck.png differ diff --git a/public/images/emoji/apple/trumpet.png b/public/images/emoji/apple/trumpet.png index 1a5e60092..d438f9a91 100644 Binary files a/public/images/emoji/apple/trumpet.png and b/public/images/emoji/apple/trumpet.png differ diff --git a/public/images/emoji/apple/tshirt.png b/public/images/emoji/apple/tshirt.png deleted file mode 100644 index 39abccfb2..000000000 Binary files a/public/images/emoji/apple/tshirt.png and /dev/null differ diff --git a/public/images/emoji/apple/tulip.png b/public/images/emoji/apple/tulip.png index 7796d7a8e..d79aff417 100644 Binary files a/public/images/emoji/apple/tulip.png and b/public/images/emoji/apple/tulip.png differ diff --git a/public/images/emoji/apple/turkey.png b/public/images/emoji/apple/turkey.png index bb5f14935..c0eba7457 100644 Binary files a/public/images/emoji/apple/turkey.png and b/public/images/emoji/apple/turkey.png differ diff --git a/public/images/emoji/apple/turtle.png b/public/images/emoji/apple/turtle.png index 35e417543..537b2dde5 100644 Binary files a/public/images/emoji/apple/turtle.png and b/public/images/emoji/apple/turtle.png differ diff --git a/public/images/emoji/apple/tv.png b/public/images/emoji/apple/tv.png index 6cc8f1e65..c9ec15c65 100644 Binary files a/public/images/emoji/apple/tv.png and b/public/images/emoji/apple/tv.png differ diff --git a/public/images/emoji/apple/twisted_rightwards_arrows.png b/public/images/emoji/apple/twisted_rightwards_arrows.png index 35e3c4149..0201e297a 100644 Binary files a/public/images/emoji/apple/twisted_rightwards_arrows.png and b/public/images/emoji/apple/twisted_rightwards_arrows.png differ diff --git a/public/images/emoji/apple/two.png b/public/images/emoji/apple/two.png index f5130088b..e69de29bb 100644 Binary files a/public/images/emoji/apple/two.png and b/public/images/emoji/apple/two.png differ diff --git a/public/images/emoji/apple/two_hearts.png b/public/images/emoji/apple/two_hearts.png index 80b7905b9..eff6d442d 100644 Binary files a/public/images/emoji/apple/two_hearts.png and b/public/images/emoji/apple/two_hearts.png differ diff --git a/public/images/emoji/apple/two_men_holding_hands.png b/public/images/emoji/apple/two_men_holding_hands.png index e14023702..ed684ce6c 100644 Binary files a/public/images/emoji/apple/two_men_holding_hands.png and b/public/images/emoji/apple/two_men_holding_hands.png differ diff --git a/public/images/emoji/apple/two_women_holding_hands.png b/public/images/emoji/apple/two_women_holding_hands.png index 6f943aa22..620827154 100644 Binary files a/public/images/emoji/apple/two_women_holding_hands.png and b/public/images/emoji/apple/two_women_holding_hands.png differ diff --git a/public/images/emoji/apple/u5272.png b/public/images/emoji/apple/u5272.png index d8c2ca780..8c7ad8087 100644 Binary files a/public/images/emoji/apple/u5272.png and b/public/images/emoji/apple/u5272.png differ diff --git a/public/images/emoji/apple/u5408.png b/public/images/emoji/apple/u5408.png index d826b72b0..2cdde1bf5 100644 Binary files a/public/images/emoji/apple/u5408.png and b/public/images/emoji/apple/u5408.png differ diff --git a/public/images/emoji/apple/u55b6.png b/public/images/emoji/apple/u55b6.png index b073ba7cc..4a6bd1d02 100644 Binary files a/public/images/emoji/apple/u55b6.png and b/public/images/emoji/apple/u55b6.png differ diff --git a/public/images/emoji/apple/u6307.png b/public/images/emoji/apple/u6307.png index 25306ed56..1811b71c7 100644 Binary files a/public/images/emoji/apple/u6307.png and b/public/images/emoji/apple/u6307.png differ diff --git a/public/images/emoji/apple/u6708.png b/public/images/emoji/apple/u6708.png index dd597f521..a969dbd1e 100644 Binary files a/public/images/emoji/apple/u6708.png and b/public/images/emoji/apple/u6708.png differ diff --git a/public/images/emoji/apple/u6709.png b/public/images/emoji/apple/u6709.png index 9714c94b4..a6f0b2e52 100644 Binary files a/public/images/emoji/apple/u6709.png and b/public/images/emoji/apple/u6709.png differ diff --git a/public/images/emoji/apple/u6e80.png b/public/images/emoji/apple/u6e80.png index a1d3ee791..669de7d6e 100644 Binary files a/public/images/emoji/apple/u6e80.png and b/public/images/emoji/apple/u6e80.png differ diff --git a/public/images/emoji/apple/u7121.png b/public/images/emoji/apple/u7121.png index 8e573e4eb..96ce24bf4 100644 Binary files a/public/images/emoji/apple/u7121.png and b/public/images/emoji/apple/u7121.png differ diff --git a/public/images/emoji/apple/u7533.png b/public/images/emoji/apple/u7533.png index b76cd6cc2..a0a50f603 100644 Binary files a/public/images/emoji/apple/u7533.png and b/public/images/emoji/apple/u7533.png differ diff --git a/public/images/emoji/apple/u7981.png b/public/images/emoji/apple/u7981.png index d9ae5a3fa..69d83d7a8 100644 Binary files a/public/images/emoji/apple/u7981.png and b/public/images/emoji/apple/u7981.png differ diff --git a/public/images/emoji/apple/u7a7a.png b/public/images/emoji/apple/u7a7a.png index 407bb2a84..48a2a1e74 100644 Binary files a/public/images/emoji/apple/u7a7a.png and b/public/images/emoji/apple/u7a7a.png differ diff --git a/public/images/emoji/apple/uk.png b/public/images/emoji/apple/uk.png deleted file mode 100644 index 824e2ff2b..000000000 Binary files a/public/images/emoji/apple/uk.png and /dev/null differ diff --git a/public/images/emoji/apple/umbrella.png b/public/images/emoji/apple/umbrella.png index 3cdedc012..fe9852deb 100644 Binary files a/public/images/emoji/apple/umbrella.png and b/public/images/emoji/apple/umbrella.png differ diff --git a/public/images/emoji/apple/umbrella2.png b/public/images/emoji/apple/umbrella2.png index 541849c8b..fff8477f6 100644 Binary files a/public/images/emoji/apple/umbrella2.png and b/public/images/emoji/apple/umbrella2.png differ diff --git a/public/images/emoji/apple/umbrella_on_ground.png b/public/images/emoji/apple/umbrella_on_ground.png new file mode 100644 index 000000000..c51ce16d0 Binary files /dev/null and b/public/images/emoji/apple/umbrella_on_ground.png differ diff --git a/public/images/emoji/apple/unamused.png b/public/images/emoji/apple/unamused.png index 0bc878495..e29e6fac8 100644 Binary files a/public/images/emoji/apple/unamused.png and b/public/images/emoji/apple/unamused.png differ diff --git a/public/images/emoji/apple/underage.png b/public/images/emoji/apple/underage.png index 99fa959c1..4764fbb57 100644 Binary files a/public/images/emoji/apple/underage.png and b/public/images/emoji/apple/underage.png differ diff --git a/public/images/emoji/apple/unicorn.png b/public/images/emoji/apple/unicorn.png index 6fe83ed34..67c720d0c 100644 Binary files a/public/images/emoji/apple/unicorn.png and b/public/images/emoji/apple/unicorn.png differ diff --git a/public/images/emoji/apple/unicorn_face.png b/public/images/emoji/apple/unicorn_face.png new file mode 100644 index 000000000..67c720d0c Binary files /dev/null and b/public/images/emoji/apple/unicorn_face.png differ diff --git a/public/images/emoji/apple/unlock.png b/public/images/emoji/apple/unlock.png index 0ff562338..bc2c50f36 100644 Binary files a/public/images/emoji/apple/unlock.png and b/public/images/emoji/apple/unlock.png differ diff --git a/public/images/emoji/apple/up.png b/public/images/emoji/apple/up.png index 0e8b98343..6a12b5c52 100644 Binary files a/public/images/emoji/apple/up.png and b/public/images/emoji/apple/up.png differ diff --git a/public/images/emoji/apple/upside_down.png b/public/images/emoji/apple/upside_down.png index 34b6fec25..f60d9b623 100644 Binary files a/public/images/emoji/apple/upside_down.png and b/public/images/emoji/apple/upside_down.png differ diff --git a/public/images/emoji/apple/upside_down_face.png b/public/images/emoji/apple/upside_down_face.png new file mode 100644 index 000000000..f60d9b623 Binary files /dev/null and b/public/images/emoji/apple/upside_down_face.png differ diff --git a/public/images/emoji/apple/urn.png b/public/images/emoji/apple/urn.png index 1a71bd1f8..f89584d19 100644 Binary files a/public/images/emoji/apple/urn.png and b/public/images/emoji/apple/urn.png differ diff --git a/public/images/emoji/apple/us.png b/public/images/emoji/apple/us.png index 72a949d08..64a5e528d 100644 Binary files a/public/images/emoji/apple/us.png and b/public/images/emoji/apple/us.png differ diff --git a/public/images/emoji/apple/v.png b/public/images/emoji/apple/v.png index 521b51732..d3fc2ab19 100644 Binary files a/public/images/emoji/apple/v.png and b/public/images/emoji/apple/v.png differ diff --git a/public/images/emoji/apple/vertical_traffic_light.png b/public/images/emoji/apple/vertical_traffic_light.png index 8bcd5c1ae..33e92b615 100644 Binary files a/public/images/emoji/apple/vertical_traffic_light.png and b/public/images/emoji/apple/vertical_traffic_light.png differ diff --git a/public/images/emoji/apple/vhs.png b/public/images/emoji/apple/vhs.png index 4b7bc17e4..2f7b3f5e5 100644 Binary files a/public/images/emoji/apple/vhs.png and b/public/images/emoji/apple/vhs.png differ diff --git a/public/images/emoji/apple/vibration_mode.png b/public/images/emoji/apple/vibration_mode.png index 764d5fb8c..7d62f0abe 100644 Binary files a/public/images/emoji/apple/vibration_mode.png and b/public/images/emoji/apple/vibration_mode.png differ diff --git a/public/images/emoji/apple/video_camera.png b/public/images/emoji/apple/video_camera.png index 1871b0579..d4be9b9e8 100644 Binary files a/public/images/emoji/apple/video_camera.png and b/public/images/emoji/apple/video_camera.png differ diff --git a/public/images/emoji/apple/video_game.png b/public/images/emoji/apple/video_game.png index 5e8eb0051..a949144b8 100644 Binary files a/public/images/emoji/apple/video_game.png and b/public/images/emoji/apple/video_game.png differ diff --git a/public/images/emoji/apple/violin.png b/public/images/emoji/apple/violin.png index bd91e0a92..176f0eaba 100644 Binary files a/public/images/emoji/apple/violin.png and b/public/images/emoji/apple/violin.png differ diff --git a/public/images/emoji/apple/virgo.png b/public/images/emoji/apple/virgo.png index 02ef97a34..2ce0771fe 100644 Binary files a/public/images/emoji/apple/virgo.png and b/public/images/emoji/apple/virgo.png differ diff --git a/public/images/emoji/apple/volcano.png b/public/images/emoji/apple/volcano.png index dfdac21fd..a06b343c9 100644 Binary files a/public/images/emoji/apple/volcano.png and b/public/images/emoji/apple/volcano.png differ diff --git a/public/images/emoji/apple/volleyball.png b/public/images/emoji/apple/volleyball.png index 50db05cd4..f18f12cf0 100644 Binary files a/public/images/emoji/apple/volleyball.png and b/public/images/emoji/apple/volleyball.png differ diff --git a/public/images/emoji/apple/vs.png b/public/images/emoji/apple/vs.png index cd5e2dcda..1ffea60b3 100644 Binary files a/public/images/emoji/apple/vs.png and b/public/images/emoji/apple/vs.png differ diff --git a/public/images/emoji/apple/vulcan.png b/public/images/emoji/apple/vulcan.png index 9f1006c0f..89fd1859f 100644 Binary files a/public/images/emoji/apple/vulcan.png and b/public/images/emoji/apple/vulcan.png differ diff --git a/public/images/emoji/apple/walking.png b/public/images/emoji/apple/walking.png index d814272cf..e647b9672 100644 Binary files a/public/images/emoji/apple/walking.png and b/public/images/emoji/apple/walking.png differ diff --git a/public/images/emoji/apple/waning_crescent_moon.png b/public/images/emoji/apple/waning_crescent_moon.png index e8a1e7151..1a4cb341f 100644 Binary files a/public/images/emoji/apple/waning_crescent_moon.png and b/public/images/emoji/apple/waning_crescent_moon.png differ diff --git a/public/images/emoji/apple/waning_gibbous_moon.png b/public/images/emoji/apple/waning_gibbous_moon.png index 5a4f769f1..188092529 100644 Binary files a/public/images/emoji/apple/waning_gibbous_moon.png and b/public/images/emoji/apple/waning_gibbous_moon.png differ diff --git a/public/images/emoji/apple/warning.png b/public/images/emoji/apple/warning.png index 81318820b..6b17831c9 100644 Binary files a/public/images/emoji/apple/warning.png and b/public/images/emoji/apple/warning.png differ diff --git a/public/images/emoji/apple/wastebasket.png b/public/images/emoji/apple/wastebasket.png index 2288fcaf8..600826f13 100644 Binary files a/public/images/emoji/apple/wastebasket.png and b/public/images/emoji/apple/wastebasket.png differ diff --git a/public/images/emoji/apple/watch.png b/public/images/emoji/apple/watch.png index b95bef197..ab596c507 100644 Binary files a/public/images/emoji/apple/watch.png and b/public/images/emoji/apple/watch.png differ diff --git a/public/images/emoji/apple/water_buffalo.png b/public/images/emoji/apple/water_buffalo.png index f806db83a..2f5ccb407 100644 Binary files a/public/images/emoji/apple/water_buffalo.png and b/public/images/emoji/apple/water_buffalo.png differ diff --git a/public/images/emoji/apple/watermelon.png b/public/images/emoji/apple/watermelon.png index 9e9481713..e09e83b5b 100644 Binary files a/public/images/emoji/apple/watermelon.png and b/public/images/emoji/apple/watermelon.png differ diff --git a/public/images/emoji/apple/wave.png b/public/images/emoji/apple/wave.png index 525f3fb4b..2c6ae426f 100644 Binary files a/public/images/emoji/apple/wave.png and b/public/images/emoji/apple/wave.png differ diff --git a/public/images/emoji/apple/waving_black_flag.png b/public/images/emoji/apple/waving_black_flag.png new file mode 100644 index 000000000..dbe8461ec Binary files /dev/null and b/public/images/emoji/apple/waving_black_flag.png differ diff --git a/public/images/emoji/apple/waving_white_flag.png b/public/images/emoji/apple/waving_white_flag.png new file mode 100644 index 000000000..fcdd1e4ca Binary files /dev/null and b/public/images/emoji/apple/waving_white_flag.png differ diff --git a/public/images/emoji/apple/wavy_dash.png b/public/images/emoji/apple/wavy_dash.png index 1fe7ae513..6e1d1fd7c 100644 Binary files a/public/images/emoji/apple/wavy_dash.png and b/public/images/emoji/apple/wavy_dash.png differ diff --git a/public/images/emoji/apple/waxing_crescent_moon.png b/public/images/emoji/apple/waxing_crescent_moon.png index 7d5b0bfb5..41babd567 100644 Binary files a/public/images/emoji/apple/waxing_crescent_moon.png and b/public/images/emoji/apple/waxing_crescent_moon.png differ diff --git a/public/images/emoji/apple/waxing_gibbous_moon.png b/public/images/emoji/apple/waxing_gibbous_moon.png index 246e35452..e6eca3a19 100644 Binary files a/public/images/emoji/apple/waxing_gibbous_moon.png and b/public/images/emoji/apple/waxing_gibbous_moon.png differ diff --git a/public/images/emoji/apple/wc.png b/public/images/emoji/apple/wc.png index dbbff440d..8c97bc750 100644 Binary files a/public/images/emoji/apple/wc.png and b/public/images/emoji/apple/wc.png differ diff --git a/public/images/emoji/apple/weary.png b/public/images/emoji/apple/weary.png index 52548e905..2d4e531a3 100644 Binary files a/public/images/emoji/apple/weary.png and b/public/images/emoji/apple/weary.png differ diff --git a/public/images/emoji/apple/wedding.png b/public/images/emoji/apple/wedding.png index 5428cb198..f98946c4e 100644 Binary files a/public/images/emoji/apple/wedding.png and b/public/images/emoji/apple/wedding.png differ diff --git a/public/images/emoji/apple/weight_lifter.png b/public/images/emoji/apple/weight_lifter.png new file mode 100644 index 000000000..9cebc0e16 Binary files /dev/null and b/public/images/emoji/apple/weight_lifter.png differ diff --git a/public/images/emoji/apple/whale.png b/public/images/emoji/apple/whale.png index ce6ebeee7..9bb83507b 100644 Binary files a/public/images/emoji/apple/whale.png and b/public/images/emoji/apple/whale.png differ diff --git a/public/images/emoji/apple/whale2.png b/public/images/emoji/apple/whale2.png index 283201a4d..582dacccf 100644 Binary files a/public/images/emoji/apple/whale2.png and b/public/images/emoji/apple/whale2.png differ diff --git a/public/images/emoji/apple/wheel_of_dharma.png b/public/images/emoji/apple/wheel_of_dharma.png index 90ca228b3..21fca008d 100644 Binary files a/public/images/emoji/apple/wheel_of_dharma.png and b/public/images/emoji/apple/wheel_of_dharma.png differ diff --git a/public/images/emoji/apple/wheelchair.png b/public/images/emoji/apple/wheelchair.png index 2f01cbf2e..4bfb92f10 100644 Binary files a/public/images/emoji/apple/wheelchair.png and b/public/images/emoji/apple/wheelchair.png differ diff --git a/public/images/emoji/apple/white_check_mark.png b/public/images/emoji/apple/white_check_mark.png index 738a8214b..fe6a30a2f 100644 Binary files a/public/images/emoji/apple/white_check_mark.png and b/public/images/emoji/apple/white_check_mark.png differ diff --git a/public/images/emoji/apple/white_circle.png b/public/images/emoji/apple/white_circle.png index 2c91c9450..22c4b1001 100644 Binary files a/public/images/emoji/apple/white_circle.png and b/public/images/emoji/apple/white_circle.png differ diff --git a/public/images/emoji/apple/white_flower.png b/public/images/emoji/apple/white_flower.png index 7a453f503..e8478f6e2 100644 Binary files a/public/images/emoji/apple/white_flower.png and b/public/images/emoji/apple/white_flower.png differ diff --git a/public/images/emoji/apple/white_frowning_face.png b/public/images/emoji/apple/white_frowning_face.png new file mode 100644 index 000000000..ad1715f8a Binary files /dev/null and b/public/images/emoji/apple/white_frowning_face.png differ diff --git a/public/images/emoji/apple/white_large_square.png b/public/images/emoji/apple/white_large_square.png index 9b32f43f5..b791aa79c 100644 Binary files a/public/images/emoji/apple/white_large_square.png and b/public/images/emoji/apple/white_large_square.png differ diff --git a/public/images/emoji/apple/white_medium_small_square.png b/public/images/emoji/apple/white_medium_small_square.png index f345db121..c38451fb3 100644 Binary files a/public/images/emoji/apple/white_medium_small_square.png and b/public/images/emoji/apple/white_medium_small_square.png differ diff --git a/public/images/emoji/apple/white_medium_square.png b/public/images/emoji/apple/white_medium_square.png index 3c3ffe083..479112d8f 100644 Binary files a/public/images/emoji/apple/white_medium_square.png and b/public/images/emoji/apple/white_medium_square.png differ diff --git a/public/images/emoji/apple/white_small_square.png b/public/images/emoji/apple/white_small_square.png index 46bc09f10..0485073ba 100644 Binary files a/public/images/emoji/apple/white_small_square.png and b/public/images/emoji/apple/white_small_square.png differ diff --git a/public/images/emoji/apple/white_square_button.png b/public/images/emoji/apple/white_square_button.png index b53607c38..439a5e329 100644 Binary files a/public/images/emoji/apple/white_square_button.png and b/public/images/emoji/apple/white_square_button.png differ diff --git a/public/images/emoji/apple/white_sun_behind_cloud.png b/public/images/emoji/apple/white_sun_behind_cloud.png new file mode 100644 index 000000000..217fd39b9 Binary files /dev/null and b/public/images/emoji/apple/white_sun_behind_cloud.png differ diff --git a/public/images/emoji/apple/white_sun_behind_cloud_with_rain.png b/public/images/emoji/apple/white_sun_behind_cloud_with_rain.png new file mode 100644 index 000000000..a3c5eafa4 Binary files /dev/null and b/public/images/emoji/apple/white_sun_behind_cloud_with_rain.png differ diff --git a/public/images/emoji/apple/white_sun_cloud.png b/public/images/emoji/apple/white_sun_cloud.png index ecdd80a36..217fd39b9 100644 Binary files a/public/images/emoji/apple/white_sun_cloud.png and b/public/images/emoji/apple/white_sun_cloud.png differ diff --git a/public/images/emoji/apple/white_sun_rain_cloud.png b/public/images/emoji/apple/white_sun_rain_cloud.png index 6235af0b9..a3c5eafa4 100644 Binary files a/public/images/emoji/apple/white_sun_rain_cloud.png and b/public/images/emoji/apple/white_sun_rain_cloud.png differ diff --git a/public/images/emoji/apple/white_sun_small_cloud.png b/public/images/emoji/apple/white_sun_small_cloud.png index af664c7f2..e8379a590 100644 Binary files a/public/images/emoji/apple/white_sun_small_cloud.png and b/public/images/emoji/apple/white_sun_small_cloud.png differ diff --git a/public/images/emoji/apple/white_sun_with_small_cloud.png b/public/images/emoji/apple/white_sun_with_small_cloud.png new file mode 100644 index 000000000..e8379a590 Binary files /dev/null and b/public/images/emoji/apple/white_sun_with_small_cloud.png differ diff --git a/public/images/emoji/apple/wind_blowing_face.png b/public/images/emoji/apple/wind_blowing_face.png index 785159cf3..63a42671d 100644 Binary files a/public/images/emoji/apple/wind_blowing_face.png and b/public/images/emoji/apple/wind_blowing_face.png differ diff --git a/public/images/emoji/apple/wind_chime.png b/public/images/emoji/apple/wind_chime.png index 9bf76c657..4022a0270 100644 Binary files a/public/images/emoji/apple/wind_chime.png and b/public/images/emoji/apple/wind_chime.png differ diff --git a/public/images/emoji/apple/wine_glass.png b/public/images/emoji/apple/wine_glass.png index 939e27f20..56b2b61df 100644 Binary files a/public/images/emoji/apple/wine_glass.png and b/public/images/emoji/apple/wine_glass.png differ diff --git a/public/images/emoji/apple/wink.png b/public/images/emoji/apple/wink.png index 8beeb421b..1cd1426dd 100644 Binary files a/public/images/emoji/apple/wink.png and b/public/images/emoji/apple/wink.png differ diff --git a/public/images/emoji/apple/wolf.png b/public/images/emoji/apple/wolf.png index aeeda88ab..65863772e 100644 Binary files a/public/images/emoji/apple/wolf.png and b/public/images/emoji/apple/wolf.png differ diff --git a/public/images/emoji/apple/woman.png b/public/images/emoji/apple/woman.png index 242b73437..a659ec44c 100644 Binary files a/public/images/emoji/apple/woman.png and b/public/images/emoji/apple/woman.png differ diff --git a/public/images/emoji/apple/womans_clothes.png b/public/images/emoji/apple/womans_clothes.png index e7e75154f..689ca9bcb 100644 Binary files a/public/images/emoji/apple/womans_clothes.png and b/public/images/emoji/apple/womans_clothes.png differ diff --git a/public/images/emoji/apple/womans_hat.png b/public/images/emoji/apple/womans_hat.png index 15670fbac..34213a856 100644 Binary files a/public/images/emoji/apple/womans_hat.png and b/public/images/emoji/apple/womans_hat.png differ diff --git a/public/images/emoji/apple/womens.png b/public/images/emoji/apple/womens.png index fc7c14066..0c46d05f0 100644 Binary files a/public/images/emoji/apple/womens.png and b/public/images/emoji/apple/womens.png differ diff --git a/public/images/emoji/apple/world_map.png b/public/images/emoji/apple/world_map.png new file mode 100644 index 000000000..aece6a65e Binary files /dev/null and b/public/images/emoji/apple/world_map.png differ diff --git a/public/images/emoji/apple/worried.png b/public/images/emoji/apple/worried.png index 206ac9874..41d4c7c12 100644 Binary files a/public/images/emoji/apple/worried.png and b/public/images/emoji/apple/worried.png differ diff --git a/public/images/emoji/apple/worship_symbol.png b/public/images/emoji/apple/worship_symbol.png new file mode 100644 index 000000000..5ef810aa4 Binary files /dev/null and b/public/images/emoji/apple/worship_symbol.png differ diff --git a/public/images/emoji/apple/wrench.png b/public/images/emoji/apple/wrench.png index 0435cbef6..160f9aa49 100644 Binary files a/public/images/emoji/apple/wrench.png and b/public/images/emoji/apple/wrench.png differ diff --git a/public/images/emoji/apple/writing_hand.png b/public/images/emoji/apple/writing_hand.png index 83421711b..681228795 100644 Binary files a/public/images/emoji/apple/writing_hand.png and b/public/images/emoji/apple/writing_hand.png differ diff --git a/public/images/emoji/apple/x.png b/public/images/emoji/apple/x.png index d624d0b45..6e15ce5e1 100644 Binary files a/public/images/emoji/apple/x.png and b/public/images/emoji/apple/x.png differ diff --git a/public/images/emoji/apple/yellow_heart.png b/public/images/emoji/apple/yellow_heart.png index 0eb5be53b..867388f57 100644 Binary files a/public/images/emoji/apple/yellow_heart.png and b/public/images/emoji/apple/yellow_heart.png differ diff --git a/public/images/emoji/apple/yen.png b/public/images/emoji/apple/yen.png index 2dc5fc64d..58e443da9 100644 Binary files a/public/images/emoji/apple/yen.png and b/public/images/emoji/apple/yen.png differ diff --git a/public/images/emoji/apple/yin_yang.png b/public/images/emoji/apple/yin_yang.png index 8fb121fcd..bfe5de757 100644 Binary files a/public/images/emoji/apple/yin_yang.png and b/public/images/emoji/apple/yin_yang.png differ diff --git a/public/images/emoji/apple/yum.png b/public/images/emoji/apple/yum.png index b2d830d38..1d849d566 100644 Binary files a/public/images/emoji/apple/yum.png and b/public/images/emoji/apple/yum.png differ diff --git a/public/images/emoji/apple/zap.png b/public/images/emoji/apple/zap.png index ad6142793..82d8e16dc 100644 Binary files a/public/images/emoji/apple/zap.png and b/public/images/emoji/apple/zap.png differ diff --git a/public/images/emoji/apple/zero.png b/public/images/emoji/apple/zero.png index 51c031477..e69de29bb 100644 Binary files a/public/images/emoji/apple/zero.png and b/public/images/emoji/apple/zero.png differ diff --git a/public/images/emoji/apple/zipper_mouth.png b/public/images/emoji/apple/zipper_mouth.png index c5d1323c5..8aaf44f5f 100644 Binary files a/public/images/emoji/apple/zipper_mouth.png and b/public/images/emoji/apple/zipper_mouth.png differ diff --git a/public/images/emoji/apple/zipper_mouth_face.png b/public/images/emoji/apple/zipper_mouth_face.png new file mode 100644 index 000000000..8aaf44f5f Binary files /dev/null and b/public/images/emoji/apple/zipper_mouth_face.png differ diff --git a/public/images/emoji/apple/zzz.png b/public/images/emoji/apple/zzz.png index a60a07999..b18cd0ffe 100644 Binary files a/public/images/emoji/apple/zzz.png and b/public/images/emoji/apple/zzz.png differ diff --git a/public/images/emoji/emoji_one/+1.png b/public/images/emoji/emoji_one/+1.png index 1cf53385f..8cb59b1cf 100644 Binary files a/public/images/emoji/emoji_one/+1.png and b/public/images/emoji/emoji_one/+1.png differ diff --git a/public/images/emoji/emoji_one/-1.png b/public/images/emoji/emoji_one/-1.png index ea63ba981..c8e3213e3 100644 Binary files a/public/images/emoji/emoji_one/-1.png and b/public/images/emoji/emoji_one/-1.png differ diff --git a/public/images/emoji/emoji_one/100.png b/public/images/emoji/emoji_one/100.png index 9ba03d588..c8711a8ed 100644 Binary files a/public/images/emoji/emoji_one/100.png and b/public/images/emoji/emoji_one/100.png differ diff --git a/public/images/emoji/emoji_one/1234.png b/public/images/emoji/emoji_one/1234.png index 248dc7e55..e65c572d9 100644 Binary files a/public/images/emoji/emoji_one/1234.png and b/public/images/emoji/emoji_one/1234.png differ diff --git a/public/images/emoji/emoji_one/8ball.png b/public/images/emoji/emoji_one/8ball.png index 44e461839..a4f68829e 100644 Binary files a/public/images/emoji/emoji_one/8ball.png and b/public/images/emoji/emoji_one/8ball.png differ diff --git a/public/images/emoji/emoji_one/a.png b/public/images/emoji/emoji_one/a.png index 070a4e8c1..8ffc2dec3 100644 Binary files a/public/images/emoji/emoji_one/a.png and b/public/images/emoji/emoji_one/a.png differ diff --git a/public/images/emoji/emoji_one/ab.png b/public/images/emoji/emoji_one/ab.png index affb31f8b..d85d96309 100644 Binary files a/public/images/emoji/emoji_one/ab.png and b/public/images/emoji/emoji_one/ab.png differ diff --git a/public/images/emoji/emoji_one/abc.png b/public/images/emoji/emoji_one/abc.png index 7688de692..6e9092703 100644 Binary files a/public/images/emoji/emoji_one/abc.png and b/public/images/emoji/emoji_one/abc.png differ diff --git a/public/images/emoji/emoji_one/abcd.png b/public/images/emoji/emoji_one/abcd.png index 0996a8705..3f182cd56 100644 Binary files a/public/images/emoji/emoji_one/abcd.png and b/public/images/emoji/emoji_one/abcd.png differ diff --git a/public/images/emoji/emoji_one/accept.png b/public/images/emoji/emoji_one/accept.png index e7cc668de..750b68ce3 100644 Binary files a/public/images/emoji/emoji_one/accept.png and b/public/images/emoji/emoji_one/accept.png differ diff --git a/public/images/emoji/emoji_one/admission_tickets.png b/public/images/emoji/emoji_one/admission_tickets.png new file mode 100644 index 000000000..4f6a24f97 Binary files /dev/null and b/public/images/emoji/emoji_one/admission_tickets.png differ diff --git a/public/images/emoji/emoji_one/aerial_tramway.png b/public/images/emoji/emoji_one/aerial_tramway.png index d7e1a962e..d210cd27b 100644 Binary files a/public/images/emoji/emoji_one/aerial_tramway.png and b/public/images/emoji/emoji_one/aerial_tramway.png differ diff --git a/public/images/emoji/emoji_one/airplane.png b/public/images/emoji/emoji_one/airplane.png index d7e7f6abe..2a81606ab 100644 Binary files a/public/images/emoji/emoji_one/airplane.png and b/public/images/emoji/emoji_one/airplane.png differ diff --git a/public/images/emoji/emoji_one/airplane_arriving.png b/public/images/emoji/emoji_one/airplane_arriving.png index 02ce08a36..20371af4c 100644 Binary files a/public/images/emoji/emoji_one/airplane_arriving.png and b/public/images/emoji/emoji_one/airplane_arriving.png differ diff --git a/public/images/emoji/emoji_one/airplane_departure.png b/public/images/emoji/emoji_one/airplane_departure.png index 66f7e4e8c..347b023e8 100644 Binary files a/public/images/emoji/emoji_one/airplane_departure.png and b/public/images/emoji/emoji_one/airplane_departure.png differ diff --git a/public/images/emoji/emoji_one/airplane_small.png b/public/images/emoji/emoji_one/airplane_small.png index f625dbf8b..217b0b85a 100644 Binary files a/public/images/emoji/emoji_one/airplane_small.png and b/public/images/emoji/emoji_one/airplane_small.png differ diff --git a/public/images/emoji/emoji_one/alarm_clock.png b/public/images/emoji/emoji_one/alarm_clock.png index 4ed5957a8..4c00e3084 100644 Binary files a/public/images/emoji/emoji_one/alarm_clock.png and b/public/images/emoji/emoji_one/alarm_clock.png differ diff --git a/public/images/emoji/emoji_one/alembic.png b/public/images/emoji/emoji_one/alembic.png index 307a73242..a0ceaf63b 100644 Binary files a/public/images/emoji/emoji_one/alembic.png and b/public/images/emoji/emoji_one/alembic.png differ diff --git a/public/images/emoji/emoji_one/alien.png b/public/images/emoji/emoji_one/alien.png index 3b90e9743..4419969b6 100644 Binary files a/public/images/emoji/emoji_one/alien.png and b/public/images/emoji/emoji_one/alien.png differ diff --git a/public/images/emoji/emoji_one/ambulance.png b/public/images/emoji/emoji_one/ambulance.png index 6fb8076d7..33fa625c3 100644 Binary files a/public/images/emoji/emoji_one/ambulance.png and b/public/images/emoji/emoji_one/ambulance.png differ diff --git a/public/images/emoji/emoji_one/amphora.png b/public/images/emoji/emoji_one/amphora.png index 96de50560..cee71ce6e 100644 Binary files a/public/images/emoji/emoji_one/amphora.png and b/public/images/emoji/emoji_one/amphora.png differ diff --git a/public/images/emoji/emoji_one/anchor.png b/public/images/emoji/emoji_one/anchor.png index b036f70a0..02343913b 100644 Binary files a/public/images/emoji/emoji_one/anchor.png and b/public/images/emoji/emoji_one/anchor.png differ diff --git a/public/images/emoji/emoji_one/angel.png b/public/images/emoji/emoji_one/angel.png index 6be3c702b..9b333f33c 100644 Binary files a/public/images/emoji/emoji_one/angel.png and b/public/images/emoji/emoji_one/angel.png differ diff --git a/public/images/emoji/emoji_one/anger.png b/public/images/emoji/emoji_one/anger.png index d63c2e000..bd1efd2c0 100644 Binary files a/public/images/emoji/emoji_one/anger.png and b/public/images/emoji/emoji_one/anger.png differ diff --git a/public/images/emoji/emoji_one/anger_right.png b/public/images/emoji/emoji_one/anger_right.png index f5c97c4d2..9db343ff8 100644 Binary files a/public/images/emoji/emoji_one/anger_right.png and b/public/images/emoji/emoji_one/anger_right.png differ diff --git a/public/images/emoji/emoji_one/angry.png b/public/images/emoji/emoji_one/angry.png index 639efd1b2..2404b7fbc 100644 Binary files a/public/images/emoji/emoji_one/angry.png and b/public/images/emoji/emoji_one/angry.png differ diff --git a/public/images/emoji/emoji_one/anguished.png b/public/images/emoji/emoji_one/anguished.png index 195c2fe7d..5025b7400 100644 Binary files a/public/images/emoji/emoji_one/anguished.png and b/public/images/emoji/emoji_one/anguished.png differ diff --git a/public/images/emoji/emoji_one/ant.png b/public/images/emoji/emoji_one/ant.png index 766b2bc09..60cd3b0ca 100644 Binary files a/public/images/emoji/emoji_one/ant.png and b/public/images/emoji/emoji_one/ant.png differ diff --git a/public/images/emoji/emoji_one/apple.png b/public/images/emoji/emoji_one/apple.png index 9bcbf6907..2e9f9d3ee 100644 Binary files a/public/images/emoji/emoji_one/apple.png and b/public/images/emoji/emoji_one/apple.png differ diff --git a/public/images/emoji/emoji_one/aquarius.png b/public/images/emoji/emoji_one/aquarius.png index 833679a34..dc48ceca4 100644 Binary files a/public/images/emoji/emoji_one/aquarius.png and b/public/images/emoji/emoji_one/aquarius.png differ diff --git a/public/images/emoji/emoji_one/archery.png b/public/images/emoji/emoji_one/archery.png new file mode 100644 index 000000000..02b620358 Binary files /dev/null and b/public/images/emoji/emoji_one/archery.png differ diff --git a/public/images/emoji/emoji_one/aries.png b/public/images/emoji/emoji_one/aries.png index 21a189d0e..4dfe9c676 100644 Binary files a/public/images/emoji/emoji_one/aries.png and b/public/images/emoji/emoji_one/aries.png differ diff --git a/public/images/emoji/emoji_one/arrow_backward.png b/public/images/emoji/emoji_one/arrow_backward.png index 065186f91..f2eda12ff 100644 Binary files a/public/images/emoji/emoji_one/arrow_backward.png and b/public/images/emoji/emoji_one/arrow_backward.png differ diff --git a/public/images/emoji/emoji_one/arrow_double_down.png b/public/images/emoji/emoji_one/arrow_double_down.png index ab0711e81..3b71d1cbc 100644 Binary files a/public/images/emoji/emoji_one/arrow_double_down.png and b/public/images/emoji/emoji_one/arrow_double_down.png differ diff --git a/public/images/emoji/emoji_one/arrow_double_up.png b/public/images/emoji/emoji_one/arrow_double_up.png index 13543d5ee..8cdbde734 100644 Binary files a/public/images/emoji/emoji_one/arrow_double_up.png and b/public/images/emoji/emoji_one/arrow_double_up.png differ diff --git a/public/images/emoji/emoji_one/arrow_down.png b/public/images/emoji/emoji_one/arrow_down.png index ba28b97ee..88c10f171 100644 Binary files a/public/images/emoji/emoji_one/arrow_down.png and b/public/images/emoji/emoji_one/arrow_down.png differ diff --git a/public/images/emoji/emoji_one/arrow_down_small.png b/public/images/emoji/emoji_one/arrow_down_small.png index 168fb9bbe..e845541c3 100644 Binary files a/public/images/emoji/emoji_one/arrow_down_small.png and b/public/images/emoji/emoji_one/arrow_down_small.png differ diff --git a/public/images/emoji/emoji_one/arrow_forward.png b/public/images/emoji/emoji_one/arrow_forward.png index cdbae494d..a339cda7c 100644 Binary files a/public/images/emoji/emoji_one/arrow_forward.png and b/public/images/emoji/emoji_one/arrow_forward.png differ diff --git a/public/images/emoji/emoji_one/arrow_heading_down.png b/public/images/emoji/emoji_one/arrow_heading_down.png index f15414a6a..7b8ab2a2a 100644 Binary files a/public/images/emoji/emoji_one/arrow_heading_down.png and b/public/images/emoji/emoji_one/arrow_heading_down.png differ diff --git a/public/images/emoji/emoji_one/arrow_heading_up.png b/public/images/emoji/emoji_one/arrow_heading_up.png index f29bfcfc0..4f5fa678e 100644 Binary files a/public/images/emoji/emoji_one/arrow_heading_up.png and b/public/images/emoji/emoji_one/arrow_heading_up.png differ diff --git a/public/images/emoji/emoji_one/arrow_left.png b/public/images/emoji/emoji_one/arrow_left.png index 4b691feac..929c9acf0 100644 Binary files a/public/images/emoji/emoji_one/arrow_left.png and b/public/images/emoji/emoji_one/arrow_left.png differ diff --git a/public/images/emoji/emoji_one/arrow_lower_left.png b/public/images/emoji/emoji_one/arrow_lower_left.png index 88b377160..a5bfde71e 100644 Binary files a/public/images/emoji/emoji_one/arrow_lower_left.png and b/public/images/emoji/emoji_one/arrow_lower_left.png differ diff --git a/public/images/emoji/emoji_one/arrow_lower_right.png b/public/images/emoji/emoji_one/arrow_lower_right.png index a52f92a52..fae696179 100644 Binary files a/public/images/emoji/emoji_one/arrow_lower_right.png and b/public/images/emoji/emoji_one/arrow_lower_right.png differ diff --git a/public/images/emoji/emoji_one/arrow_right.png b/public/images/emoji/emoji_one/arrow_right.png index 78bdcb4e6..feebfcbc9 100644 Binary files a/public/images/emoji/emoji_one/arrow_right.png and b/public/images/emoji/emoji_one/arrow_right.png differ diff --git a/public/images/emoji/emoji_one/arrow_right_hook.png b/public/images/emoji/emoji_one/arrow_right_hook.png index 29e92552b..f7e4887e5 100644 Binary files a/public/images/emoji/emoji_one/arrow_right_hook.png and b/public/images/emoji/emoji_one/arrow_right_hook.png differ diff --git a/public/images/emoji/emoji_one/arrow_up.png b/public/images/emoji/emoji_one/arrow_up.png index bd29cdef5..0ae205217 100644 Binary files a/public/images/emoji/emoji_one/arrow_up.png and b/public/images/emoji/emoji_one/arrow_up.png differ diff --git a/public/images/emoji/emoji_one/arrow_up_down.png b/public/images/emoji/emoji_one/arrow_up_down.png index 678a74fc5..4e1f65bce 100644 Binary files a/public/images/emoji/emoji_one/arrow_up_down.png and b/public/images/emoji/emoji_one/arrow_up_down.png differ diff --git a/public/images/emoji/emoji_one/arrow_up_small.png b/public/images/emoji/emoji_one/arrow_up_small.png index cfcbeaf72..9cde005dc 100644 Binary files a/public/images/emoji/emoji_one/arrow_up_small.png and b/public/images/emoji/emoji_one/arrow_up_small.png differ diff --git a/public/images/emoji/emoji_one/arrow_upper_left.png b/public/images/emoji/emoji_one/arrow_upper_left.png index a24e75eb2..e245e7ca3 100644 Binary files a/public/images/emoji/emoji_one/arrow_upper_left.png and b/public/images/emoji/emoji_one/arrow_upper_left.png differ diff --git a/public/images/emoji/emoji_one/arrow_upper_right.png b/public/images/emoji/emoji_one/arrow_upper_right.png index 74ab2a103..b00ef3dd2 100644 Binary files a/public/images/emoji/emoji_one/arrow_upper_right.png and b/public/images/emoji/emoji_one/arrow_upper_right.png differ diff --git a/public/images/emoji/emoji_one/arrows_clockwise.png b/public/images/emoji/emoji_one/arrows_clockwise.png index 30f34a368..26dffb21c 100644 Binary files a/public/images/emoji/emoji_one/arrows_clockwise.png and b/public/images/emoji/emoji_one/arrows_clockwise.png differ diff --git a/public/images/emoji/emoji_one/arrows_counterclockwise.png b/public/images/emoji/emoji_one/arrows_counterclockwise.png index ba6ac8cb0..5538ecfc4 100644 Binary files a/public/images/emoji/emoji_one/arrows_counterclockwise.png and b/public/images/emoji/emoji_one/arrows_counterclockwise.png differ diff --git a/public/images/emoji/emoji_one/art.png b/public/images/emoji/emoji_one/art.png index c64b97a0b..673768344 100644 Binary files a/public/images/emoji/emoji_one/art.png and b/public/images/emoji/emoji_one/art.png differ diff --git a/public/images/emoji/emoji_one/articulated_lorry.png b/public/images/emoji/emoji_one/articulated_lorry.png index e2e97f1da..2d4dbac5d 100644 Binary files a/public/images/emoji/emoji_one/articulated_lorry.png and b/public/images/emoji/emoji_one/articulated_lorry.png differ diff --git a/public/images/emoji/emoji_one/astonished.png b/public/images/emoji/emoji_one/astonished.png index 0027b9eb3..aab9230f2 100644 Binary files a/public/images/emoji/emoji_one/astonished.png and b/public/images/emoji/emoji_one/astonished.png differ diff --git a/public/images/emoji/emoji_one/athletic_shoe.png b/public/images/emoji/emoji_one/athletic_shoe.png index 51a945591..29bea54ba 100644 Binary files a/public/images/emoji/emoji_one/athletic_shoe.png and b/public/images/emoji/emoji_one/athletic_shoe.png differ diff --git a/public/images/emoji/emoji_one/atm.png b/public/images/emoji/emoji_one/atm.png index 2d8bf82f8..26a89d4c6 100644 Binary files a/public/images/emoji/emoji_one/atm.png and b/public/images/emoji/emoji_one/atm.png differ diff --git a/public/images/emoji/emoji_one/atom.png b/public/images/emoji/emoji_one/atom.png index de6c3b984..63481ad7f 100644 Binary files a/public/images/emoji/emoji_one/atom.png and b/public/images/emoji/emoji_one/atom.png differ diff --git a/public/images/emoji/emoji_one/atom_symbol.png b/public/images/emoji/emoji_one/atom_symbol.png new file mode 100644 index 000000000..63481ad7f Binary files /dev/null and b/public/images/emoji/emoji_one/atom_symbol.png differ diff --git a/public/images/emoji/emoji_one/b.png b/public/images/emoji/emoji_one/b.png index b20a1fbb7..791f156b5 100644 Binary files a/public/images/emoji/emoji_one/b.png and b/public/images/emoji/emoji_one/b.png differ diff --git a/public/images/emoji/emoji_one/baby.png b/public/images/emoji/emoji_one/baby.png index 5b175c40f..4773c3653 100644 Binary files a/public/images/emoji/emoji_one/baby.png and b/public/images/emoji/emoji_one/baby.png differ diff --git a/public/images/emoji/emoji_one/baby_bottle.png b/public/images/emoji/emoji_one/baby_bottle.png index dbbb4be8d..b6772c290 100644 Binary files a/public/images/emoji/emoji_one/baby_bottle.png and b/public/images/emoji/emoji_one/baby_bottle.png differ diff --git a/public/images/emoji/emoji_one/baby_chick.png b/public/images/emoji/emoji_one/baby_chick.png index 37a9221f7..4c3e0ad47 100644 Binary files a/public/images/emoji/emoji_one/baby_chick.png and b/public/images/emoji/emoji_one/baby_chick.png differ diff --git a/public/images/emoji/emoji_one/baby_symbol.png b/public/images/emoji/emoji_one/baby_symbol.png index 5b8dc6d63..9b365bc9e 100644 Binary files a/public/images/emoji/emoji_one/baby_symbol.png and b/public/images/emoji/emoji_one/baby_symbol.png differ diff --git a/public/images/emoji/emoji_one/back.png b/public/images/emoji/emoji_one/back.png index 5e8a366d7..1790b2d98 100644 Binary files a/public/images/emoji/emoji_one/back.png and b/public/images/emoji/emoji_one/back.png differ diff --git a/public/images/emoji/emoji_one/badminton.png b/public/images/emoji/emoji_one/badminton.png index 7ba157089..472d68368 100644 Binary files a/public/images/emoji/emoji_one/badminton.png and b/public/images/emoji/emoji_one/badminton.png differ diff --git a/public/images/emoji/emoji_one/baggage_claim.png b/public/images/emoji/emoji_one/baggage_claim.png index d8dfcc395..96629340a 100644 Binary files a/public/images/emoji/emoji_one/baggage_claim.png and b/public/images/emoji/emoji_one/baggage_claim.png differ diff --git a/public/images/emoji/emoji_one/balloon.png b/public/images/emoji/emoji_one/balloon.png index 07916fe6d..b37bdcbc0 100644 Binary files a/public/images/emoji/emoji_one/balloon.png and b/public/images/emoji/emoji_one/balloon.png differ diff --git a/public/images/emoji/emoji_one/ballot_box.png b/public/images/emoji/emoji_one/ballot_box.png index 544546ef9..ed3721b00 100644 Binary files a/public/images/emoji/emoji_one/ballot_box.png and b/public/images/emoji/emoji_one/ballot_box.png differ diff --git a/public/images/emoji/emoji_one/ballot_box_with_ballot.png b/public/images/emoji/emoji_one/ballot_box_with_ballot.png new file mode 100644 index 000000000..ed3721b00 Binary files /dev/null and b/public/images/emoji/emoji_one/ballot_box_with_ballot.png differ diff --git a/public/images/emoji/emoji_one/ballot_box_with_check.png b/public/images/emoji/emoji_one/ballot_box_with_check.png index c3d54935d..8b49e8c79 100644 Binary files a/public/images/emoji/emoji_one/ballot_box_with_check.png and b/public/images/emoji/emoji_one/ballot_box_with_check.png differ diff --git a/public/images/emoji/emoji_one/bamboo.png b/public/images/emoji/emoji_one/bamboo.png index 5d5e0e728..1a2428acd 100644 Binary files a/public/images/emoji/emoji_one/bamboo.png and b/public/images/emoji/emoji_one/bamboo.png differ diff --git a/public/images/emoji/emoji_one/banana.png b/public/images/emoji/emoji_one/banana.png index 1f1732d18..9c29da4c2 100644 Binary files a/public/images/emoji/emoji_one/banana.png and b/public/images/emoji/emoji_one/banana.png differ diff --git a/public/images/emoji/emoji_one/bangbang.png b/public/images/emoji/emoji_one/bangbang.png index 58a9c528f..df0c2bda5 100644 Binary files a/public/images/emoji/emoji_one/bangbang.png and b/public/images/emoji/emoji_one/bangbang.png differ diff --git a/public/images/emoji/emoji_one/bank.png b/public/images/emoji/emoji_one/bank.png index 35b5f4e17..4633286e2 100644 Binary files a/public/images/emoji/emoji_one/bank.png and b/public/images/emoji/emoji_one/bank.png differ diff --git a/public/images/emoji/emoji_one/bar_chart.png b/public/images/emoji/emoji_one/bar_chart.png index 53c894550..ce7512420 100644 Binary files a/public/images/emoji/emoji_one/bar_chart.png and b/public/images/emoji/emoji_one/bar_chart.png differ diff --git a/public/images/emoji/emoji_one/barber.png b/public/images/emoji/emoji_one/barber.png index 10a4e5dea..9761eb604 100644 Binary files a/public/images/emoji/emoji_one/barber.png and b/public/images/emoji/emoji_one/barber.png differ diff --git a/public/images/emoji/emoji_one/baseball.png b/public/images/emoji/emoji_one/baseball.png index b094fbf80..cf3c95d25 100644 Binary files a/public/images/emoji/emoji_one/baseball.png and b/public/images/emoji/emoji_one/baseball.png differ diff --git a/public/images/emoji/emoji_one/basketball.png b/public/images/emoji/emoji_one/basketball.png index f5522d5ab..6ec15112d 100644 Binary files a/public/images/emoji/emoji_one/basketball.png and b/public/images/emoji/emoji_one/basketball.png differ diff --git a/public/images/emoji/emoji_one/basketball_player.png b/public/images/emoji/emoji_one/basketball_player.png index 6fe893514..38c6d635f 100644 Binary files a/public/images/emoji/emoji_one/basketball_player.png and b/public/images/emoji/emoji_one/basketball_player.png differ diff --git a/public/images/emoji/emoji_one/bath.png b/public/images/emoji/emoji_one/bath.png index 32c72bfdc..f6f8d96b0 100644 Binary files a/public/images/emoji/emoji_one/bath.png and b/public/images/emoji/emoji_one/bath.png differ diff --git a/public/images/emoji/emoji_one/bathtub.png b/public/images/emoji/emoji_one/bathtub.png index 711359c90..64e9b1a8a 100644 Binary files a/public/images/emoji/emoji_one/bathtub.png and b/public/images/emoji/emoji_one/bathtub.png differ diff --git a/public/images/emoji/emoji_one/battery.png b/public/images/emoji/emoji_one/battery.png index f593e2bdb..8bb8f1f08 100644 Binary files a/public/images/emoji/emoji_one/battery.png and b/public/images/emoji/emoji_one/battery.png differ diff --git a/public/images/emoji/emoji_one/beach.png b/public/images/emoji/emoji_one/beach.png index 8bcdcd5ea..4a9eaf10b 100644 Binary files a/public/images/emoji/emoji_one/beach.png and b/public/images/emoji/emoji_one/beach.png differ diff --git a/public/images/emoji/emoji_one/beach_umbrella.png b/public/images/emoji/emoji_one/beach_umbrella.png index ae7d3a348..7fa37d2f2 100644 Binary files a/public/images/emoji/emoji_one/beach_umbrella.png and b/public/images/emoji/emoji_one/beach_umbrella.png differ diff --git a/public/images/emoji/emoji_one/beach_with_umbrella.png b/public/images/emoji/emoji_one/beach_with_umbrella.png new file mode 100644 index 000000000..4a9eaf10b Binary files /dev/null and b/public/images/emoji/emoji_one/beach_with_umbrella.png differ diff --git a/public/images/emoji/emoji_one/bear.png b/public/images/emoji/emoji_one/bear.png index fdced26b2..d7d5f5cae 100644 Binary files a/public/images/emoji/emoji_one/bear.png and b/public/images/emoji/emoji_one/bear.png differ diff --git a/public/images/emoji/emoji_one/bed.png b/public/images/emoji/emoji_one/bed.png index 82fe906a6..7456b997f 100644 Binary files a/public/images/emoji/emoji_one/bed.png and b/public/images/emoji/emoji_one/bed.png differ diff --git a/public/images/emoji/emoji_one/bee.png b/public/images/emoji/emoji_one/bee.png index 535e632cc..659521774 100644 Binary files a/public/images/emoji/emoji_one/bee.png and b/public/images/emoji/emoji_one/bee.png differ diff --git a/public/images/emoji/emoji_one/beer.png b/public/images/emoji/emoji_one/beer.png index 09be139c2..3bc330d34 100644 Binary files a/public/images/emoji/emoji_one/beer.png and b/public/images/emoji/emoji_one/beer.png differ diff --git a/public/images/emoji/emoji_one/beers.png b/public/images/emoji/emoji_one/beers.png index 8a57d137b..4974f0591 100644 Binary files a/public/images/emoji/emoji_one/beers.png and b/public/images/emoji/emoji_one/beers.png differ diff --git a/public/images/emoji/emoji_one/beetle.png b/public/images/emoji/emoji_one/beetle.png index 3d93174d7..6765bc9c2 100644 Binary files a/public/images/emoji/emoji_one/beetle.png and b/public/images/emoji/emoji_one/beetle.png differ diff --git a/public/images/emoji/emoji_one/beginner.png b/public/images/emoji/emoji_one/beginner.png index f0c6b5055..e6ed0d7f8 100644 Binary files a/public/images/emoji/emoji_one/beginner.png and b/public/images/emoji/emoji_one/beginner.png differ diff --git a/public/images/emoji/emoji_one/bell.png b/public/images/emoji/emoji_one/bell.png index 5b3b04619..69f7ebab0 100644 Binary files a/public/images/emoji/emoji_one/bell.png and b/public/images/emoji/emoji_one/bell.png differ diff --git a/public/images/emoji/emoji_one/bellhop.png b/public/images/emoji/emoji_one/bellhop.png index d53d08042..278326137 100644 Binary files a/public/images/emoji/emoji_one/bellhop.png and b/public/images/emoji/emoji_one/bellhop.png differ diff --git a/public/images/emoji/emoji_one/bellhop_bell.png b/public/images/emoji/emoji_one/bellhop_bell.png new file mode 100644 index 000000000..278326137 Binary files /dev/null and b/public/images/emoji/emoji_one/bellhop_bell.png differ diff --git a/public/images/emoji/emoji_one/bento.png b/public/images/emoji/emoji_one/bento.png index 911f95bae..663849b85 100644 Binary files a/public/images/emoji/emoji_one/bento.png and b/public/images/emoji/emoji_one/bento.png differ diff --git a/public/images/emoji/emoji_one/bicyclist.png b/public/images/emoji/emoji_one/bicyclist.png index 9274da110..338c1af91 100644 Binary files a/public/images/emoji/emoji_one/bicyclist.png and b/public/images/emoji/emoji_one/bicyclist.png differ diff --git a/public/images/emoji/emoji_one/bike.png b/public/images/emoji/emoji_one/bike.png index 94cf91782..fedc0663c 100644 Binary files a/public/images/emoji/emoji_one/bike.png and b/public/images/emoji/emoji_one/bike.png differ diff --git a/public/images/emoji/emoji_one/bikini.png b/public/images/emoji/emoji_one/bikini.png index 11d7bd5a1..9619001a8 100644 Binary files a/public/images/emoji/emoji_one/bikini.png and b/public/images/emoji/emoji_one/bikini.png differ diff --git a/public/images/emoji/emoji_one/biohazard.png b/public/images/emoji/emoji_one/biohazard.png index 5f2574f01..7a9127c0c 100644 Binary files a/public/images/emoji/emoji_one/biohazard.png and b/public/images/emoji/emoji_one/biohazard.png differ diff --git a/public/images/emoji/emoji_one/biohazard_sign.png b/public/images/emoji/emoji_one/biohazard_sign.png new file mode 100644 index 000000000..7a9127c0c Binary files /dev/null and b/public/images/emoji/emoji_one/biohazard_sign.png differ diff --git a/public/images/emoji/emoji_one/bird.png b/public/images/emoji/emoji_one/bird.png index e201c22be..aa378e2ef 100644 Binary files a/public/images/emoji/emoji_one/bird.png and b/public/images/emoji/emoji_one/bird.png differ diff --git a/public/images/emoji/emoji_one/birthday.png b/public/images/emoji/emoji_one/birthday.png index 02b1b5127..ece63e22c 100644 Binary files a/public/images/emoji/emoji_one/birthday.png and b/public/images/emoji/emoji_one/birthday.png differ diff --git a/public/images/emoji/emoji_one/black_circle.png b/public/images/emoji/emoji_one/black_circle.png index b62b87170..f0ba4e64e 100644 Binary files a/public/images/emoji/emoji_one/black_circle.png and b/public/images/emoji/emoji_one/black_circle.png differ diff --git a/public/images/emoji/emoji_one/black_joker.png b/public/images/emoji/emoji_one/black_joker.png index 7ede1faf2..b09ceba9c 100644 Binary files a/public/images/emoji/emoji_one/black_joker.png and b/public/images/emoji/emoji_one/black_joker.png differ diff --git a/public/images/emoji/emoji_one/black_large_square.png b/public/images/emoji/emoji_one/black_large_square.png index 162f2bb42..05200a51d 100644 Binary files a/public/images/emoji/emoji_one/black_large_square.png and b/public/images/emoji/emoji_one/black_large_square.png differ diff --git a/public/images/emoji/emoji_one/black_medium_small_square.png b/public/images/emoji/emoji_one/black_medium_small_square.png index 39765bba6..45e321424 100644 Binary files a/public/images/emoji/emoji_one/black_medium_small_square.png and b/public/images/emoji/emoji_one/black_medium_small_square.png differ diff --git a/public/images/emoji/emoji_one/black_medium_square.png b/public/images/emoji/emoji_one/black_medium_square.png index 05a30a6aa..54b53a5c3 100644 Binary files a/public/images/emoji/emoji_one/black_medium_square.png and b/public/images/emoji/emoji_one/black_medium_square.png differ diff --git a/public/images/emoji/emoji_one/black_nib.png b/public/images/emoji/emoji_one/black_nib.png index e178b6d76..9783daa58 100644 Binary files a/public/images/emoji/emoji_one/black_nib.png and b/public/images/emoji/emoji_one/black_nib.png differ diff --git a/public/images/emoji/emoji_one/black_small_square.png b/public/images/emoji/emoji_one/black_small_square.png index 48595d3e1..423f00b98 100644 Binary files a/public/images/emoji/emoji_one/black_small_square.png and b/public/images/emoji/emoji_one/black_small_square.png differ diff --git a/public/images/emoji/emoji_one/black_square_button.png b/public/images/emoji/emoji_one/black_square_button.png index a78fc2f6b..3b90fadb5 100644 Binary files a/public/images/emoji/emoji_one/black_square_button.png and b/public/images/emoji/emoji_one/black_square_button.png differ diff --git a/public/images/emoji/emoji_one/blossom.png b/public/images/emoji/emoji_one/blossom.png index b6cb929e0..72d61a02c 100644 Binary files a/public/images/emoji/emoji_one/blossom.png and b/public/images/emoji/emoji_one/blossom.png differ diff --git a/public/images/emoji/emoji_one/blowfish.png b/public/images/emoji/emoji_one/blowfish.png index 253057b00..2275b389b 100644 Binary files a/public/images/emoji/emoji_one/blowfish.png and b/public/images/emoji/emoji_one/blowfish.png differ diff --git a/public/images/emoji/emoji_one/blue_book.png b/public/images/emoji/emoji_one/blue_book.png index e1e455401..322f6fa9e 100644 Binary files a/public/images/emoji/emoji_one/blue_book.png and b/public/images/emoji/emoji_one/blue_book.png differ diff --git a/public/images/emoji/emoji_one/blue_car.png b/public/images/emoji/emoji_one/blue_car.png index 85750e8bf..93c30af77 100644 Binary files a/public/images/emoji/emoji_one/blue_car.png and b/public/images/emoji/emoji_one/blue_car.png differ diff --git a/public/images/emoji/emoji_one/blue_heart.png b/public/images/emoji/emoji_one/blue_heart.png index fdab29984..78c21bc2e 100644 Binary files a/public/images/emoji/emoji_one/blue_heart.png and b/public/images/emoji/emoji_one/blue_heart.png differ diff --git a/public/images/emoji/emoji_one/blush.png b/public/images/emoji/emoji_one/blush.png index 12057489c..7b6aa7338 100644 Binary files a/public/images/emoji/emoji_one/blush.png and b/public/images/emoji/emoji_one/blush.png differ diff --git a/public/images/emoji/emoji_one/boar.png b/public/images/emoji/emoji_one/boar.png index 1033d0da5..5511bdef4 100644 Binary files a/public/images/emoji/emoji_one/boar.png and b/public/images/emoji/emoji_one/boar.png differ diff --git a/public/images/emoji/emoji_one/boat.png b/public/images/emoji/emoji_one/boat.png deleted file mode 100644 index f50e3fb1a..000000000 Binary files a/public/images/emoji/emoji_one/boat.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/bomb.png b/public/images/emoji/emoji_one/bomb.png index c7f8f81c9..c354abcc2 100644 Binary files a/public/images/emoji/emoji_one/bomb.png and b/public/images/emoji/emoji_one/bomb.png differ diff --git a/public/images/emoji/emoji_one/book.png b/public/images/emoji/emoji_one/book.png index 42c3e1549..1232ef747 100644 Binary files a/public/images/emoji/emoji_one/book.png and b/public/images/emoji/emoji_one/book.png differ diff --git a/public/images/emoji/emoji_one/bookmark.png b/public/images/emoji/emoji_one/bookmark.png index 20c8c65f9..8ea38312a 100644 Binary files a/public/images/emoji/emoji_one/bookmark.png and b/public/images/emoji/emoji_one/bookmark.png differ diff --git a/public/images/emoji/emoji_one/bookmark_tabs.png b/public/images/emoji/emoji_one/bookmark_tabs.png index 69e6d3793..66b49ecb0 100644 Binary files a/public/images/emoji/emoji_one/bookmark_tabs.png and b/public/images/emoji/emoji_one/bookmark_tabs.png differ diff --git a/public/images/emoji/emoji_one/books.png b/public/images/emoji/emoji_one/books.png index 67ab21bd1..6cf9e20f1 100644 Binary files a/public/images/emoji/emoji_one/books.png and b/public/images/emoji/emoji_one/books.png differ diff --git a/public/images/emoji/emoji_one/boom.png b/public/images/emoji/emoji_one/boom.png index 9b0f027b1..2229996f5 100644 Binary files a/public/images/emoji/emoji_one/boom.png and b/public/images/emoji/emoji_one/boom.png differ diff --git a/public/images/emoji/emoji_one/boot.png b/public/images/emoji/emoji_one/boot.png index 9dc2d69c1..220a43528 100644 Binary files a/public/images/emoji/emoji_one/boot.png and b/public/images/emoji/emoji_one/boot.png differ diff --git a/public/images/emoji/emoji_one/bottle_with_popping_cork.png b/public/images/emoji/emoji_one/bottle_with_popping_cork.png new file mode 100644 index 000000000..d8c1b55be Binary files /dev/null and b/public/images/emoji/emoji_one/bottle_with_popping_cork.png differ diff --git a/public/images/emoji/emoji_one/bouquet.png b/public/images/emoji/emoji_one/bouquet.png index 95bd9b610..f4caccc8a 100644 Binary files a/public/images/emoji/emoji_one/bouquet.png and b/public/images/emoji/emoji_one/bouquet.png differ diff --git a/public/images/emoji/emoji_one/bow.png b/public/images/emoji/emoji_one/bow.png index f1a6af209..8dcd81562 100644 Binary files a/public/images/emoji/emoji_one/bow.png and b/public/images/emoji/emoji_one/bow.png differ diff --git a/public/images/emoji/emoji_one/bow_and_arrow.png b/public/images/emoji/emoji_one/bow_and_arrow.png index bc4cedcb9..02b620358 100644 Binary files a/public/images/emoji/emoji_one/bow_and_arrow.png and b/public/images/emoji/emoji_one/bow_and_arrow.png differ diff --git a/public/images/emoji/emoji_one/bowling.png b/public/images/emoji/emoji_one/bowling.png index ada4be5ca..90ae4518f 100644 Binary files a/public/images/emoji/emoji_one/bowling.png and b/public/images/emoji/emoji_one/bowling.png differ diff --git a/public/images/emoji/emoji_one/boy.png b/public/images/emoji/emoji_one/boy.png index 127d193a0..9db6f478a 100644 Binary files a/public/images/emoji/emoji_one/boy.png and b/public/images/emoji/emoji_one/boy.png differ diff --git a/public/images/emoji/emoji_one/bread.png b/public/images/emoji/emoji_one/bread.png index c870c889a..bd36a5c24 100644 Binary files a/public/images/emoji/emoji_one/bread.png and b/public/images/emoji/emoji_one/bread.png differ diff --git a/public/images/emoji/emoji_one/bride_with_veil.png b/public/images/emoji/emoji_one/bride_with_veil.png index 01847f700..246ac4b24 100644 Binary files a/public/images/emoji/emoji_one/bride_with_veil.png and b/public/images/emoji/emoji_one/bride_with_veil.png differ diff --git a/public/images/emoji/emoji_one/bridge_at_night.png b/public/images/emoji/emoji_one/bridge_at_night.png index 7ce209dc2..183efc461 100644 Binary files a/public/images/emoji/emoji_one/bridge_at_night.png and b/public/images/emoji/emoji_one/bridge_at_night.png differ diff --git a/public/images/emoji/emoji_one/briefcase.png b/public/images/emoji/emoji_one/briefcase.png index b9912ba21..cde66eb17 100644 Binary files a/public/images/emoji/emoji_one/briefcase.png and b/public/images/emoji/emoji_one/briefcase.png differ diff --git a/public/images/emoji/emoji_one/broken_heart.png b/public/images/emoji/emoji_one/broken_heart.png index 641b16d19..b86a10920 100644 Binary files a/public/images/emoji/emoji_one/broken_heart.png and b/public/images/emoji/emoji_one/broken_heart.png differ diff --git a/public/images/emoji/emoji_one/bug.png b/public/images/emoji/emoji_one/bug.png index 1f3231b4b..9aed304bd 100644 Binary files a/public/images/emoji/emoji_one/bug.png and b/public/images/emoji/emoji_one/bug.png differ diff --git a/public/images/emoji/emoji_one/building_construction.png b/public/images/emoji/emoji_one/building_construction.png new file mode 100644 index 000000000..04e7fd40b Binary files /dev/null and b/public/images/emoji/emoji_one/building_construction.png differ diff --git a/public/images/emoji/emoji_one/bulb.png b/public/images/emoji/emoji_one/bulb.png index e185a5c62..7e525a98e 100644 Binary files a/public/images/emoji/emoji_one/bulb.png and b/public/images/emoji/emoji_one/bulb.png differ diff --git a/public/images/emoji/emoji_one/bullettrain_front.png b/public/images/emoji/emoji_one/bullettrain_front.png index 7a1bb7332..50839c888 100644 Binary files a/public/images/emoji/emoji_one/bullettrain_front.png and b/public/images/emoji/emoji_one/bullettrain_front.png differ diff --git a/public/images/emoji/emoji_one/bullettrain_side.png b/public/images/emoji/emoji_one/bullettrain_side.png index ed61c67bf..84b9f4b5a 100644 Binary files a/public/images/emoji/emoji_one/bullettrain_side.png and b/public/images/emoji/emoji_one/bullettrain_side.png differ diff --git a/public/images/emoji/emoji_one/burrito.png b/public/images/emoji/emoji_one/burrito.png index 143b541b2..0df4f82ee 100644 Binary files a/public/images/emoji/emoji_one/burrito.png and b/public/images/emoji/emoji_one/burrito.png differ diff --git a/public/images/emoji/emoji_one/bus.png b/public/images/emoji/emoji_one/bus.png index cf31b3399..203f3f727 100644 Binary files a/public/images/emoji/emoji_one/bus.png and b/public/images/emoji/emoji_one/bus.png differ diff --git a/public/images/emoji/emoji_one/busstop.png b/public/images/emoji/emoji_one/busstop.png index b2b62208b..b5538e238 100644 Binary files a/public/images/emoji/emoji_one/busstop.png and b/public/images/emoji/emoji_one/busstop.png differ diff --git a/public/images/emoji/emoji_one/bust_in_silhouette.png b/public/images/emoji/emoji_one/bust_in_silhouette.png index 123b2cbe1..cfed8745c 100644 Binary files a/public/images/emoji/emoji_one/bust_in_silhouette.png and b/public/images/emoji/emoji_one/bust_in_silhouette.png differ diff --git a/public/images/emoji/emoji_one/busts_in_silhouette.png b/public/images/emoji/emoji_one/busts_in_silhouette.png index d7656860a..4f979d6fb 100644 Binary files a/public/images/emoji/emoji_one/busts_in_silhouette.png and b/public/images/emoji/emoji_one/busts_in_silhouette.png differ diff --git a/public/images/emoji/emoji_one/cactus.png b/public/images/emoji/emoji_one/cactus.png index 9175967c8..cba39e880 100644 Binary files a/public/images/emoji/emoji_one/cactus.png and b/public/images/emoji/emoji_one/cactus.png differ diff --git a/public/images/emoji/emoji_one/cake.png b/public/images/emoji/emoji_one/cake.png index 4368177be..88af15a2e 100644 Binary files a/public/images/emoji/emoji_one/cake.png and b/public/images/emoji/emoji_one/cake.png differ diff --git a/public/images/emoji/emoji_one/calendar.png b/public/images/emoji/emoji_one/calendar.png index fe273bded..a1aea777c 100644 Binary files a/public/images/emoji/emoji_one/calendar.png and b/public/images/emoji/emoji_one/calendar.png differ diff --git a/public/images/emoji/emoji_one/calendar_spiral.png b/public/images/emoji/emoji_one/calendar_spiral.png index 16d19c324..50fb5e044 100644 Binary files a/public/images/emoji/emoji_one/calendar_spiral.png and b/public/images/emoji/emoji_one/calendar_spiral.png differ diff --git a/public/images/emoji/emoji_one/calling.png b/public/images/emoji/emoji_one/calling.png index e2f308f8e..dbb364fe4 100644 Binary files a/public/images/emoji/emoji_one/calling.png and b/public/images/emoji/emoji_one/calling.png differ diff --git a/public/images/emoji/emoji_one/camel.png b/public/images/emoji/emoji_one/camel.png index 5faee136c..4ab20d938 100644 Binary files a/public/images/emoji/emoji_one/camel.png and b/public/images/emoji/emoji_one/camel.png differ diff --git a/public/images/emoji/emoji_one/camera.png b/public/images/emoji/emoji_one/camera.png index 8847e0db0..af9265c04 100644 Binary files a/public/images/emoji/emoji_one/camera.png and b/public/images/emoji/emoji_one/camera.png differ diff --git a/public/images/emoji/emoji_one/camera_with_flash.png b/public/images/emoji/emoji_one/camera_with_flash.png index 27471da20..5c710b453 100644 Binary files a/public/images/emoji/emoji_one/camera_with_flash.png and b/public/images/emoji/emoji_one/camera_with_flash.png differ diff --git a/public/images/emoji/emoji_one/camping.png b/public/images/emoji/emoji_one/camping.png index 972222db0..891bd2698 100644 Binary files a/public/images/emoji/emoji_one/camping.png and b/public/images/emoji/emoji_one/camping.png differ diff --git a/public/images/emoji/emoji_one/cancer.png b/public/images/emoji/emoji_one/cancer.png index 49d1f4c79..855b10bad 100644 Binary files a/public/images/emoji/emoji_one/cancer.png and b/public/images/emoji/emoji_one/cancer.png differ diff --git a/public/images/emoji/emoji_one/candle.png b/public/images/emoji/emoji_one/candle.png index b4b714f6a..5c48fa71c 100644 Binary files a/public/images/emoji/emoji_one/candle.png and b/public/images/emoji/emoji_one/candle.png differ diff --git a/public/images/emoji/emoji_one/candy.png b/public/images/emoji/emoji_one/candy.png index a26dda06d..ec682ae01 100644 Binary files a/public/images/emoji/emoji_one/candy.png and b/public/images/emoji/emoji_one/candy.png differ diff --git a/public/images/emoji/emoji_one/capital_abcd.png b/public/images/emoji/emoji_one/capital_abcd.png index 1cd8389f7..5ae2834d9 100644 Binary files a/public/images/emoji/emoji_one/capital_abcd.png and b/public/images/emoji/emoji_one/capital_abcd.png differ diff --git a/public/images/emoji/emoji_one/capricorn.png b/public/images/emoji/emoji_one/capricorn.png index 6293d31d4..3c76b4e65 100644 Binary files a/public/images/emoji/emoji_one/capricorn.png and b/public/images/emoji/emoji_one/capricorn.png differ diff --git a/public/images/emoji/emoji_one/car.png b/public/images/emoji/emoji_one/car.png deleted file mode 100644 index 639a6c6bb..000000000 Binary files a/public/images/emoji/emoji_one/car.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/card_box.png b/public/images/emoji/emoji_one/card_box.png index 62612777a..81b62f6e6 100644 Binary files a/public/images/emoji/emoji_one/card_box.png and b/public/images/emoji/emoji_one/card_box.png differ diff --git a/public/images/emoji/emoji_one/card_file_box.png b/public/images/emoji/emoji_one/card_file_box.png new file mode 100644 index 000000000..81b62f6e6 Binary files /dev/null and b/public/images/emoji/emoji_one/card_file_box.png differ diff --git a/public/images/emoji/emoji_one/card_index.png b/public/images/emoji/emoji_one/card_index.png index a3903b338..b27e65f58 100644 Binary files a/public/images/emoji/emoji_one/card_index.png and b/public/images/emoji/emoji_one/card_index.png differ diff --git a/public/images/emoji/emoji_one/card_index_dividers.png b/public/images/emoji/emoji_one/card_index_dividers.png new file mode 100644 index 000000000..ff648549d Binary files /dev/null and b/public/images/emoji/emoji_one/card_index_dividers.png differ diff --git a/public/images/emoji/emoji_one/carousel_horse.png b/public/images/emoji/emoji_one/carousel_horse.png index de34d634a..3da532f7d 100644 Binary files a/public/images/emoji/emoji_one/carousel_horse.png and b/public/images/emoji/emoji_one/carousel_horse.png differ diff --git a/public/images/emoji/emoji_one/cat.png b/public/images/emoji/emoji_one/cat.png index ccc194d89..498bfa6fa 100644 Binary files a/public/images/emoji/emoji_one/cat.png and b/public/images/emoji/emoji_one/cat.png differ diff --git a/public/images/emoji/emoji_one/cat2.png b/public/images/emoji/emoji_one/cat2.png index a0d11e434..6e6363fbc 100644 Binary files a/public/images/emoji/emoji_one/cat2.png and b/public/images/emoji/emoji_one/cat2.png differ diff --git a/public/images/emoji/emoji_one/cd.png b/public/images/emoji/emoji_one/cd.png index 6adb031a2..3ae8de522 100644 Binary files a/public/images/emoji/emoji_one/cd.png and b/public/images/emoji/emoji_one/cd.png differ diff --git a/public/images/emoji/emoji_one/chains.png b/public/images/emoji/emoji_one/chains.png index 57f46139a..84a5b14b1 100644 Binary files a/public/images/emoji/emoji_one/chains.png and b/public/images/emoji/emoji_one/chains.png differ diff --git a/public/images/emoji/emoji_one/champagne.png b/public/images/emoji/emoji_one/champagne.png index 40176502f..d8c1b55be 100644 Binary files a/public/images/emoji/emoji_one/champagne.png and b/public/images/emoji/emoji_one/champagne.png differ diff --git a/public/images/emoji/emoji_one/chart.png b/public/images/emoji/emoji_one/chart.png index 8b0fc5772..c7abdcbc6 100644 Binary files a/public/images/emoji/emoji_one/chart.png and b/public/images/emoji/emoji_one/chart.png differ diff --git a/public/images/emoji/emoji_one/chart_with_downwards_trend.png b/public/images/emoji/emoji_one/chart_with_downwards_trend.png index e0853b246..0f9b1965e 100644 Binary files a/public/images/emoji/emoji_one/chart_with_downwards_trend.png and b/public/images/emoji/emoji_one/chart_with_downwards_trend.png differ diff --git a/public/images/emoji/emoji_one/chart_with_upwards_trend.png b/public/images/emoji/emoji_one/chart_with_upwards_trend.png index f7bdce14d..3fae333e4 100644 Binary files a/public/images/emoji/emoji_one/chart_with_upwards_trend.png and b/public/images/emoji/emoji_one/chart_with_upwards_trend.png differ diff --git a/public/images/emoji/emoji_one/checkered_flag.png b/public/images/emoji/emoji_one/checkered_flag.png index e7137bd10..2ba752f4b 100644 Binary files a/public/images/emoji/emoji_one/checkered_flag.png and b/public/images/emoji/emoji_one/checkered_flag.png differ diff --git a/public/images/emoji/emoji_one/cheese.png b/public/images/emoji/emoji_one/cheese.png index c5bd2718c..c89acf978 100644 Binary files a/public/images/emoji/emoji_one/cheese.png and b/public/images/emoji/emoji_one/cheese.png differ diff --git a/public/images/emoji/emoji_one/cheese_wedge.png b/public/images/emoji/emoji_one/cheese_wedge.png new file mode 100644 index 000000000..c89acf978 Binary files /dev/null and b/public/images/emoji/emoji_one/cheese_wedge.png differ diff --git a/public/images/emoji/emoji_one/cherries.png b/public/images/emoji/emoji_one/cherries.png index f54355b50..bce513895 100644 Binary files a/public/images/emoji/emoji_one/cherries.png and b/public/images/emoji/emoji_one/cherries.png differ diff --git a/public/images/emoji/emoji_one/cherry_blossom.png b/public/images/emoji/emoji_one/cherry_blossom.png index 4fac8bf78..4a18b19e2 100644 Binary files a/public/images/emoji/emoji_one/cherry_blossom.png and b/public/images/emoji/emoji_one/cherry_blossom.png differ diff --git a/public/images/emoji/emoji_one/chestnut.png b/public/images/emoji/emoji_one/chestnut.png index 2cf719866..78bffdfbd 100644 Binary files a/public/images/emoji/emoji_one/chestnut.png and b/public/images/emoji/emoji_one/chestnut.png differ diff --git a/public/images/emoji/emoji_one/chicken.png b/public/images/emoji/emoji_one/chicken.png index 482772175..3052377b2 100644 Binary files a/public/images/emoji/emoji_one/chicken.png and b/public/images/emoji/emoji_one/chicken.png differ diff --git a/public/images/emoji/emoji_one/children_crossing.png b/public/images/emoji/emoji_one/children_crossing.png index 04dcd061d..0db76a946 100644 Binary files a/public/images/emoji/emoji_one/children_crossing.png and b/public/images/emoji/emoji_one/children_crossing.png differ diff --git a/public/images/emoji/emoji_one/chipmunk.png b/public/images/emoji/emoji_one/chipmunk.png index 6b807db8a..db1a58638 100644 Binary files a/public/images/emoji/emoji_one/chipmunk.png and b/public/images/emoji/emoji_one/chipmunk.png differ diff --git a/public/images/emoji/emoji_one/chocolate_bar.png b/public/images/emoji/emoji_one/chocolate_bar.png index 05a8a5e1e..33535f249 100644 Binary files a/public/images/emoji/emoji_one/chocolate_bar.png and b/public/images/emoji/emoji_one/chocolate_bar.png differ diff --git a/public/images/emoji/emoji_one/christmas_tree.png b/public/images/emoji/emoji_one/christmas_tree.png index 4197d37a5..5936c300c 100644 Binary files a/public/images/emoji/emoji_one/christmas_tree.png and b/public/images/emoji/emoji_one/christmas_tree.png differ diff --git a/public/images/emoji/emoji_one/church.png b/public/images/emoji/emoji_one/church.png index 3de07dbfa..3996ff2d2 100644 Binary files a/public/images/emoji/emoji_one/church.png and b/public/images/emoji/emoji_one/church.png differ diff --git a/public/images/emoji/emoji_one/cinema.png b/public/images/emoji/emoji_one/cinema.png index 3e8be45f4..08749700b 100644 Binary files a/public/images/emoji/emoji_one/cinema.png and b/public/images/emoji/emoji_one/cinema.png differ diff --git a/public/images/emoji/emoji_one/circus_tent.png b/public/images/emoji/emoji_one/circus_tent.png index be71b6ba1..4c7a8fce6 100644 Binary files a/public/images/emoji/emoji_one/circus_tent.png and b/public/images/emoji/emoji_one/circus_tent.png differ diff --git a/public/images/emoji/emoji_one/city_dusk.png b/public/images/emoji/emoji_one/city_dusk.png index 04f9be2b4..9a9a76dc8 100644 Binary files a/public/images/emoji/emoji_one/city_dusk.png and b/public/images/emoji/emoji_one/city_dusk.png differ diff --git a/public/images/emoji/emoji_one/city_sunrise.png b/public/images/emoji/emoji_one/city_sunrise.png index 5ef52c29b..ecc63698e 100644 Binary files a/public/images/emoji/emoji_one/city_sunrise.png and b/public/images/emoji/emoji_one/city_sunrise.png differ diff --git a/public/images/emoji/emoji_one/city_sunset.png b/public/images/emoji/emoji_one/city_sunset.png index 0b1fbb542..ecc63698e 100644 Binary files a/public/images/emoji/emoji_one/city_sunset.png and b/public/images/emoji/emoji_one/city_sunset.png differ diff --git a/public/images/emoji/emoji_one/cityscape.png b/public/images/emoji/emoji_one/cityscape.png index 36a04411e..61f1a18cb 100644 Binary files a/public/images/emoji/emoji_one/cityscape.png and b/public/images/emoji/emoji_one/cityscape.png differ diff --git a/public/images/emoji/emoji_one/cl.png b/public/images/emoji/emoji_one/cl.png index dc6e7c975..abfaf51f5 100644 Binary files a/public/images/emoji/emoji_one/cl.png and b/public/images/emoji/emoji_one/cl.png differ diff --git a/public/images/emoji/emoji_one/clap.png b/public/images/emoji/emoji_one/clap.png index 6117c2ddd..dd66c9ab8 100644 Binary files a/public/images/emoji/emoji_one/clap.png and b/public/images/emoji/emoji_one/clap.png differ diff --git a/public/images/emoji/emoji_one/clapper.png b/public/images/emoji/emoji_one/clapper.png index 4e5b32628..90348932d 100644 Binary files a/public/images/emoji/emoji_one/clapper.png and b/public/images/emoji/emoji_one/clapper.png differ diff --git a/public/images/emoji/emoji_one/classical_building.png b/public/images/emoji/emoji_one/classical_building.png index fb478ec12..2965ac80f 100644 Binary files a/public/images/emoji/emoji_one/classical_building.png and b/public/images/emoji/emoji_one/classical_building.png differ diff --git a/public/images/emoji/emoji_one/clipboard.png b/public/images/emoji/emoji_one/clipboard.png index 60d1e67b4..0dd1ff2ef 100644 Binary files a/public/images/emoji/emoji_one/clipboard.png and b/public/images/emoji/emoji_one/clipboard.png differ diff --git a/public/images/emoji/emoji_one/clock.png b/public/images/emoji/emoji_one/clock.png index ffdb451e3..e1a553104 100644 Binary files a/public/images/emoji/emoji_one/clock.png and b/public/images/emoji/emoji_one/clock.png differ diff --git a/public/images/emoji/emoji_one/clock1.png b/public/images/emoji/emoji_one/clock1.png index be16eeaa7..6735c04a5 100644 Binary files a/public/images/emoji/emoji_one/clock1.png and b/public/images/emoji/emoji_one/clock1.png differ diff --git a/public/images/emoji/emoji_one/clock10.png b/public/images/emoji/emoji_one/clock10.png index 2445d4c36..c019fa3cd 100644 Binary files a/public/images/emoji/emoji_one/clock10.png and b/public/images/emoji/emoji_one/clock10.png differ diff --git a/public/images/emoji/emoji_one/clock1030.png b/public/images/emoji/emoji_one/clock1030.png index eb654046f..ad639f3b3 100644 Binary files a/public/images/emoji/emoji_one/clock1030.png and b/public/images/emoji/emoji_one/clock1030.png differ diff --git a/public/images/emoji/emoji_one/clock11.png b/public/images/emoji/emoji_one/clock11.png index 5ae2277e0..655aa0568 100644 Binary files a/public/images/emoji/emoji_one/clock11.png and b/public/images/emoji/emoji_one/clock11.png differ diff --git a/public/images/emoji/emoji_one/clock1130.png b/public/images/emoji/emoji_one/clock1130.png index f5fdf4445..6dd92a154 100644 Binary files a/public/images/emoji/emoji_one/clock1130.png and b/public/images/emoji/emoji_one/clock1130.png differ diff --git a/public/images/emoji/emoji_one/clock12.png b/public/images/emoji/emoji_one/clock12.png index 2727f3591..f545ca3d0 100644 Binary files a/public/images/emoji/emoji_one/clock12.png and b/public/images/emoji/emoji_one/clock12.png differ diff --git a/public/images/emoji/emoji_one/clock1230.png b/public/images/emoji/emoji_one/clock1230.png index 4f24a69dc..0f5459022 100644 Binary files a/public/images/emoji/emoji_one/clock1230.png and b/public/images/emoji/emoji_one/clock1230.png differ diff --git a/public/images/emoji/emoji_one/clock130.png b/public/images/emoji/emoji_one/clock130.png index f3e9cdeb8..6dba3ac2e 100644 Binary files a/public/images/emoji/emoji_one/clock130.png and b/public/images/emoji/emoji_one/clock130.png differ diff --git a/public/images/emoji/emoji_one/clock2.png b/public/images/emoji/emoji_one/clock2.png index 2c3e4fe78..c7b08011f 100644 Binary files a/public/images/emoji/emoji_one/clock2.png and b/public/images/emoji/emoji_one/clock2.png differ diff --git a/public/images/emoji/emoji_one/clock230.png b/public/images/emoji/emoji_one/clock230.png index b1c02ee7a..d82f4229e 100644 Binary files a/public/images/emoji/emoji_one/clock230.png and b/public/images/emoji/emoji_one/clock230.png differ diff --git a/public/images/emoji/emoji_one/clock3.png b/public/images/emoji/emoji_one/clock3.png index 27ec4b1f5..9b47690bf 100644 Binary files a/public/images/emoji/emoji_one/clock3.png and b/public/images/emoji/emoji_one/clock3.png differ diff --git a/public/images/emoji/emoji_one/clock330.png b/public/images/emoji/emoji_one/clock330.png index 676b48533..a83cc6d86 100644 Binary files a/public/images/emoji/emoji_one/clock330.png and b/public/images/emoji/emoji_one/clock330.png differ diff --git a/public/images/emoji/emoji_one/clock4.png b/public/images/emoji/emoji_one/clock4.png index 950c91a8f..e650187f7 100644 Binary files a/public/images/emoji/emoji_one/clock4.png and b/public/images/emoji/emoji_one/clock4.png differ diff --git a/public/images/emoji/emoji_one/clock430.png b/public/images/emoji/emoji_one/clock430.png index c16abb388..728777981 100644 Binary files a/public/images/emoji/emoji_one/clock430.png and b/public/images/emoji/emoji_one/clock430.png differ diff --git a/public/images/emoji/emoji_one/clock5.png b/public/images/emoji/emoji_one/clock5.png index 5eb2d5cb3..f4288d1f3 100644 Binary files a/public/images/emoji/emoji_one/clock5.png and b/public/images/emoji/emoji_one/clock5.png differ diff --git a/public/images/emoji/emoji_one/clock530.png b/public/images/emoji/emoji_one/clock530.png index 60ba66efb..7ec8e7e3f 100644 Binary files a/public/images/emoji/emoji_one/clock530.png and b/public/images/emoji/emoji_one/clock530.png differ diff --git a/public/images/emoji/emoji_one/clock6.png b/public/images/emoji/emoji_one/clock6.png index 1664416b8..6f829530a 100644 Binary files a/public/images/emoji/emoji_one/clock6.png and b/public/images/emoji/emoji_one/clock6.png differ diff --git a/public/images/emoji/emoji_one/clock630.png b/public/images/emoji/emoji_one/clock630.png index 01e3273fb..a2cf720f6 100644 Binary files a/public/images/emoji/emoji_one/clock630.png and b/public/images/emoji/emoji_one/clock630.png differ diff --git a/public/images/emoji/emoji_one/clock7.png b/public/images/emoji/emoji_one/clock7.png index 8c7084036..a8a837f20 100644 Binary files a/public/images/emoji/emoji_one/clock7.png and b/public/images/emoji/emoji_one/clock7.png differ diff --git a/public/images/emoji/emoji_one/clock730.png b/public/images/emoji/emoji_one/clock730.png index 0180cf7d1..0e5958ad9 100644 Binary files a/public/images/emoji/emoji_one/clock730.png and b/public/images/emoji/emoji_one/clock730.png differ diff --git a/public/images/emoji/emoji_one/clock8.png b/public/images/emoji/emoji_one/clock8.png index 899a88f1e..6eb7c30db 100644 Binary files a/public/images/emoji/emoji_one/clock8.png and b/public/images/emoji/emoji_one/clock8.png differ diff --git a/public/images/emoji/emoji_one/clock830.png b/public/images/emoji/emoji_one/clock830.png index f5207aa45..b3855f935 100644 Binary files a/public/images/emoji/emoji_one/clock830.png and b/public/images/emoji/emoji_one/clock830.png differ diff --git a/public/images/emoji/emoji_one/clock9.png b/public/images/emoji/emoji_one/clock9.png index b32187043..7576949ea 100644 Binary files a/public/images/emoji/emoji_one/clock9.png and b/public/images/emoji/emoji_one/clock9.png differ diff --git a/public/images/emoji/emoji_one/clock930.png b/public/images/emoji/emoji_one/clock930.png index d0c3f91a5..349b690ba 100644 Binary files a/public/images/emoji/emoji_one/clock930.png and b/public/images/emoji/emoji_one/clock930.png differ diff --git a/public/images/emoji/emoji_one/closed_book.png b/public/images/emoji/emoji_one/closed_book.png index 6395cf215..5968b4061 100644 Binary files a/public/images/emoji/emoji_one/closed_book.png and b/public/images/emoji/emoji_one/closed_book.png differ diff --git a/public/images/emoji/emoji_one/closed_lock_with_key.png b/public/images/emoji/emoji_one/closed_lock_with_key.png index 1c1cd5d07..5660240d3 100644 Binary files a/public/images/emoji/emoji_one/closed_lock_with_key.png and b/public/images/emoji/emoji_one/closed_lock_with_key.png differ diff --git a/public/images/emoji/emoji_one/closed_umbrella.png b/public/images/emoji/emoji_one/closed_umbrella.png index ecefba9e4..c787fd1b9 100644 Binary files a/public/images/emoji/emoji_one/closed_umbrella.png and b/public/images/emoji/emoji_one/closed_umbrella.png differ diff --git a/public/images/emoji/emoji_one/cloud.png b/public/images/emoji/emoji_one/cloud.png index 5273b278f..18e1e957e 100644 Binary files a/public/images/emoji/emoji_one/cloud.png and b/public/images/emoji/emoji_one/cloud.png differ diff --git a/public/images/emoji/emoji_one/cloud_lightning.png b/public/images/emoji/emoji_one/cloud_lightning.png index c0438c8c5..67f8e149b 100644 Binary files a/public/images/emoji/emoji_one/cloud_lightning.png and b/public/images/emoji/emoji_one/cloud_lightning.png differ diff --git a/public/images/emoji/emoji_one/cloud_rain.png b/public/images/emoji/emoji_one/cloud_rain.png index d67fd1f27..779086b8b 100644 Binary files a/public/images/emoji/emoji_one/cloud_rain.png and b/public/images/emoji/emoji_one/cloud_rain.png differ diff --git a/public/images/emoji/emoji_one/cloud_snow.png b/public/images/emoji/emoji_one/cloud_snow.png index 82c3e62f6..0e298cef1 100644 Binary files a/public/images/emoji/emoji_one/cloud_snow.png and b/public/images/emoji/emoji_one/cloud_snow.png differ diff --git a/public/images/emoji/emoji_one/cloud_tornado.png b/public/images/emoji/emoji_one/cloud_tornado.png index 4821c89da..14169e584 100644 Binary files a/public/images/emoji/emoji_one/cloud_tornado.png and b/public/images/emoji/emoji_one/cloud_tornado.png differ diff --git a/public/images/emoji/emoji_one/cloud_with_lightning.png b/public/images/emoji/emoji_one/cloud_with_lightning.png new file mode 100644 index 000000000..67f8e149b Binary files /dev/null and b/public/images/emoji/emoji_one/cloud_with_lightning.png differ diff --git a/public/images/emoji/emoji_one/cloud_with_rain.png b/public/images/emoji/emoji_one/cloud_with_rain.png new file mode 100644 index 000000000..779086b8b Binary files /dev/null and b/public/images/emoji/emoji_one/cloud_with_rain.png differ diff --git a/public/images/emoji/emoji_one/cloud_with_snow.png b/public/images/emoji/emoji_one/cloud_with_snow.png new file mode 100644 index 000000000..0e298cef1 Binary files /dev/null and b/public/images/emoji/emoji_one/cloud_with_snow.png differ diff --git a/public/images/emoji/emoji_one/cloud_with_tornado.png b/public/images/emoji/emoji_one/cloud_with_tornado.png new file mode 100644 index 000000000..14169e584 Binary files /dev/null and b/public/images/emoji/emoji_one/cloud_with_tornado.png differ diff --git a/public/images/emoji/emoji_one/clubs.png b/public/images/emoji/emoji_one/clubs.png index c1ae498be..c2b47ae36 100644 Binary files a/public/images/emoji/emoji_one/clubs.png and b/public/images/emoji/emoji_one/clubs.png differ diff --git a/public/images/emoji/emoji_one/cn.png b/public/images/emoji/emoji_one/cn.png index e09fcb9b4..ae5a76a90 100644 Binary files a/public/images/emoji/emoji_one/cn.png and b/public/images/emoji/emoji_one/cn.png differ diff --git a/public/images/emoji/emoji_one/cocktail.png b/public/images/emoji/emoji_one/cocktail.png index bee3f8b52..873935fc7 100644 Binary files a/public/images/emoji/emoji_one/cocktail.png and b/public/images/emoji/emoji_one/cocktail.png differ diff --git a/public/images/emoji/emoji_one/coffee.png b/public/images/emoji/emoji_one/coffee.png index 553061471..412ac4f1a 100644 Binary files a/public/images/emoji/emoji_one/coffee.png and b/public/images/emoji/emoji_one/coffee.png differ diff --git a/public/images/emoji/emoji_one/coffin.png b/public/images/emoji/emoji_one/coffin.png index 643725397..ed2c50e40 100644 Binary files a/public/images/emoji/emoji_one/coffin.png and b/public/images/emoji/emoji_one/coffin.png differ diff --git a/public/images/emoji/emoji_one/cold_sweat.png b/public/images/emoji/emoji_one/cold_sweat.png index e83edade4..5d3f29649 100644 Binary files a/public/images/emoji/emoji_one/cold_sweat.png and b/public/images/emoji/emoji_one/cold_sweat.png differ diff --git a/public/images/emoji/emoji_one/collision.png b/public/images/emoji/emoji_one/collision.png deleted file mode 100644 index 771b8ef89..000000000 Binary files a/public/images/emoji/emoji_one/collision.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/comet.png b/public/images/emoji/emoji_one/comet.png index 7e9b4d014..44dd1ebad 100644 Binary files a/public/images/emoji/emoji_one/comet.png and b/public/images/emoji/emoji_one/comet.png differ diff --git a/public/images/emoji/emoji_one/compression.png b/public/images/emoji/emoji_one/compression.png index 7433a2a4f..4c8ed99f3 100644 Binary files a/public/images/emoji/emoji_one/compression.png and b/public/images/emoji/emoji_one/compression.png differ diff --git a/public/images/emoji/emoji_one/computer.png b/public/images/emoji/emoji_one/computer.png index c1fee27e3..eef460f09 100644 Binary files a/public/images/emoji/emoji_one/computer.png and b/public/images/emoji/emoji_one/computer.png differ diff --git a/public/images/emoji/emoji_one/confetti_ball.png b/public/images/emoji/emoji_one/confetti_ball.png index 46cffde38..3f7a17ff2 100644 Binary files a/public/images/emoji/emoji_one/confetti_ball.png and b/public/images/emoji/emoji_one/confetti_ball.png differ diff --git a/public/images/emoji/emoji_one/confounded.png b/public/images/emoji/emoji_one/confounded.png index 06889d2cd..7e3919d9f 100644 Binary files a/public/images/emoji/emoji_one/confounded.png and b/public/images/emoji/emoji_one/confounded.png differ diff --git a/public/images/emoji/emoji_one/confused.png b/public/images/emoji/emoji_one/confused.png index 8a2b4605a..22df3a3ac 100644 Binary files a/public/images/emoji/emoji_one/confused.png and b/public/images/emoji/emoji_one/confused.png differ diff --git a/public/images/emoji/emoji_one/congratulations.png b/public/images/emoji/emoji_one/congratulations.png index ee57ae19b..48fed2687 100644 Binary files a/public/images/emoji/emoji_one/congratulations.png and b/public/images/emoji/emoji_one/congratulations.png differ diff --git a/public/images/emoji/emoji_one/construction.png b/public/images/emoji/emoji_one/construction.png index 5ecdf87ec..f43405495 100644 Binary files a/public/images/emoji/emoji_one/construction.png and b/public/images/emoji/emoji_one/construction.png differ diff --git a/public/images/emoji/emoji_one/construction_site.png b/public/images/emoji/emoji_one/construction_site.png index 8206a20f6..04e7fd40b 100644 Binary files a/public/images/emoji/emoji_one/construction_site.png and b/public/images/emoji/emoji_one/construction_site.png differ diff --git a/public/images/emoji/emoji_one/construction_worker.png b/public/images/emoji/emoji_one/construction_worker.png index f7fa379b8..12907a7f2 100644 Binary files a/public/images/emoji/emoji_one/construction_worker.png and b/public/images/emoji/emoji_one/construction_worker.png differ diff --git a/public/images/emoji/emoji_one/control_knobs.png b/public/images/emoji/emoji_one/control_knobs.png index 6635ac93b..db240f2ff 100644 Binary files a/public/images/emoji/emoji_one/control_knobs.png and b/public/images/emoji/emoji_one/control_knobs.png differ diff --git a/public/images/emoji/emoji_one/convenience_store.png b/public/images/emoji/emoji_one/convenience_store.png index aaf499dd0..6e6f3b2c3 100644 Binary files a/public/images/emoji/emoji_one/convenience_store.png and b/public/images/emoji/emoji_one/convenience_store.png differ diff --git a/public/images/emoji/emoji_one/cookie.png b/public/images/emoji/emoji_one/cookie.png index 020d5e68b..7408d800a 100644 Binary files a/public/images/emoji/emoji_one/cookie.png and b/public/images/emoji/emoji_one/cookie.png differ diff --git a/public/images/emoji/emoji_one/cool.png b/public/images/emoji/emoji_one/cool.png index f3d98d933..704c014b6 100644 Binary files a/public/images/emoji/emoji_one/cool.png and b/public/images/emoji/emoji_one/cool.png differ diff --git a/public/images/emoji/emoji_one/cop.png b/public/images/emoji/emoji_one/cop.png index bf35b011c..ef6a59839 100644 Binary files a/public/images/emoji/emoji_one/cop.png and b/public/images/emoji/emoji_one/cop.png differ diff --git a/public/images/emoji/emoji_one/copyright.png b/public/images/emoji/emoji_one/copyright.png index 6b9a6adbf..661cfb561 100644 Binary files a/public/images/emoji/emoji_one/copyright.png and b/public/images/emoji/emoji_one/copyright.png differ diff --git a/public/images/emoji/emoji_one/corn.png b/public/images/emoji/emoji_one/corn.png index d5bb4e1c2..c3c62aa93 100644 Binary files a/public/images/emoji/emoji_one/corn.png and b/public/images/emoji/emoji_one/corn.png differ diff --git a/public/images/emoji/emoji_one/couch.png b/public/images/emoji/emoji_one/couch.png index 27b19b13b..d4dd9c23a 100644 Binary files a/public/images/emoji/emoji_one/couch.png and b/public/images/emoji/emoji_one/couch.png differ diff --git a/public/images/emoji/emoji_one/couch_and_lamp.png b/public/images/emoji/emoji_one/couch_and_lamp.png new file mode 100644 index 000000000..d4dd9c23a Binary files /dev/null and b/public/images/emoji/emoji_one/couch_and_lamp.png differ diff --git a/public/images/emoji/emoji_one/couple.png b/public/images/emoji/emoji_one/couple.png index 960323f3c..ac363157b 100644 Binary files a/public/images/emoji/emoji_one/couple.png and b/public/images/emoji/emoji_one/couple.png differ diff --git a/public/images/emoji/emoji_one/couple_with_heart.png b/public/images/emoji/emoji_one/couple_with_heart.png index 5d3c1456a..c6d056f2c 100644 Binary files a/public/images/emoji/emoji_one/couple_with_heart.png and b/public/images/emoji/emoji_one/couple_with_heart.png differ diff --git a/public/images/emoji/emoji_one/couplekiss.png b/public/images/emoji/emoji_one/couplekiss.png index 1eb46809e..03c9d7f01 100644 Binary files a/public/images/emoji/emoji_one/couplekiss.png and b/public/images/emoji/emoji_one/couplekiss.png differ diff --git a/public/images/emoji/emoji_one/cow.png b/public/images/emoji/emoji_one/cow.png index 309431cb5..7dc8742ee 100644 Binary files a/public/images/emoji/emoji_one/cow.png and b/public/images/emoji/emoji_one/cow.png differ diff --git a/public/images/emoji/emoji_one/cow2.png b/public/images/emoji/emoji_one/cow2.png index 4d0ca534f..50026527f 100644 Binary files a/public/images/emoji/emoji_one/cow2.png and b/public/images/emoji/emoji_one/cow2.png differ diff --git a/public/images/emoji/emoji_one/crab.png b/public/images/emoji/emoji_one/crab.png index 2d209a955..d74c9ad5e 100644 Binary files a/public/images/emoji/emoji_one/crab.png and b/public/images/emoji/emoji_one/crab.png differ diff --git a/public/images/emoji/emoji_one/crayon.png b/public/images/emoji/emoji_one/crayon.png index 534c5b4c6..25d67f1d7 100644 Binary files a/public/images/emoji/emoji_one/crayon.png and b/public/images/emoji/emoji_one/crayon.png differ diff --git a/public/images/emoji/emoji_one/credit_card.png b/public/images/emoji/emoji_one/credit_card.png index 39351cc8d..6a38cf4de 100644 Binary files a/public/images/emoji/emoji_one/credit_card.png and b/public/images/emoji/emoji_one/credit_card.png differ diff --git a/public/images/emoji/emoji_one/crescent_moon.png b/public/images/emoji/emoji_one/crescent_moon.png index 4c8b58ba3..cdfede552 100644 Binary files a/public/images/emoji/emoji_one/crescent_moon.png and b/public/images/emoji/emoji_one/crescent_moon.png differ diff --git a/public/images/emoji/emoji_one/cricket.png b/public/images/emoji/emoji_one/cricket.png index d0d953c12..6deddbed4 100644 Binary files a/public/images/emoji/emoji_one/cricket.png and b/public/images/emoji/emoji_one/cricket.png differ diff --git a/public/images/emoji/emoji_one/cricket_bat_ball.png b/public/images/emoji/emoji_one/cricket_bat_ball.png new file mode 100644 index 000000000..6deddbed4 Binary files /dev/null and b/public/images/emoji/emoji_one/cricket_bat_ball.png differ diff --git a/public/images/emoji/emoji_one/crocodile.png b/public/images/emoji/emoji_one/crocodile.png index fd44dceae..890b923fd 100644 Binary files a/public/images/emoji/emoji_one/crocodile.png and b/public/images/emoji/emoji_one/crocodile.png differ diff --git a/public/images/emoji/emoji_one/cross.png b/public/images/emoji/emoji_one/cross.png index 42b10e822..5a331bcf4 100644 Binary files a/public/images/emoji/emoji_one/cross.png and b/public/images/emoji/emoji_one/cross.png differ diff --git a/public/images/emoji/emoji_one/crossed_flags.png b/public/images/emoji/emoji_one/crossed_flags.png index 273bd0f0f..8d51da084 100644 Binary files a/public/images/emoji/emoji_one/crossed_flags.png and b/public/images/emoji/emoji_one/crossed_flags.png differ diff --git a/public/images/emoji/emoji_one/crossed_swords.png b/public/images/emoji/emoji_one/crossed_swords.png index 7c5003b5a..2daa31e6a 100644 Binary files a/public/images/emoji/emoji_one/crossed_swords.png and b/public/images/emoji/emoji_one/crossed_swords.png differ diff --git a/public/images/emoji/emoji_one/crown.png b/public/images/emoji/emoji_one/crown.png index 302ad8e96..834f299e4 100644 Binary files a/public/images/emoji/emoji_one/crown.png and b/public/images/emoji/emoji_one/crown.png differ diff --git a/public/images/emoji/emoji_one/cruise_ship.png b/public/images/emoji/emoji_one/cruise_ship.png index ea65050a6..c77f1c88d 100644 Binary files a/public/images/emoji/emoji_one/cruise_ship.png and b/public/images/emoji/emoji_one/cruise_ship.png differ diff --git a/public/images/emoji/emoji_one/cry.png b/public/images/emoji/emoji_one/cry.png index 66a74ddbe..eb7795025 100644 Binary files a/public/images/emoji/emoji_one/cry.png and b/public/images/emoji/emoji_one/cry.png differ diff --git a/public/images/emoji/emoji_one/crying_cat_face.png b/public/images/emoji/emoji_one/crying_cat_face.png index 489d99377..e54ecd362 100644 Binary files a/public/images/emoji/emoji_one/crying_cat_face.png and b/public/images/emoji/emoji_one/crying_cat_face.png differ diff --git a/public/images/emoji/emoji_one/crystal_ball.png b/public/images/emoji/emoji_one/crystal_ball.png index f39f768e4..c77ac9beb 100644 Binary files a/public/images/emoji/emoji_one/crystal_ball.png and b/public/images/emoji/emoji_one/crystal_ball.png differ diff --git a/public/images/emoji/emoji_one/cupid.png b/public/images/emoji/emoji_one/cupid.png index 2df0078dd..f32192466 100644 Binary files a/public/images/emoji/emoji_one/cupid.png and b/public/images/emoji/emoji_one/cupid.png differ diff --git a/public/images/emoji/emoji_one/curly_loop.png b/public/images/emoji/emoji_one/curly_loop.png index 440aa56d5..8039f2391 100644 Binary files a/public/images/emoji/emoji_one/curly_loop.png and b/public/images/emoji/emoji_one/curly_loop.png differ diff --git a/public/images/emoji/emoji_one/currency_exchange.png b/public/images/emoji/emoji_one/currency_exchange.png index df681d5b2..af7706bb9 100644 Binary files a/public/images/emoji/emoji_one/currency_exchange.png and b/public/images/emoji/emoji_one/currency_exchange.png differ diff --git a/public/images/emoji/emoji_one/curry.png b/public/images/emoji/emoji_one/curry.png index c286f4bd6..16202871f 100644 Binary files a/public/images/emoji/emoji_one/curry.png and b/public/images/emoji/emoji_one/curry.png differ diff --git a/public/images/emoji/emoji_one/custard.png b/public/images/emoji/emoji_one/custard.png index 8d1dd8e33..8f126c9e9 100644 Binary files a/public/images/emoji/emoji_one/custard.png and b/public/images/emoji/emoji_one/custard.png differ diff --git a/public/images/emoji/emoji_one/customs.png b/public/images/emoji/emoji_one/customs.png index 65ef940ff..8f2450243 100644 Binary files a/public/images/emoji/emoji_one/customs.png and b/public/images/emoji/emoji_one/customs.png differ diff --git a/public/images/emoji/emoji_one/cyclone.png b/public/images/emoji/emoji_one/cyclone.png index f3d6e4ee9..54c33c736 100644 Binary files a/public/images/emoji/emoji_one/cyclone.png and b/public/images/emoji/emoji_one/cyclone.png differ diff --git a/public/images/emoji/emoji_one/dagger.png b/public/images/emoji/emoji_one/dagger.png index 2f47543d4..a8d18788d 100644 Binary files a/public/images/emoji/emoji_one/dagger.png and b/public/images/emoji/emoji_one/dagger.png differ diff --git a/public/images/emoji/emoji_one/dagger_knife.png b/public/images/emoji/emoji_one/dagger_knife.png new file mode 100644 index 000000000..a8d18788d Binary files /dev/null and b/public/images/emoji/emoji_one/dagger_knife.png differ diff --git a/public/images/emoji/emoji_one/dancer.png b/public/images/emoji/emoji_one/dancer.png index a4434c463..efd320be4 100644 Binary files a/public/images/emoji/emoji_one/dancer.png and b/public/images/emoji/emoji_one/dancer.png differ diff --git a/public/images/emoji/emoji_one/dancers.png b/public/images/emoji/emoji_one/dancers.png index 14155cc98..e454b080d 100644 Binary files a/public/images/emoji/emoji_one/dancers.png and b/public/images/emoji/emoji_one/dancers.png differ diff --git a/public/images/emoji/emoji_one/dango.png b/public/images/emoji/emoji_one/dango.png index c295fafae..9b323d87e 100644 Binary files a/public/images/emoji/emoji_one/dango.png and b/public/images/emoji/emoji_one/dango.png differ diff --git a/public/images/emoji/emoji_one/dark_sunglasses.png b/public/images/emoji/emoji_one/dark_sunglasses.png index 6a734e65e..2e25e2fd3 100644 Binary files a/public/images/emoji/emoji_one/dark_sunglasses.png and b/public/images/emoji/emoji_one/dark_sunglasses.png differ diff --git a/public/images/emoji/emoji_one/dart.png b/public/images/emoji/emoji_one/dart.png index 30e7d4b4b..8cba63590 100644 Binary files a/public/images/emoji/emoji_one/dart.png and b/public/images/emoji/emoji_one/dart.png differ diff --git a/public/images/emoji/emoji_one/dash.png b/public/images/emoji/emoji_one/dash.png index 7ab7482d4..3ffc59ef7 100644 Binary files a/public/images/emoji/emoji_one/dash.png and b/public/images/emoji/emoji_one/dash.png differ diff --git a/public/images/emoji/emoji_one/date.png b/public/images/emoji/emoji_one/date.png index 34d90dc2f..fdaa9b096 100644 Binary files a/public/images/emoji/emoji_one/date.png and b/public/images/emoji/emoji_one/date.png differ diff --git a/public/images/emoji/emoji_one/de.png b/public/images/emoji/emoji_one/de.png index b246395ad..352b049a1 100644 Binary files a/public/images/emoji/emoji_one/de.png and b/public/images/emoji/emoji_one/de.png differ diff --git a/public/images/emoji/emoji_one/deciduous_tree.png b/public/images/emoji/emoji_one/deciduous_tree.png index a155fe06e..01a76dc11 100644 Binary files a/public/images/emoji/emoji_one/deciduous_tree.png and b/public/images/emoji/emoji_one/deciduous_tree.png differ diff --git a/public/images/emoji/emoji_one/department_store.png b/public/images/emoji/emoji_one/department_store.png index a3225d804..ac053b987 100644 Binary files a/public/images/emoji/emoji_one/department_store.png and b/public/images/emoji/emoji_one/department_store.png differ diff --git a/public/images/emoji/emoji_one/derelict_house_building.png b/public/images/emoji/emoji_one/derelict_house_building.png new file mode 100644 index 000000000..46775f0e7 Binary files /dev/null and b/public/images/emoji/emoji_one/derelict_house_building.png differ diff --git a/public/images/emoji/emoji_one/desert.png b/public/images/emoji/emoji_one/desert.png index a70cd459a..a5917353f 100644 Binary files a/public/images/emoji/emoji_one/desert.png and b/public/images/emoji/emoji_one/desert.png differ diff --git a/public/images/emoji/emoji_one/desert_island.png b/public/images/emoji/emoji_one/desert_island.png new file mode 100644 index 000000000..31cd39ce4 Binary files /dev/null and b/public/images/emoji/emoji_one/desert_island.png differ diff --git a/public/images/emoji/emoji_one/desktop.png b/public/images/emoji/emoji_one/desktop.png index 037c12f9a..2ef52b8ba 100644 Binary files a/public/images/emoji/emoji_one/desktop.png and b/public/images/emoji/emoji_one/desktop.png differ diff --git a/public/images/emoji/emoji_one/desktop_computer.png b/public/images/emoji/emoji_one/desktop_computer.png new file mode 100644 index 000000000..2ef52b8ba Binary files /dev/null and b/public/images/emoji/emoji_one/desktop_computer.png differ diff --git a/public/images/emoji/emoji_one/diamond_shape_with_a_dot_inside.png b/public/images/emoji/emoji_one/diamond_shape_with_a_dot_inside.png index c54d884ad..bf83a30e5 100644 Binary files a/public/images/emoji/emoji_one/diamond_shape_with_a_dot_inside.png and b/public/images/emoji/emoji_one/diamond_shape_with_a_dot_inside.png differ diff --git a/public/images/emoji/emoji_one/diamonds.png b/public/images/emoji/emoji_one/diamonds.png index 6a814bba9..25358c7ae 100644 Binary files a/public/images/emoji/emoji_one/diamonds.png and b/public/images/emoji/emoji_one/diamonds.png differ diff --git a/public/images/emoji/emoji_one/disappointed.png b/public/images/emoji/emoji_one/disappointed.png index 7a03e8163..24e36a279 100644 Binary files a/public/images/emoji/emoji_one/disappointed.png and b/public/images/emoji/emoji_one/disappointed.png differ diff --git a/public/images/emoji/emoji_one/disappointed_relieved.png b/public/images/emoji/emoji_one/disappointed_relieved.png index 4b79833ea..05477a893 100644 Binary files a/public/images/emoji/emoji_one/disappointed_relieved.png and b/public/images/emoji/emoji_one/disappointed_relieved.png differ diff --git a/public/images/emoji/emoji_one/dividers.png b/public/images/emoji/emoji_one/dividers.png index b342f2e4f..ff648549d 100644 Binary files a/public/images/emoji/emoji_one/dividers.png and b/public/images/emoji/emoji_one/dividers.png differ diff --git a/public/images/emoji/emoji_one/dizzy.png b/public/images/emoji/emoji_one/dizzy.png index d0baaff24..9f4659ab6 100644 Binary files a/public/images/emoji/emoji_one/dizzy.png and b/public/images/emoji/emoji_one/dizzy.png differ diff --git a/public/images/emoji/emoji_one/dizzy_face.png b/public/images/emoji/emoji_one/dizzy_face.png index 48053e0bc..5cdc098eb 100644 Binary files a/public/images/emoji/emoji_one/dizzy_face.png and b/public/images/emoji/emoji_one/dizzy_face.png differ diff --git a/public/images/emoji/emoji_one/do_not_litter.png b/public/images/emoji/emoji_one/do_not_litter.png index 2cf414214..618dfb921 100644 Binary files a/public/images/emoji/emoji_one/do_not_litter.png and b/public/images/emoji/emoji_one/do_not_litter.png differ diff --git a/public/images/emoji/emoji_one/dog.png b/public/images/emoji/emoji_one/dog.png index 281b81d58..89e114201 100644 Binary files a/public/images/emoji/emoji_one/dog.png and b/public/images/emoji/emoji_one/dog.png differ diff --git a/public/images/emoji/emoji_one/dog2.png b/public/images/emoji/emoji_one/dog2.png index fb7036959..e4cc3aec4 100644 Binary files a/public/images/emoji/emoji_one/dog2.png and b/public/images/emoji/emoji_one/dog2.png differ diff --git a/public/images/emoji/emoji_one/dollar.png b/public/images/emoji/emoji_one/dollar.png index b20aa2d76..c564febe6 100644 Binary files a/public/images/emoji/emoji_one/dollar.png and b/public/images/emoji/emoji_one/dollar.png differ diff --git a/public/images/emoji/emoji_one/dolls.png b/public/images/emoji/emoji_one/dolls.png index 55245cf8e..8745e9935 100644 Binary files a/public/images/emoji/emoji_one/dolls.png and b/public/images/emoji/emoji_one/dolls.png differ diff --git a/public/images/emoji/emoji_one/dolphin.png b/public/images/emoji/emoji_one/dolphin.png index 814348090..74f10783d 100644 Binary files a/public/images/emoji/emoji_one/dolphin.png and b/public/images/emoji/emoji_one/dolphin.png differ diff --git a/public/images/emoji/emoji_one/door.png b/public/images/emoji/emoji_one/door.png index 0d286aeaa..f5a63643c 100644 Binary files a/public/images/emoji/emoji_one/door.png and b/public/images/emoji/emoji_one/door.png differ diff --git a/public/images/emoji/emoji_one/double_vertical_bar.png b/public/images/emoji/emoji_one/double_vertical_bar.png new file mode 100644 index 000000000..37b536aae Binary files /dev/null and b/public/images/emoji/emoji_one/double_vertical_bar.png differ diff --git a/public/images/emoji/emoji_one/doughnut.png b/public/images/emoji/emoji_one/doughnut.png index 6f6197435..eac6ec7d9 100644 Binary files a/public/images/emoji/emoji_one/doughnut.png and b/public/images/emoji/emoji_one/doughnut.png differ diff --git a/public/images/emoji/emoji_one/dove.png b/public/images/emoji/emoji_one/dove.png index a85d3da44..f610107f2 100644 Binary files a/public/images/emoji/emoji_one/dove.png and b/public/images/emoji/emoji_one/dove.png differ diff --git a/public/images/emoji/emoji_one/dove_of_peace.png b/public/images/emoji/emoji_one/dove_of_peace.png new file mode 100644 index 000000000..f610107f2 Binary files /dev/null and b/public/images/emoji/emoji_one/dove_of_peace.png differ diff --git a/public/images/emoji/emoji_one/dragon.png b/public/images/emoji/emoji_one/dragon.png index d6311cf54..60753f3e9 100644 Binary files a/public/images/emoji/emoji_one/dragon.png and b/public/images/emoji/emoji_one/dragon.png differ diff --git a/public/images/emoji/emoji_one/dragon_face.png b/public/images/emoji/emoji_one/dragon_face.png index aa4f1f063..913bb8549 100644 Binary files a/public/images/emoji/emoji_one/dragon_face.png and b/public/images/emoji/emoji_one/dragon_face.png differ diff --git a/public/images/emoji/emoji_one/dress.png b/public/images/emoji/emoji_one/dress.png index 9759e4004..995cac971 100644 Binary files a/public/images/emoji/emoji_one/dress.png and b/public/images/emoji/emoji_one/dress.png differ diff --git a/public/images/emoji/emoji_one/dromedary_camel.png b/public/images/emoji/emoji_one/dromedary_camel.png index eaf1ed32c..c6a571f40 100644 Binary files a/public/images/emoji/emoji_one/dromedary_camel.png and b/public/images/emoji/emoji_one/dromedary_camel.png differ diff --git a/public/images/emoji/emoji_one/droplet.png b/public/images/emoji/emoji_one/droplet.png index 71241ec30..c08ee9fd8 100644 Binary files a/public/images/emoji/emoji_one/droplet.png and b/public/images/emoji/emoji_one/droplet.png differ diff --git a/public/images/emoji/emoji_one/dvd.png b/public/images/emoji/emoji_one/dvd.png index 045a6f7a0..c42208fb1 100644 Binary files a/public/images/emoji/emoji_one/dvd.png and b/public/images/emoji/emoji_one/dvd.png differ diff --git a/public/images/emoji/emoji_one/e-mail.png b/public/images/emoji/emoji_one/e-mail.png index 5a0bcb4b3..3b3ed0f40 100644 Binary files a/public/images/emoji/emoji_one/e-mail.png and b/public/images/emoji/emoji_one/e-mail.png differ diff --git a/public/images/emoji/emoji_one/ear.png b/public/images/emoji/emoji_one/ear.png index f84f9ff15..115da78b0 100644 Binary files a/public/images/emoji/emoji_one/ear.png and b/public/images/emoji/emoji_one/ear.png differ diff --git a/public/images/emoji/emoji_one/ear_of_rice.png b/public/images/emoji/emoji_one/ear_of_rice.png index 7a4a94e13..5b0b20012 100644 Binary files a/public/images/emoji/emoji_one/ear_of_rice.png and b/public/images/emoji/emoji_one/ear_of_rice.png differ diff --git a/public/images/emoji/emoji_one/earth_africa.png b/public/images/emoji/emoji_one/earth_africa.png index 3968bfeba..07b1e95ac 100644 Binary files a/public/images/emoji/emoji_one/earth_africa.png and b/public/images/emoji/emoji_one/earth_africa.png differ diff --git a/public/images/emoji/emoji_one/earth_americas.png b/public/images/emoji/emoji_one/earth_americas.png index d5ddbcba5..a662f8e11 100644 Binary files a/public/images/emoji/emoji_one/earth_americas.png and b/public/images/emoji/emoji_one/earth_americas.png differ diff --git a/public/images/emoji/emoji_one/earth_asia.png b/public/images/emoji/emoji_one/earth_asia.png index 7b6a5f587..d77a49b15 100644 Binary files a/public/images/emoji/emoji_one/earth_asia.png and b/public/images/emoji/emoji_one/earth_asia.png differ diff --git a/public/images/emoji/emoji_one/egg.png b/public/images/emoji/emoji_one/egg.png index 918c98057..adcef9a38 100644 Binary files a/public/images/emoji/emoji_one/egg.png and b/public/images/emoji/emoji_one/egg.png differ diff --git a/public/images/emoji/emoji_one/eggplant.png b/public/images/emoji/emoji_one/eggplant.png index d52683575..5d41a51ff 100644 Binary files a/public/images/emoji/emoji_one/eggplant.png and b/public/images/emoji/emoji_one/eggplant.png differ diff --git a/public/images/emoji/emoji_one/eight.png b/public/images/emoji/emoji_one/eight.png index 27142ea6f..e69de29bb 100644 Binary files a/public/images/emoji/emoji_one/eight.png and b/public/images/emoji/emoji_one/eight.png differ diff --git a/public/images/emoji/emoji_one/eight_pointed_black_star.png b/public/images/emoji/emoji_one/eight_pointed_black_star.png index 820179bda..947ca7e67 100644 Binary files a/public/images/emoji/emoji_one/eight_pointed_black_star.png and b/public/images/emoji/emoji_one/eight_pointed_black_star.png differ diff --git a/public/images/emoji/emoji_one/eight_spoked_asterisk.png b/public/images/emoji/emoji_one/eight_spoked_asterisk.png index 3307ffa62..69f18179d 100644 Binary files a/public/images/emoji/emoji_one/eight_spoked_asterisk.png and b/public/images/emoji/emoji_one/eight_spoked_asterisk.png differ diff --git a/public/images/emoji/emoji_one/electric_plug.png b/public/images/emoji/emoji_one/electric_plug.png index 31d1eb215..b3e3020ff 100644 Binary files a/public/images/emoji/emoji_one/electric_plug.png and b/public/images/emoji/emoji_one/electric_plug.png differ diff --git a/public/images/emoji/emoji_one/elephant.png b/public/images/emoji/emoji_one/elephant.png index 1a94f8fd2..f2b3cea30 100644 Binary files a/public/images/emoji/emoji_one/elephant.png and b/public/images/emoji/emoji_one/elephant.png differ diff --git a/public/images/emoji/emoji_one/email.png b/public/images/emoji/emoji_one/email.png index 3751286f7..3b3ed0f40 100644 Binary files a/public/images/emoji/emoji_one/email.png and b/public/images/emoji/emoji_one/email.png differ diff --git a/public/images/emoji/emoji_one/end.png b/public/images/emoji/emoji_one/end.png index ef3ccd5f3..465c3b91f 100644 Binary files a/public/images/emoji/emoji_one/end.png and b/public/images/emoji/emoji_one/end.png differ diff --git a/public/images/emoji/emoji_one/envelope.png b/public/images/emoji/emoji_one/envelope.png index d5a3b87fe..43dd7cbed 100644 Binary files a/public/images/emoji/emoji_one/envelope.png and b/public/images/emoji/emoji_one/envelope.png differ diff --git a/public/images/emoji/emoji_one/envelope_with_arrow.png b/public/images/emoji/emoji_one/envelope_with_arrow.png index 210c7093c..9e9d1b3de 100644 Binary files a/public/images/emoji/emoji_one/envelope_with_arrow.png and b/public/images/emoji/emoji_one/envelope_with_arrow.png differ diff --git a/public/images/emoji/emoji_one/es.png b/public/images/emoji/emoji_one/es.png index 875d68a75..061ea1556 100644 Binary files a/public/images/emoji/emoji_one/es.png and b/public/images/emoji/emoji_one/es.png differ diff --git a/public/images/emoji/emoji_one/euro.png b/public/images/emoji/emoji_one/euro.png index f344738e4..e2480ca61 100644 Binary files a/public/images/emoji/emoji_one/euro.png and b/public/images/emoji/emoji_one/euro.png differ diff --git a/public/images/emoji/emoji_one/european_castle.png b/public/images/emoji/emoji_one/european_castle.png index 96d77077d..b2e7025eb 100644 Binary files a/public/images/emoji/emoji_one/european_castle.png and b/public/images/emoji/emoji_one/european_castle.png differ diff --git a/public/images/emoji/emoji_one/european_post_office.png b/public/images/emoji/emoji_one/european_post_office.png index bed2daabe..5330b6d6b 100644 Binary files a/public/images/emoji/emoji_one/european_post_office.png and b/public/images/emoji/emoji_one/european_post_office.png differ diff --git a/public/images/emoji/emoji_one/evergreen_tree.png b/public/images/emoji/emoji_one/evergreen_tree.png index f679d8dd7..48663ea66 100644 Binary files a/public/images/emoji/emoji_one/evergreen_tree.png and b/public/images/emoji/emoji_one/evergreen_tree.png differ diff --git a/public/images/emoji/emoji_one/exclamation.png b/public/images/emoji/emoji_one/exclamation.png index 2c1440642..b0bf7bf1d 100644 Binary files a/public/images/emoji/emoji_one/exclamation.png and b/public/images/emoji/emoji_one/exclamation.png differ diff --git a/public/images/emoji/emoji_one/expressionless.png b/public/images/emoji/emoji_one/expressionless.png index 0e861bf29..cb83c412b 100644 Binary files a/public/images/emoji/emoji_one/expressionless.png and b/public/images/emoji/emoji_one/expressionless.png differ diff --git a/public/images/emoji/emoji_one/eye.png b/public/images/emoji/emoji_one/eye.png index 515f32916..a186aa22b 100644 Binary files a/public/images/emoji/emoji_one/eye.png and b/public/images/emoji/emoji_one/eye.png differ diff --git a/public/images/emoji/emoji_one/eyeglasses.png b/public/images/emoji/emoji_one/eyeglasses.png index 865d8274a..bc19aae64 100644 Binary files a/public/images/emoji/emoji_one/eyeglasses.png and b/public/images/emoji/emoji_one/eyeglasses.png differ diff --git a/public/images/emoji/emoji_one/eyes.png b/public/images/emoji/emoji_one/eyes.png index 36e66b86e..ccda3cbae 100644 Binary files a/public/images/emoji/emoji_one/eyes.png and b/public/images/emoji/emoji_one/eyes.png differ diff --git a/public/images/emoji/emoji_one/face_with_head_bandage.png b/public/images/emoji/emoji_one/face_with_head_bandage.png new file mode 100644 index 000000000..0511af60d Binary files /dev/null and b/public/images/emoji/emoji_one/face_with_head_bandage.png differ diff --git a/public/images/emoji/emoji_one/face_with_rolling_eyes.png b/public/images/emoji/emoji_one/face_with_rolling_eyes.png new file mode 100644 index 000000000..1eec27738 Binary files /dev/null and b/public/images/emoji/emoji_one/face_with_rolling_eyes.png differ diff --git a/public/images/emoji/emoji_one/face_with_thermometer.png b/public/images/emoji/emoji_one/face_with_thermometer.png new file mode 100644 index 000000000..9722ff821 Binary files /dev/null and b/public/images/emoji/emoji_one/face_with_thermometer.png differ diff --git a/public/images/emoji/emoji_one/facepunch.png b/public/images/emoji/emoji_one/facepunch.png deleted file mode 100644 index dc01d1a07..000000000 Binary files a/public/images/emoji/emoji_one/facepunch.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/factory.png b/public/images/emoji/emoji_one/factory.png index b911760e3..bafeb15b5 100644 Binary files a/public/images/emoji/emoji_one/factory.png and b/public/images/emoji/emoji_one/factory.png differ diff --git a/public/images/emoji/emoji_one/fallen_leaf.png b/public/images/emoji/emoji_one/fallen_leaf.png index b0495e925..dbaf57be5 100644 Binary files a/public/images/emoji/emoji_one/fallen_leaf.png and b/public/images/emoji/emoji_one/fallen_leaf.png differ diff --git a/public/images/emoji/emoji_one/family.png b/public/images/emoji/emoji_one/family.png deleted file mode 100644 index 1258af7c7..000000000 Binary files a/public/images/emoji/emoji_one/family.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/family_man_woman_boys.png b/public/images/emoji/emoji_one/family_man_woman_boys.png new file mode 100644 index 000000000..20a12bd47 Binary files /dev/null and b/public/images/emoji/emoji_one/family_man_woman_boys.png differ diff --git a/public/images/emoji/emoji_one/family_man_woman_girl.png b/public/images/emoji/emoji_one/family_man_woman_girl.png new file mode 100644 index 000000000..a4f7aedfb Binary files /dev/null and b/public/images/emoji/emoji_one/family_man_woman_girl.png differ diff --git a/public/images/emoji/emoji_one/family_man_woman_girl_boy.png b/public/images/emoji/emoji_one/family_man_woman_girl_boy.png new file mode 100644 index 000000000..98d8369b4 Binary files /dev/null and b/public/images/emoji/emoji_one/family_man_woman_girl_boy.png differ diff --git a/public/images/emoji/emoji_one/family_man_woman_girls.png b/public/images/emoji/emoji_one/family_man_woman_girls.png new file mode 100644 index 000000000..9782696d3 Binary files /dev/null and b/public/images/emoji/emoji_one/family_man_woman_girls.png differ diff --git a/public/images/emoji/emoji_one/family_men_boy.png b/public/images/emoji/emoji_one/family_men_boy.png new file mode 100644 index 000000000..63241ed29 Binary files /dev/null and b/public/images/emoji/emoji_one/family_men_boy.png differ diff --git a/public/images/emoji/emoji_one/family_men_boys.png b/public/images/emoji/emoji_one/family_men_boys.png new file mode 100644 index 000000000..66e465575 Binary files /dev/null and b/public/images/emoji/emoji_one/family_men_boys.png differ diff --git a/public/images/emoji/emoji_one/family_men_girl.png b/public/images/emoji/emoji_one/family_men_girl.png new file mode 100644 index 000000000..8aa48695b Binary files /dev/null and b/public/images/emoji/emoji_one/family_men_girl.png differ diff --git a/public/images/emoji/emoji_one/family_men_girl_boy.png b/public/images/emoji/emoji_one/family_men_girl_boy.png new file mode 100644 index 000000000..4a74aa4fa Binary files /dev/null and b/public/images/emoji/emoji_one/family_men_girl_boy.png differ diff --git a/public/images/emoji/emoji_one/family_men_girls.png b/public/images/emoji/emoji_one/family_men_girls.png new file mode 100644 index 000000000..3cafa6ff2 Binary files /dev/null and b/public/images/emoji/emoji_one/family_men_girls.png differ diff --git a/public/images/emoji/emoji_one/family_women_boy.png b/public/images/emoji/emoji_one/family_women_boy.png new file mode 100644 index 000000000..262f91352 Binary files /dev/null and b/public/images/emoji/emoji_one/family_women_boy.png differ diff --git a/public/images/emoji/emoji_one/family_women_boys.png b/public/images/emoji/emoji_one/family_women_boys.png new file mode 100644 index 000000000..24538c1e8 Binary files /dev/null and b/public/images/emoji/emoji_one/family_women_boys.png differ diff --git a/public/images/emoji/emoji_one/family_women_girl.png b/public/images/emoji/emoji_one/family_women_girl.png new file mode 100644 index 000000000..02f36a1b8 Binary files /dev/null and b/public/images/emoji/emoji_one/family_women_girl.png differ diff --git a/public/images/emoji/emoji_one/family_women_girl_boy.png b/public/images/emoji/emoji_one/family_women_girl_boy.png new file mode 100644 index 000000000..4933fae6a Binary files /dev/null and b/public/images/emoji/emoji_one/family_women_girl_boy.png differ diff --git a/public/images/emoji/emoji_one/family_women_girls.png b/public/images/emoji/emoji_one/family_women_girls.png new file mode 100644 index 000000000..ba7831255 Binary files /dev/null and b/public/images/emoji/emoji_one/family_women_girls.png differ diff --git a/public/images/emoji/emoji_one/fast_forward.png b/public/images/emoji/emoji_one/fast_forward.png index 7d62b3a14..609101345 100644 Binary files a/public/images/emoji/emoji_one/fast_forward.png and b/public/images/emoji/emoji_one/fast_forward.png differ diff --git a/public/images/emoji/emoji_one/fax.png b/public/images/emoji/emoji_one/fax.png index 1a797440b..92bf531eb 100644 Binary files a/public/images/emoji/emoji_one/fax.png and b/public/images/emoji/emoji_one/fax.png differ diff --git a/public/images/emoji/emoji_one/fearful.png b/public/images/emoji/emoji_one/fearful.png index 44cdcd379..a21f8017e 100644 Binary files a/public/images/emoji/emoji_one/fearful.png and b/public/images/emoji/emoji_one/fearful.png differ diff --git a/public/images/emoji/emoji_one/feet.png b/public/images/emoji/emoji_one/feet.png index 5e1ef89c0..a50797721 100644 Binary files a/public/images/emoji/emoji_one/feet.png and b/public/images/emoji/emoji_one/feet.png differ diff --git a/public/images/emoji/emoji_one/female_couple_with_heart.png b/public/images/emoji/emoji_one/female_couple_with_heart.png new file mode 100644 index 000000000..4082dca27 Binary files /dev/null and b/public/images/emoji/emoji_one/female_couple_with_heart.png differ diff --git a/public/images/emoji/emoji_one/female_couplekiss.png b/public/images/emoji/emoji_one/female_couplekiss.png new file mode 100644 index 000000000..28969d81b Binary files /dev/null and b/public/images/emoji/emoji_one/female_couplekiss.png differ diff --git a/public/images/emoji/emoji_one/ferris_wheel.png b/public/images/emoji/emoji_one/ferris_wheel.png index 34d61b96b..c5fa20581 100644 Binary files a/public/images/emoji/emoji_one/ferris_wheel.png and b/public/images/emoji/emoji_one/ferris_wheel.png differ diff --git a/public/images/emoji/emoji_one/ferry.png b/public/images/emoji/emoji_one/ferry.png index ced2eadf3..9a812d350 100644 Binary files a/public/images/emoji/emoji_one/ferry.png and b/public/images/emoji/emoji_one/ferry.png differ diff --git a/public/images/emoji/emoji_one/field_hockey.png b/public/images/emoji/emoji_one/field_hockey.png index feefd53bc..c4d6114d7 100644 Binary files a/public/images/emoji/emoji_one/field_hockey.png and b/public/images/emoji/emoji_one/field_hockey.png differ diff --git a/public/images/emoji/emoji_one/file_cabinet.png b/public/images/emoji/emoji_one/file_cabinet.png index fddc65dde..506ed1a8b 100644 Binary files a/public/images/emoji/emoji_one/file_cabinet.png and b/public/images/emoji/emoji_one/file_cabinet.png differ diff --git a/public/images/emoji/emoji_one/file_folder.png b/public/images/emoji/emoji_one/file_folder.png index addedaf08..111ce937d 100644 Binary files a/public/images/emoji/emoji_one/file_folder.png and b/public/images/emoji/emoji_one/file_folder.png differ diff --git a/public/images/emoji/emoji_one/film_frames.png b/public/images/emoji/emoji_one/film_frames.png index 30143aedb..80c7fabde 100644 Binary files a/public/images/emoji/emoji_one/film_frames.png and b/public/images/emoji/emoji_one/film_frames.png differ diff --git a/public/images/emoji/emoji_one/film_projector.png b/public/images/emoji/emoji_one/film_projector.png new file mode 100644 index 000000000..e18aae6b5 Binary files /dev/null and b/public/images/emoji/emoji_one/film_projector.png differ diff --git a/public/images/emoji/emoji_one/fire.png b/public/images/emoji/emoji_one/fire.png index 20bd0d4a2..408096fbe 100644 Binary files a/public/images/emoji/emoji_one/fire.png and b/public/images/emoji/emoji_one/fire.png differ diff --git a/public/images/emoji/emoji_one/fire_engine.png b/public/images/emoji/emoji_one/fire_engine.png index 2cd45b7cf..5d1f91bc5 100644 Binary files a/public/images/emoji/emoji_one/fire_engine.png and b/public/images/emoji/emoji_one/fire_engine.png differ diff --git a/public/images/emoji/emoji_one/fireworks.png b/public/images/emoji/emoji_one/fireworks.png index f8232682e..bdeb2c3ae 100644 Binary files a/public/images/emoji/emoji_one/fireworks.png and b/public/images/emoji/emoji_one/fireworks.png differ diff --git a/public/images/emoji/emoji_one/first_quarter_moon.png b/public/images/emoji/emoji_one/first_quarter_moon.png index 5dccaf72a..161f42ea8 100644 Binary files a/public/images/emoji/emoji_one/first_quarter_moon.png and b/public/images/emoji/emoji_one/first_quarter_moon.png differ diff --git a/public/images/emoji/emoji_one/first_quarter_moon_with_face.png b/public/images/emoji/emoji_one/first_quarter_moon_with_face.png index 4f85665e2..7080be25c 100644 Binary files a/public/images/emoji/emoji_one/first_quarter_moon_with_face.png and b/public/images/emoji/emoji_one/first_quarter_moon_with_face.png differ diff --git a/public/images/emoji/emoji_one/fish.png b/public/images/emoji/emoji_one/fish.png index c2d2faaac..739efb0cf 100644 Binary files a/public/images/emoji/emoji_one/fish.png and b/public/images/emoji/emoji_one/fish.png differ diff --git a/public/images/emoji/emoji_one/fish_cake.png b/public/images/emoji/emoji_one/fish_cake.png index 398f2ec79..f07582187 100644 Binary files a/public/images/emoji/emoji_one/fish_cake.png and b/public/images/emoji/emoji_one/fish_cake.png differ diff --git a/public/images/emoji/emoji_one/fishing_pole_and_fish.png b/public/images/emoji/emoji_one/fishing_pole_and_fish.png index 6372aac2e..2b613d70f 100644 Binary files a/public/images/emoji/emoji_one/fishing_pole_and_fish.png and b/public/images/emoji/emoji_one/fishing_pole_and_fish.png differ diff --git a/public/images/emoji/emoji_one/fist.png b/public/images/emoji/emoji_one/fist.png index de33592bf..b26c74aca 100644 Binary files a/public/images/emoji/emoji_one/fist.png and b/public/images/emoji/emoji_one/fist.png differ diff --git a/public/images/emoji/emoji_one/five.png b/public/images/emoji/emoji_one/five.png index 3aaf51d9b..e69de29bb 100644 Binary files a/public/images/emoji/emoji_one/five.png and b/public/images/emoji/emoji_one/five.png differ diff --git a/public/images/emoji/emoji_one/flag_black.png b/public/images/emoji/emoji_one/flag_black.png index f64f5f915..e6071f3ee 100644 Binary files a/public/images/emoji/emoji_one/flag_black.png and b/public/images/emoji/emoji_one/flag_black.png differ diff --git a/public/images/emoji/emoji_one/flag_cn.png b/public/images/emoji/emoji_one/flag_cn.png index 8673be2ca..ae5a76a90 100644 Binary files a/public/images/emoji/emoji_one/flag_cn.png and b/public/images/emoji/emoji_one/flag_cn.png differ diff --git a/public/images/emoji/emoji_one/flag_de.png b/public/images/emoji/emoji_one/flag_de.png index 98ed76b3b..352b049a1 100644 Binary files a/public/images/emoji/emoji_one/flag_de.png and b/public/images/emoji/emoji_one/flag_de.png differ diff --git a/public/images/emoji/emoji_one/flag_es.png b/public/images/emoji/emoji_one/flag_es.png index eb1f6075e..061ea1556 100644 Binary files a/public/images/emoji/emoji_one/flag_es.png and b/public/images/emoji/emoji_one/flag_es.png differ diff --git a/public/images/emoji/emoji_one/flag_fr.png b/public/images/emoji/emoji_one/flag_fr.png index 62ca19c3f..20938a3ab 100644 Binary files a/public/images/emoji/emoji_one/flag_fr.png and b/public/images/emoji/emoji_one/flag_fr.png differ diff --git a/public/images/emoji/emoji_one/flag_gb.png b/public/images/emoji/emoji_one/flag_gb.png index 3ed10f623..abdb6c455 100644 Binary files a/public/images/emoji/emoji_one/flag_gb.png and b/public/images/emoji/emoji_one/flag_gb.png differ diff --git a/public/images/emoji/emoji_one/flag_it.png b/public/images/emoji/emoji_one/flag_it.png index 050dcfbab..2ed2a1067 100644 Binary files a/public/images/emoji/emoji_one/flag_it.png and b/public/images/emoji/emoji_one/flag_it.png differ diff --git a/public/images/emoji/emoji_one/flag_jp.png b/public/images/emoji/emoji_one/flag_jp.png index 1c3726e0f..2e6ceab8f 100644 Binary files a/public/images/emoji/emoji_one/flag_jp.png and b/public/images/emoji/emoji_one/flag_jp.png differ diff --git a/public/images/emoji/emoji_one/flag_kr.png b/public/images/emoji/emoji_one/flag_kr.png index 833a88116..fe1d26475 100644 Binary files a/public/images/emoji/emoji_one/flag_kr.png and b/public/images/emoji/emoji_one/flag_kr.png differ diff --git a/public/images/emoji/emoji_one/flag_ru.png b/public/images/emoji/emoji_one/flag_ru.png index e50c9db90..62b6b21d6 100644 Binary files a/public/images/emoji/emoji_one/flag_ru.png and b/public/images/emoji/emoji_one/flag_ru.png differ diff --git a/public/images/emoji/emoji_one/flag_us.png b/public/images/emoji/emoji_one/flag_us.png index 0dd088248..748e2b413 100644 Binary files a/public/images/emoji/emoji_one/flag_us.png and b/public/images/emoji/emoji_one/flag_us.png differ diff --git a/public/images/emoji/emoji_one/flag_white.png b/public/images/emoji/emoji_one/flag_white.png index 4ceb84409..a4b7a4848 100644 Binary files a/public/images/emoji/emoji_one/flag_white.png and b/public/images/emoji/emoji_one/flag_white.png differ diff --git a/public/images/emoji/emoji_one/flags.png b/public/images/emoji/emoji_one/flags.png index f74fde2c0..f79f69ab5 100644 Binary files a/public/images/emoji/emoji_one/flags.png and b/public/images/emoji/emoji_one/flags.png differ diff --git a/public/images/emoji/emoji_one/flame.png b/public/images/emoji/emoji_one/flame.png new file mode 100644 index 000000000..408096fbe Binary files /dev/null and b/public/images/emoji/emoji_one/flame.png differ diff --git a/public/images/emoji/emoji_one/flashlight.png b/public/images/emoji/emoji_one/flashlight.png index eee36c250..ebbe7d320 100644 Binary files a/public/images/emoji/emoji_one/flashlight.png and b/public/images/emoji/emoji_one/flashlight.png differ diff --git a/public/images/emoji/emoji_one/fleur-de-lis.png b/public/images/emoji/emoji_one/fleur-de-lis.png index d2351f224..edf3a73da 100644 Binary files a/public/images/emoji/emoji_one/fleur-de-lis.png and b/public/images/emoji/emoji_one/fleur-de-lis.png differ diff --git a/public/images/emoji/emoji_one/flipper.png b/public/images/emoji/emoji_one/flipper.png deleted file mode 100644 index 958bca71b..000000000 Binary files a/public/images/emoji/emoji_one/flipper.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/floppy_disk.png b/public/images/emoji/emoji_one/floppy_disk.png index 072a76d3c..a82cdadca 100644 Binary files a/public/images/emoji/emoji_one/floppy_disk.png and b/public/images/emoji/emoji_one/floppy_disk.png differ diff --git a/public/images/emoji/emoji_one/flower_playing_cards.png b/public/images/emoji/emoji_one/flower_playing_cards.png index 6b2985c4b..b1641a1e9 100644 Binary files a/public/images/emoji/emoji_one/flower_playing_cards.png and b/public/images/emoji/emoji_one/flower_playing_cards.png differ diff --git a/public/images/emoji/emoji_one/flushed.png b/public/images/emoji/emoji_one/flushed.png index 2cc95a6b7..8c0e19548 100644 Binary files a/public/images/emoji/emoji_one/flushed.png and b/public/images/emoji/emoji_one/flushed.png differ diff --git a/public/images/emoji/emoji_one/fog.png b/public/images/emoji/emoji_one/fog.png index b256c4cc9..51c905064 100644 Binary files a/public/images/emoji/emoji_one/fog.png and b/public/images/emoji/emoji_one/fog.png differ diff --git a/public/images/emoji/emoji_one/foggy.png b/public/images/emoji/emoji_one/foggy.png index 78d0e8140..07a75af19 100644 Binary files a/public/images/emoji/emoji_one/foggy.png and b/public/images/emoji/emoji_one/foggy.png differ diff --git a/public/images/emoji/emoji_one/football.png b/public/images/emoji/emoji_one/football.png index 10366f41f..ee6f77931 100644 Binary files a/public/images/emoji/emoji_one/football.png and b/public/images/emoji/emoji_one/football.png differ diff --git a/public/images/emoji/emoji_one/footprints.png b/public/images/emoji/emoji_one/footprints.png index 343ebc05c..8bc7f5f4b 100644 Binary files a/public/images/emoji/emoji_one/footprints.png and b/public/images/emoji/emoji_one/footprints.png differ diff --git a/public/images/emoji/emoji_one/fork_and_knife.png b/public/images/emoji/emoji_one/fork_and_knife.png index 09f1feaea..7be5c7273 100644 Binary files a/public/images/emoji/emoji_one/fork_and_knife.png and b/public/images/emoji/emoji_one/fork_and_knife.png differ diff --git a/public/images/emoji/emoji_one/fork_and_knife_with_plate.png b/public/images/emoji/emoji_one/fork_and_knife_with_plate.png new file mode 100644 index 000000000..0f3b9a60e Binary files /dev/null and b/public/images/emoji/emoji_one/fork_and_knife_with_plate.png differ diff --git a/public/images/emoji/emoji_one/fork_knife_plate.png b/public/images/emoji/emoji_one/fork_knife_plate.png index ba95525a8..0f3b9a60e 100644 Binary files a/public/images/emoji/emoji_one/fork_knife_plate.png and b/public/images/emoji/emoji_one/fork_knife_plate.png differ diff --git a/public/images/emoji/emoji_one/fountain.png b/public/images/emoji/emoji_one/fountain.png index 293f5d91c..884174368 100644 Binary files a/public/images/emoji/emoji_one/fountain.png and b/public/images/emoji/emoji_one/fountain.png differ diff --git a/public/images/emoji/emoji_one/four.png b/public/images/emoji/emoji_one/four.png index 24ab50282..e69de29bb 100644 Binary files a/public/images/emoji/emoji_one/four.png and b/public/images/emoji/emoji_one/four.png differ diff --git a/public/images/emoji/emoji_one/four_leaf_clover.png b/public/images/emoji/emoji_one/four_leaf_clover.png index 4d2171be4..a844b27c6 100644 Binary files a/public/images/emoji/emoji_one/four_leaf_clover.png and b/public/images/emoji/emoji_one/four_leaf_clover.png differ diff --git a/public/images/emoji/emoji_one/fr.png b/public/images/emoji/emoji_one/fr.png index 24383c46e..20938a3ab 100644 Binary files a/public/images/emoji/emoji_one/fr.png and b/public/images/emoji/emoji_one/fr.png differ diff --git a/public/images/emoji/emoji_one/frame_photo.png b/public/images/emoji/emoji_one/frame_photo.png index 39a3dcf14..fe6c307f1 100644 Binary files a/public/images/emoji/emoji_one/frame_photo.png and b/public/images/emoji/emoji_one/frame_photo.png differ diff --git a/public/images/emoji/emoji_one/frame_with_picture.png b/public/images/emoji/emoji_one/frame_with_picture.png new file mode 100644 index 000000000..fe6c307f1 Binary files /dev/null and b/public/images/emoji/emoji_one/frame_with_picture.png differ diff --git a/public/images/emoji/emoji_one/free.png b/public/images/emoji/emoji_one/free.png index 59aea936a..00430a8a2 100644 Binary files a/public/images/emoji/emoji_one/free.png and b/public/images/emoji/emoji_one/free.png differ diff --git a/public/images/emoji/emoji_one/fried_shrimp.png b/public/images/emoji/emoji_one/fried_shrimp.png index 40ef64e83..52b3e4aec 100644 Binary files a/public/images/emoji/emoji_one/fried_shrimp.png and b/public/images/emoji/emoji_one/fried_shrimp.png differ diff --git a/public/images/emoji/emoji_one/fries.png b/public/images/emoji/emoji_one/fries.png index 81a0210f3..e35818b6f 100644 Binary files a/public/images/emoji/emoji_one/fries.png and b/public/images/emoji/emoji_one/fries.png differ diff --git a/public/images/emoji/emoji_one/frog.png b/public/images/emoji/emoji_one/frog.png index 8825d1ad5..7c5ce7da5 100644 Binary files a/public/images/emoji/emoji_one/frog.png and b/public/images/emoji/emoji_one/frog.png differ diff --git a/public/images/emoji/emoji_one/frowning.png b/public/images/emoji/emoji_one/frowning.png index 43ab6b0a1..46f93f120 100644 Binary files a/public/images/emoji/emoji_one/frowning.png and b/public/images/emoji/emoji_one/frowning.png differ diff --git a/public/images/emoji/emoji_one/frowning2.png b/public/images/emoji/emoji_one/frowning2.png index 6ae71f233..72453581d 100644 Binary files a/public/images/emoji/emoji_one/frowning2.png and b/public/images/emoji/emoji_one/frowning2.png differ diff --git a/public/images/emoji/emoji_one/fuelpump.png b/public/images/emoji/emoji_one/fuelpump.png index 05b187944..3f7ab4f5d 100644 Binary files a/public/images/emoji/emoji_one/fuelpump.png and b/public/images/emoji/emoji_one/fuelpump.png differ diff --git a/public/images/emoji/emoji_one/full_moon.png b/public/images/emoji/emoji_one/full_moon.png index c9a2d6aa7..c9e143fe2 100644 Binary files a/public/images/emoji/emoji_one/full_moon.png and b/public/images/emoji/emoji_one/full_moon.png differ diff --git a/public/images/emoji/emoji_one/full_moon_with_face.png b/public/images/emoji/emoji_one/full_moon_with_face.png index 38b6cd902..e212e2206 100644 Binary files a/public/images/emoji/emoji_one/full_moon_with_face.png and b/public/images/emoji/emoji_one/full_moon_with_face.png differ diff --git a/public/images/emoji/emoji_one/funeral_urn.png b/public/images/emoji/emoji_one/funeral_urn.png new file mode 100644 index 000000000..c531e105c Binary files /dev/null and b/public/images/emoji/emoji_one/funeral_urn.png differ diff --git a/public/images/emoji/emoji_one/game_die.png b/public/images/emoji/emoji_one/game_die.png index 091c0f157..ebed25d85 100644 Binary files a/public/images/emoji/emoji_one/game_die.png and b/public/images/emoji/emoji_one/game_die.png differ diff --git a/public/images/emoji/emoji_one/gb.png b/public/images/emoji/emoji_one/gb.png index 00843f119..abdb6c455 100644 Binary files a/public/images/emoji/emoji_one/gb.png and b/public/images/emoji/emoji_one/gb.png differ diff --git a/public/images/emoji/emoji_one/gear.png b/public/images/emoji/emoji_one/gear.png index 92def5aab..448c2fc1f 100644 Binary files a/public/images/emoji/emoji_one/gear.png and b/public/images/emoji/emoji_one/gear.png differ diff --git a/public/images/emoji/emoji_one/gem.png b/public/images/emoji/emoji_one/gem.png index d88bd66a4..1b6d7e287 100644 Binary files a/public/images/emoji/emoji_one/gem.png and b/public/images/emoji/emoji_one/gem.png differ diff --git a/public/images/emoji/emoji_one/gemini.png b/public/images/emoji/emoji_one/gemini.png index 1a09698cf..1b266e102 100644 Binary files a/public/images/emoji/emoji_one/gemini.png and b/public/images/emoji/emoji_one/gemini.png differ diff --git a/public/images/emoji/emoji_one/ghost.png b/public/images/emoji/emoji_one/ghost.png index 5650bc0ed..c6c0db241 100644 Binary files a/public/images/emoji/emoji_one/ghost.png and b/public/images/emoji/emoji_one/ghost.png differ diff --git a/public/images/emoji/emoji_one/gift.png b/public/images/emoji/emoji_one/gift.png index e9b9089ca..2bb9d8519 100644 Binary files a/public/images/emoji/emoji_one/gift.png and b/public/images/emoji/emoji_one/gift.png differ diff --git a/public/images/emoji/emoji_one/gift_heart.png b/public/images/emoji/emoji_one/gift_heart.png index 365710896..14c068a50 100644 Binary files a/public/images/emoji/emoji_one/gift_heart.png and b/public/images/emoji/emoji_one/gift_heart.png differ diff --git a/public/images/emoji/emoji_one/girl.png b/public/images/emoji/emoji_one/girl.png index a288a4fa4..fef52ba6d 100644 Binary files a/public/images/emoji/emoji_one/girl.png and b/public/images/emoji/emoji_one/girl.png differ diff --git a/public/images/emoji/emoji_one/globe_with_meridians.png b/public/images/emoji/emoji_one/globe_with_meridians.png index 82450c1a4..f499edb03 100644 Binary files a/public/images/emoji/emoji_one/globe_with_meridians.png and b/public/images/emoji/emoji_one/globe_with_meridians.png differ diff --git a/public/images/emoji/emoji_one/goat.png b/public/images/emoji/emoji_one/goat.png index bc04a66f8..e21c43fa4 100644 Binary files a/public/images/emoji/emoji_one/goat.png and b/public/images/emoji/emoji_one/goat.png differ diff --git a/public/images/emoji/emoji_one/golf.png b/public/images/emoji/emoji_one/golf.png index f65a21d8a..3cd5d80fc 100644 Binary files a/public/images/emoji/emoji_one/golf.png and b/public/images/emoji/emoji_one/golf.png differ diff --git a/public/images/emoji/emoji_one/golfer.png b/public/images/emoji/emoji_one/golfer.png index 6a5eacbde..a5e8fa7a3 100644 Binary files a/public/images/emoji/emoji_one/golfer.png and b/public/images/emoji/emoji_one/golfer.png differ diff --git a/public/images/emoji/emoji_one/grandma.png b/public/images/emoji/emoji_one/grandma.png new file mode 100644 index 000000000..d1e78babe Binary files /dev/null and b/public/images/emoji/emoji_one/grandma.png differ diff --git a/public/images/emoji/emoji_one/grapes.png b/public/images/emoji/emoji_one/grapes.png index b141cdab2..2d0c2db48 100644 Binary files a/public/images/emoji/emoji_one/grapes.png and b/public/images/emoji/emoji_one/grapes.png differ diff --git a/public/images/emoji/emoji_one/green_apple.png b/public/images/emoji/emoji_one/green_apple.png index 169e28921..611bdb4c3 100644 Binary files a/public/images/emoji/emoji_one/green_apple.png and b/public/images/emoji/emoji_one/green_apple.png differ diff --git a/public/images/emoji/emoji_one/green_book.png b/public/images/emoji/emoji_one/green_book.png index e5e411cf3..18600cfea 100644 Binary files a/public/images/emoji/emoji_one/green_book.png and b/public/images/emoji/emoji_one/green_book.png differ diff --git a/public/images/emoji/emoji_one/green_heart.png b/public/images/emoji/emoji_one/green_heart.png index cb8e327f6..b284be0ec 100644 Binary files a/public/images/emoji/emoji_one/green_heart.png and b/public/images/emoji/emoji_one/green_heart.png differ diff --git a/public/images/emoji/emoji_one/grey_exclamation.png b/public/images/emoji/emoji_one/grey_exclamation.png index 9b64da8bf..5a41233c3 100644 Binary files a/public/images/emoji/emoji_one/grey_exclamation.png and b/public/images/emoji/emoji_one/grey_exclamation.png differ diff --git a/public/images/emoji/emoji_one/grey_question.png b/public/images/emoji/emoji_one/grey_question.png index d5e6cc2fb..028696f6f 100644 Binary files a/public/images/emoji/emoji_one/grey_question.png and b/public/images/emoji/emoji_one/grey_question.png differ diff --git a/public/images/emoji/emoji_one/grimacing.png b/public/images/emoji/emoji_one/grimacing.png index 7eaa4ca3d..6ca43ef37 100644 Binary files a/public/images/emoji/emoji_one/grimacing.png and b/public/images/emoji/emoji_one/grimacing.png differ diff --git a/public/images/emoji/emoji_one/grin.png b/public/images/emoji/emoji_one/grin.png index 92ff263f3..94fd2b15f 100644 Binary files a/public/images/emoji/emoji_one/grin.png and b/public/images/emoji/emoji_one/grin.png differ diff --git a/public/images/emoji/emoji_one/grinning.png b/public/images/emoji/emoji_one/grinning.png index 3e8e0dab7..1a53e3f9d 100644 Binary files a/public/images/emoji/emoji_one/grinning.png and b/public/images/emoji/emoji_one/grinning.png differ diff --git a/public/images/emoji/emoji_one/guardsman.png b/public/images/emoji/emoji_one/guardsman.png index 628f1b3e2..07f3a2df1 100644 Binary files a/public/images/emoji/emoji_one/guardsman.png and b/public/images/emoji/emoji_one/guardsman.png differ diff --git a/public/images/emoji/emoji_one/guitar.png b/public/images/emoji/emoji_one/guitar.png index d9053f956..635ac4a51 100644 Binary files a/public/images/emoji/emoji_one/guitar.png and b/public/images/emoji/emoji_one/guitar.png differ diff --git a/public/images/emoji/emoji_one/gun.png b/public/images/emoji/emoji_one/gun.png index a9df20314..df8666a30 100644 Binary files a/public/images/emoji/emoji_one/gun.png and b/public/images/emoji/emoji_one/gun.png differ diff --git a/public/images/emoji/emoji_one/haircut.png b/public/images/emoji/emoji_one/haircut.png index 5998a2eab..a1795fd84 100644 Binary files a/public/images/emoji/emoji_one/haircut.png and b/public/images/emoji/emoji_one/haircut.png differ diff --git a/public/images/emoji/emoji_one/hamburger.png b/public/images/emoji/emoji_one/hamburger.png index d6397cd22..1b2f36dc4 100644 Binary files a/public/images/emoji/emoji_one/hamburger.png and b/public/images/emoji/emoji_one/hamburger.png differ diff --git a/public/images/emoji/emoji_one/hammer.png b/public/images/emoji/emoji_one/hammer.png index b88f7f712..c8111b161 100644 Binary files a/public/images/emoji/emoji_one/hammer.png and b/public/images/emoji/emoji_one/hammer.png differ diff --git a/public/images/emoji/emoji_one/hammer_and_pick.png b/public/images/emoji/emoji_one/hammer_and_pick.png new file mode 100644 index 000000000..3e1b21d51 Binary files /dev/null and b/public/images/emoji/emoji_one/hammer_and_pick.png differ diff --git a/public/images/emoji/emoji_one/hammer_and_wrench.png b/public/images/emoji/emoji_one/hammer_and_wrench.png new file mode 100644 index 000000000..3ff769bdf Binary files /dev/null and b/public/images/emoji/emoji_one/hammer_and_wrench.png differ diff --git a/public/images/emoji/emoji_one/hammer_pick.png b/public/images/emoji/emoji_one/hammer_pick.png index 8646fe209..3e1b21d51 100644 Binary files a/public/images/emoji/emoji_one/hammer_pick.png and b/public/images/emoji/emoji_one/hammer_pick.png differ diff --git a/public/images/emoji/emoji_one/hamster.png b/public/images/emoji/emoji_one/hamster.png index fefd5162f..decbed497 100644 Binary files a/public/images/emoji/emoji_one/hamster.png and b/public/images/emoji/emoji_one/hamster.png differ diff --git a/public/images/emoji/emoji_one/hand.png b/public/images/emoji/emoji_one/hand.png deleted file mode 100644 index 0b0a75fa5..000000000 Binary files a/public/images/emoji/emoji_one/hand.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/hand_splayed.png b/public/images/emoji/emoji_one/hand_splayed.png index 5f2a08403..77d0794e0 100644 Binary files a/public/images/emoji/emoji_one/hand_splayed.png and b/public/images/emoji/emoji_one/hand_splayed.png differ diff --git a/public/images/emoji/emoji_one/handbag.png b/public/images/emoji/emoji_one/handbag.png index c8b208249..29beb14ba 100644 Binary files a/public/images/emoji/emoji_one/handbag.png and b/public/images/emoji/emoji_one/handbag.png differ diff --git a/public/images/emoji/emoji_one/hankey.png b/public/images/emoji/emoji_one/hankey.png index 999b3d7d5..77eb5b9fd 100644 Binary files a/public/images/emoji/emoji_one/hankey.png and b/public/images/emoji/emoji_one/hankey.png differ diff --git a/public/images/emoji/emoji_one/hash.png b/public/images/emoji/emoji_one/hash.png index 158ea5983..e69de29bb 100644 Binary files a/public/images/emoji/emoji_one/hash.png and b/public/images/emoji/emoji_one/hash.png differ diff --git a/public/images/emoji/emoji_one/hatched_chick.png b/public/images/emoji/emoji_one/hatched_chick.png index dc35f688c..11c110286 100644 Binary files a/public/images/emoji/emoji_one/hatched_chick.png and b/public/images/emoji/emoji_one/hatched_chick.png differ diff --git a/public/images/emoji/emoji_one/hatching_chick.png b/public/images/emoji/emoji_one/hatching_chick.png index 41a8ee588..3ae52a268 100644 Binary files a/public/images/emoji/emoji_one/hatching_chick.png and b/public/images/emoji/emoji_one/hatching_chick.png differ diff --git a/public/images/emoji/emoji_one/head_bandage.png b/public/images/emoji/emoji_one/head_bandage.png index bd5579f11..0511af60d 100644 Binary files a/public/images/emoji/emoji_one/head_bandage.png and b/public/images/emoji/emoji_one/head_bandage.png differ diff --git a/public/images/emoji/emoji_one/headphones.png b/public/images/emoji/emoji_one/headphones.png index 0919204eb..faf1c6164 100644 Binary files a/public/images/emoji/emoji_one/headphones.png and b/public/images/emoji/emoji_one/headphones.png differ diff --git a/public/images/emoji/emoji_one/hear_no_evil.png b/public/images/emoji/emoji_one/hear_no_evil.png index aa037e6ba..33052b750 100644 Binary files a/public/images/emoji/emoji_one/hear_no_evil.png and b/public/images/emoji/emoji_one/hear_no_evil.png differ diff --git a/public/images/emoji/emoji_one/heart.png b/public/images/emoji/emoji_one/heart.png index 8599a599d..298ba2d39 100644 Binary files a/public/images/emoji/emoji_one/heart.png and b/public/images/emoji/emoji_one/heart.png differ diff --git a/public/images/emoji/emoji_one/heart_decoration.png b/public/images/emoji/emoji_one/heart_decoration.png index 4df018395..e1b090838 100644 Binary files a/public/images/emoji/emoji_one/heart_decoration.png and b/public/images/emoji/emoji_one/heart_decoration.png differ diff --git a/public/images/emoji/emoji_one/heart_exclamation.png b/public/images/emoji/emoji_one/heart_exclamation.png index b40b960f0..1681e8f7e 100644 Binary files a/public/images/emoji/emoji_one/heart_exclamation.png and b/public/images/emoji/emoji_one/heart_exclamation.png differ diff --git a/public/images/emoji/emoji_one/heart_eyes.png b/public/images/emoji/emoji_one/heart_eyes.png index 73fbee29d..dd2da26f5 100644 Binary files a/public/images/emoji/emoji_one/heart_eyes.png and b/public/images/emoji/emoji_one/heart_eyes.png differ diff --git a/public/images/emoji/emoji_one/heart_eyes_cat.png b/public/images/emoji/emoji_one/heart_eyes_cat.png index 2be31542c..ed355e41e 100644 Binary files a/public/images/emoji/emoji_one/heart_eyes_cat.png and b/public/images/emoji/emoji_one/heart_eyes_cat.png differ diff --git a/public/images/emoji/emoji_one/heartbeat.png b/public/images/emoji/emoji_one/heartbeat.png index 4918337bb..9d45b6d48 100644 Binary files a/public/images/emoji/emoji_one/heartbeat.png and b/public/images/emoji/emoji_one/heartbeat.png differ diff --git a/public/images/emoji/emoji_one/heartpulse.png b/public/images/emoji/emoji_one/heartpulse.png index c593a6425..a2ed3c500 100644 Binary files a/public/images/emoji/emoji_one/heartpulse.png and b/public/images/emoji/emoji_one/heartpulse.png differ diff --git a/public/images/emoji/emoji_one/hearts.png b/public/images/emoji/emoji_one/hearts.png index 393c3ed52..05940e09a 100644 Binary files a/public/images/emoji/emoji_one/hearts.png and b/public/images/emoji/emoji_one/hearts.png differ diff --git a/public/images/emoji/emoji_one/heavy_check_mark.png b/public/images/emoji/emoji_one/heavy_check_mark.png index 8b7fef595..bdfd6ffe6 100644 Binary files a/public/images/emoji/emoji_one/heavy_check_mark.png and b/public/images/emoji/emoji_one/heavy_check_mark.png differ diff --git a/public/images/emoji/emoji_one/heavy_division_sign.png b/public/images/emoji/emoji_one/heavy_division_sign.png index df32ab21b..01f7f53e9 100644 Binary files a/public/images/emoji/emoji_one/heavy_division_sign.png and b/public/images/emoji/emoji_one/heavy_division_sign.png differ diff --git a/public/images/emoji/emoji_one/heavy_dollar_sign.png b/public/images/emoji/emoji_one/heavy_dollar_sign.png index e2eaf4117..ed216482d 100644 Binary files a/public/images/emoji/emoji_one/heavy_dollar_sign.png and b/public/images/emoji/emoji_one/heavy_dollar_sign.png differ diff --git a/public/images/emoji/emoji_one/heavy_exclamation_mark.png b/public/images/emoji/emoji_one/heavy_exclamation_mark.png deleted file mode 100644 index fb1fc289a..000000000 Binary files a/public/images/emoji/emoji_one/heavy_exclamation_mark.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/heavy_heart_exclamation_mark_ornament.png b/public/images/emoji/emoji_one/heavy_heart_exclamation_mark_ornament.png new file mode 100644 index 000000000..1681e8f7e Binary files /dev/null and b/public/images/emoji/emoji_one/heavy_heart_exclamation_mark_ornament.png differ diff --git a/public/images/emoji/emoji_one/heavy_minus_sign.png b/public/images/emoji/emoji_one/heavy_minus_sign.png index 054211caf..67b932ea1 100644 Binary files a/public/images/emoji/emoji_one/heavy_minus_sign.png and b/public/images/emoji/emoji_one/heavy_minus_sign.png differ diff --git a/public/images/emoji/emoji_one/heavy_multiplication_x.png b/public/images/emoji/emoji_one/heavy_multiplication_x.png index e47cc1b68..19f7c3c88 100644 Binary files a/public/images/emoji/emoji_one/heavy_multiplication_x.png and b/public/images/emoji/emoji_one/heavy_multiplication_x.png differ diff --git a/public/images/emoji/emoji_one/heavy_plus_sign.png b/public/images/emoji/emoji_one/heavy_plus_sign.png index 40799798a..8e01b0516 100644 Binary files a/public/images/emoji/emoji_one/heavy_plus_sign.png and b/public/images/emoji/emoji_one/heavy_plus_sign.png differ diff --git a/public/images/emoji/emoji_one/helicopter.png b/public/images/emoji/emoji_one/helicopter.png index 7ec5f39a5..12bd8af3a 100644 Binary files a/public/images/emoji/emoji_one/helicopter.png and b/public/images/emoji/emoji_one/helicopter.png differ diff --git a/public/images/emoji/emoji_one/helmet_with_cross.png b/public/images/emoji/emoji_one/helmet_with_cross.png index 96d9c2365..69fb69aec 100644 Binary files a/public/images/emoji/emoji_one/helmet_with_cross.png and b/public/images/emoji/emoji_one/helmet_with_cross.png differ diff --git a/public/images/emoji/emoji_one/helmet_with_white_cross.png b/public/images/emoji/emoji_one/helmet_with_white_cross.png new file mode 100644 index 000000000..69fb69aec Binary files /dev/null and b/public/images/emoji/emoji_one/helmet_with_white_cross.png differ diff --git a/public/images/emoji/emoji_one/herb.png b/public/images/emoji/emoji_one/herb.png index d984d1562..187cfbb29 100644 Binary files a/public/images/emoji/emoji_one/herb.png and b/public/images/emoji/emoji_one/herb.png differ diff --git a/public/images/emoji/emoji_one/hibiscus.png b/public/images/emoji/emoji_one/hibiscus.png index 160c5878d..089b713af 100644 Binary files a/public/images/emoji/emoji_one/hibiscus.png and b/public/images/emoji/emoji_one/hibiscus.png differ diff --git a/public/images/emoji/emoji_one/high_brightness.png b/public/images/emoji/emoji_one/high_brightness.png index c41f2d5fd..22a0f0f57 100644 Binary files a/public/images/emoji/emoji_one/high_brightness.png and b/public/images/emoji/emoji_one/high_brightness.png differ diff --git a/public/images/emoji/emoji_one/high_heel.png b/public/images/emoji/emoji_one/high_heel.png index b331cbccc..ff6e4175e 100644 Binary files a/public/images/emoji/emoji_one/high_heel.png and b/public/images/emoji/emoji_one/high_heel.png differ diff --git a/public/images/emoji/emoji_one/hocho.png b/public/images/emoji/emoji_one/hocho.png deleted file mode 100644 index 21146711d..000000000 Binary files a/public/images/emoji/emoji_one/hocho.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/hockey.png b/public/images/emoji/emoji_one/hockey.png index 6ca4e8e39..c823244d3 100644 Binary files a/public/images/emoji/emoji_one/hockey.png and b/public/images/emoji/emoji_one/hockey.png differ diff --git a/public/images/emoji/emoji_one/hole.png b/public/images/emoji/emoji_one/hole.png index 517d2ae0d..6c4295d8c 100644 Binary files a/public/images/emoji/emoji_one/hole.png and b/public/images/emoji/emoji_one/hole.png differ diff --git a/public/images/emoji/emoji_one/homes.png b/public/images/emoji/emoji_one/homes.png index 6ab4a2a26..5b71e139c 100644 Binary files a/public/images/emoji/emoji_one/homes.png and b/public/images/emoji/emoji_one/homes.png differ diff --git a/public/images/emoji/emoji_one/honey_pot.png b/public/images/emoji/emoji_one/honey_pot.png index 2ad33a8f2..e50fde0b3 100644 Binary files a/public/images/emoji/emoji_one/honey_pot.png and b/public/images/emoji/emoji_one/honey_pot.png differ diff --git a/public/images/emoji/emoji_one/honeybee.png b/public/images/emoji/emoji_one/honeybee.png deleted file mode 100644 index a8c242558..000000000 Binary files a/public/images/emoji/emoji_one/honeybee.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/horse.png b/public/images/emoji/emoji_one/horse.png index 0dd5d8e01..6492b7b27 100644 Binary files a/public/images/emoji/emoji_one/horse.png and b/public/images/emoji/emoji_one/horse.png differ diff --git a/public/images/emoji/emoji_one/horse_racing.png b/public/images/emoji/emoji_one/horse_racing.png index 0b26d4bf3..e56f8bf7e 100644 Binary files a/public/images/emoji/emoji_one/horse_racing.png and b/public/images/emoji/emoji_one/horse_racing.png differ diff --git a/public/images/emoji/emoji_one/hospital.png b/public/images/emoji/emoji_one/hospital.png index 1cbce4ae7..fbcc8810f 100644 Binary files a/public/images/emoji/emoji_one/hospital.png and b/public/images/emoji/emoji_one/hospital.png differ diff --git a/public/images/emoji/emoji_one/hot_dog.png b/public/images/emoji/emoji_one/hot_dog.png new file mode 100644 index 000000000..8c8be9c67 Binary files /dev/null and b/public/images/emoji/emoji_one/hot_dog.png differ diff --git a/public/images/emoji/emoji_one/hot_pepper.png b/public/images/emoji/emoji_one/hot_pepper.png index 189e94d80..acc504504 100644 Binary files a/public/images/emoji/emoji_one/hot_pepper.png and b/public/images/emoji/emoji_one/hot_pepper.png differ diff --git a/public/images/emoji/emoji_one/hotdog.png b/public/images/emoji/emoji_one/hotdog.png index 3c3354d94..8c8be9c67 100644 Binary files a/public/images/emoji/emoji_one/hotdog.png and b/public/images/emoji/emoji_one/hotdog.png differ diff --git a/public/images/emoji/emoji_one/hotel.png b/public/images/emoji/emoji_one/hotel.png index e2e059815..e55ac6222 100644 Binary files a/public/images/emoji/emoji_one/hotel.png and b/public/images/emoji/emoji_one/hotel.png differ diff --git a/public/images/emoji/emoji_one/hotsprings.png b/public/images/emoji/emoji_one/hotsprings.png index 3d9df2d94..ef0695d8f 100644 Binary files a/public/images/emoji/emoji_one/hotsprings.png and b/public/images/emoji/emoji_one/hotsprings.png differ diff --git a/public/images/emoji/emoji_one/hourglass.png b/public/images/emoji/emoji_one/hourglass.png index 93e8ae86d..67fe75918 100644 Binary files a/public/images/emoji/emoji_one/hourglass.png and b/public/images/emoji/emoji_one/hourglass.png differ diff --git a/public/images/emoji/emoji_one/hourglass_flowing_sand.png b/public/images/emoji/emoji_one/hourglass_flowing_sand.png index 32cc404f2..0b195a642 100644 Binary files a/public/images/emoji/emoji_one/hourglass_flowing_sand.png and b/public/images/emoji/emoji_one/hourglass_flowing_sand.png differ diff --git a/public/images/emoji/emoji_one/house.png b/public/images/emoji/emoji_one/house.png index 01c98a0ba..aab3e65d5 100644 Binary files a/public/images/emoji/emoji_one/house.png and b/public/images/emoji/emoji_one/house.png differ diff --git a/public/images/emoji/emoji_one/house_abandoned.png b/public/images/emoji/emoji_one/house_abandoned.png index 40aaeb409..46775f0e7 100644 Binary files a/public/images/emoji/emoji_one/house_abandoned.png and b/public/images/emoji/emoji_one/house_abandoned.png differ diff --git a/public/images/emoji/emoji_one/house_buildings.png b/public/images/emoji/emoji_one/house_buildings.png new file mode 100644 index 000000000..5b71e139c Binary files /dev/null and b/public/images/emoji/emoji_one/house_buildings.png differ diff --git a/public/images/emoji/emoji_one/house_with_garden.png b/public/images/emoji/emoji_one/house_with_garden.png index a46e59d13..367277f89 100644 Binary files a/public/images/emoji/emoji_one/house_with_garden.png and b/public/images/emoji/emoji_one/house_with_garden.png differ diff --git a/public/images/emoji/emoji_one/hugging.png b/public/images/emoji/emoji_one/hugging.png index e4aca1444..943cbd58e 100644 Binary files a/public/images/emoji/emoji_one/hugging.png and b/public/images/emoji/emoji_one/hugging.png differ diff --git a/public/images/emoji/emoji_one/hugging_face.png b/public/images/emoji/emoji_one/hugging_face.png new file mode 100644 index 000000000..943cbd58e Binary files /dev/null and b/public/images/emoji/emoji_one/hugging_face.png differ diff --git a/public/images/emoji/emoji_one/hushed.png b/public/images/emoji/emoji_one/hushed.png index b8ecccfd8..f0034c2dd 100644 Binary files a/public/images/emoji/emoji_one/hushed.png and b/public/images/emoji/emoji_one/hushed.png differ diff --git a/public/images/emoji/emoji_one/ice_cream.png b/public/images/emoji/emoji_one/ice_cream.png index 444214082..590cd7f69 100644 Binary files a/public/images/emoji/emoji_one/ice_cream.png and b/public/images/emoji/emoji_one/ice_cream.png differ diff --git a/public/images/emoji/emoji_one/ice_skate.png b/public/images/emoji/emoji_one/ice_skate.png index b377ed403..5bab861e1 100644 Binary files a/public/images/emoji/emoji_one/ice_skate.png and b/public/images/emoji/emoji_one/ice_skate.png differ diff --git a/public/images/emoji/emoji_one/icecream.png b/public/images/emoji/emoji_one/icecream.png index 9d8cc141e..682e7ce18 100644 Binary files a/public/images/emoji/emoji_one/icecream.png and b/public/images/emoji/emoji_one/icecream.png differ diff --git a/public/images/emoji/emoji_one/id.png b/public/images/emoji/emoji_one/id.png index 28fbcce3c..85dee4fad 100644 Binary files a/public/images/emoji/emoji_one/id.png and b/public/images/emoji/emoji_one/id.png differ diff --git a/public/images/emoji/emoji_one/ideograph_advantage.png b/public/images/emoji/emoji_one/ideograph_advantage.png index 1c45cc63c..6e90af680 100644 Binary files a/public/images/emoji/emoji_one/ideograph_advantage.png and b/public/images/emoji/emoji_one/ideograph_advantage.png differ diff --git a/public/images/emoji/emoji_one/imp.png b/public/images/emoji/emoji_one/imp.png index 59314ef54..f529737a2 100644 Binary files a/public/images/emoji/emoji_one/imp.png and b/public/images/emoji/emoji_one/imp.png differ diff --git a/public/images/emoji/emoji_one/inbox_tray.png b/public/images/emoji/emoji_one/inbox_tray.png index bdcbae5f4..898808bc3 100644 Binary files a/public/images/emoji/emoji_one/inbox_tray.png and b/public/images/emoji/emoji_one/inbox_tray.png differ diff --git a/public/images/emoji/emoji_one/incoming_envelope.png b/public/images/emoji/emoji_one/incoming_envelope.png index fd22e8818..accf3e3ae 100644 Binary files a/public/images/emoji/emoji_one/incoming_envelope.png and b/public/images/emoji/emoji_one/incoming_envelope.png differ diff --git a/public/images/emoji/emoji_one/information_desk_person.png b/public/images/emoji/emoji_one/information_desk_person.png index 55fc6294d..de5ae4117 100644 Binary files a/public/images/emoji/emoji_one/information_desk_person.png and b/public/images/emoji/emoji_one/information_desk_person.png differ diff --git a/public/images/emoji/emoji_one/information_source.png b/public/images/emoji/emoji_one/information_source.png index 2264da079..804be347d 100644 Binary files a/public/images/emoji/emoji_one/information_source.png and b/public/images/emoji/emoji_one/information_source.png differ diff --git a/public/images/emoji/emoji_one/innocent.png b/public/images/emoji/emoji_one/innocent.png index 525c08fd7..1ce2f4248 100644 Binary files a/public/images/emoji/emoji_one/innocent.png and b/public/images/emoji/emoji_one/innocent.png differ diff --git a/public/images/emoji/emoji_one/interrobang.png b/public/images/emoji/emoji_one/interrobang.png index 509813e9b..037498551 100644 Binary files a/public/images/emoji/emoji_one/interrobang.png and b/public/images/emoji/emoji_one/interrobang.png differ diff --git a/public/images/emoji/emoji_one/iphone.png b/public/images/emoji/emoji_one/iphone.png index 1374181e8..260c82fc1 100644 Binary files a/public/images/emoji/emoji_one/iphone.png and b/public/images/emoji/emoji_one/iphone.png differ diff --git a/public/images/emoji/emoji_one/island.png b/public/images/emoji/emoji_one/island.png index bdbc6c694..31cd39ce4 100644 Binary files a/public/images/emoji/emoji_one/island.png and b/public/images/emoji/emoji_one/island.png differ diff --git a/public/images/emoji/emoji_one/it.png b/public/images/emoji/emoji_one/it.png index bce062350..2ed2a1067 100644 Binary files a/public/images/emoji/emoji_one/it.png and b/public/images/emoji/emoji_one/it.png differ diff --git a/public/images/emoji/emoji_one/izakaya_lantern.png b/public/images/emoji/emoji_one/izakaya_lantern.png index 252cc588c..e94bc65ef 100644 Binary files a/public/images/emoji/emoji_one/izakaya_lantern.png and b/public/images/emoji/emoji_one/izakaya_lantern.png differ diff --git a/public/images/emoji/emoji_one/jack_o_lantern.png b/public/images/emoji/emoji_one/jack_o_lantern.png index 988a09b8d..59db13956 100644 Binary files a/public/images/emoji/emoji_one/jack_o_lantern.png and b/public/images/emoji/emoji_one/jack_o_lantern.png differ diff --git a/public/images/emoji/emoji_one/japan.png b/public/images/emoji/emoji_one/japan.png index 3369583b2..3e0a4c258 100644 Binary files a/public/images/emoji/emoji_one/japan.png and b/public/images/emoji/emoji_one/japan.png differ diff --git a/public/images/emoji/emoji_one/japanese_castle.png b/public/images/emoji/emoji_one/japanese_castle.png index 02cab44d6..89f4f2eed 100644 Binary files a/public/images/emoji/emoji_one/japanese_castle.png and b/public/images/emoji/emoji_one/japanese_castle.png differ diff --git a/public/images/emoji/emoji_one/japanese_goblin.png b/public/images/emoji/emoji_one/japanese_goblin.png index 7bf538f3e..7062e78b7 100644 Binary files a/public/images/emoji/emoji_one/japanese_goblin.png and b/public/images/emoji/emoji_one/japanese_goblin.png differ diff --git a/public/images/emoji/emoji_one/japanese_ogre.png b/public/images/emoji/emoji_one/japanese_ogre.png index 1b4bf71e7..3a5b08520 100644 Binary files a/public/images/emoji/emoji_one/japanese_ogre.png and b/public/images/emoji/emoji_one/japanese_ogre.png differ diff --git a/public/images/emoji/emoji_one/jeans.png b/public/images/emoji/emoji_one/jeans.png index fd9bb2c7d..69afa71ae 100644 Binary files a/public/images/emoji/emoji_one/jeans.png and b/public/images/emoji/emoji_one/jeans.png differ diff --git a/public/images/emoji/emoji_one/joy.png b/public/images/emoji/emoji_one/joy.png index b8495142c..bd03f9645 100644 Binary files a/public/images/emoji/emoji_one/joy.png and b/public/images/emoji/emoji_one/joy.png differ diff --git a/public/images/emoji/emoji_one/joy_cat.png b/public/images/emoji/emoji_one/joy_cat.png index b807fb3d4..d39094fb8 100644 Binary files a/public/images/emoji/emoji_one/joy_cat.png and b/public/images/emoji/emoji_one/joy_cat.png differ diff --git a/public/images/emoji/emoji_one/joystick.png b/public/images/emoji/emoji_one/joystick.png index 033256d8d..00f771132 100644 Binary files a/public/images/emoji/emoji_one/joystick.png and b/public/images/emoji/emoji_one/joystick.png differ diff --git a/public/images/emoji/emoji_one/jp.png b/public/images/emoji/emoji_one/jp.png index d1ac231df..2e6ceab8f 100644 Binary files a/public/images/emoji/emoji_one/jp.png and b/public/images/emoji/emoji_one/jp.png differ diff --git a/public/images/emoji/emoji_one/kaaba.png b/public/images/emoji/emoji_one/kaaba.png index add9db0cc..ff8254511 100644 Binary files a/public/images/emoji/emoji_one/kaaba.png and b/public/images/emoji/emoji_one/kaaba.png differ diff --git a/public/images/emoji/emoji_one/key.png b/public/images/emoji/emoji_one/key.png index 4cec61798..0f70b4531 100644 Binary files a/public/images/emoji/emoji_one/key.png and b/public/images/emoji/emoji_one/key.png differ diff --git a/public/images/emoji/emoji_one/key2.png b/public/images/emoji/emoji_one/key2.png index e11d706c6..f74bb1ba0 100644 Binary files a/public/images/emoji/emoji_one/key2.png and b/public/images/emoji/emoji_one/key2.png differ diff --git a/public/images/emoji/emoji_one/keyboard.png b/public/images/emoji/emoji_one/keyboard.png index 75027cb9a..567abcdc6 100644 Binary files a/public/images/emoji/emoji_one/keyboard.png and b/public/images/emoji/emoji_one/keyboard.png differ diff --git a/public/images/emoji/emoji_one/keycap_star.png b/public/images/emoji/emoji_one/keycap_star.png new file mode 100644 index 000000000..e69de29bb diff --git a/public/images/emoji/emoji_one/keycap_ten.png b/public/images/emoji/emoji_one/keycap_ten.png deleted file mode 100644 index 4399ced42..000000000 Binary files a/public/images/emoji/emoji_one/keycap_ten.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/kimono.png b/public/images/emoji/emoji_one/kimono.png index fd83a305b..8c484aa03 100644 Binary files a/public/images/emoji/emoji_one/kimono.png and b/public/images/emoji/emoji_one/kimono.png differ diff --git a/public/images/emoji/emoji_one/kiss.png b/public/images/emoji/emoji_one/kiss.png index 85e6dcfc4..c9f34379c 100644 Binary files a/public/images/emoji/emoji_one/kiss.png and b/public/images/emoji/emoji_one/kiss.png differ diff --git a/public/images/emoji/emoji_one/kissing.png b/public/images/emoji/emoji_one/kissing.png index 49b2cd61b..8d8a6a628 100644 Binary files a/public/images/emoji/emoji_one/kissing.png and b/public/images/emoji/emoji_one/kissing.png differ diff --git a/public/images/emoji/emoji_one/kissing_cat.png b/public/images/emoji/emoji_one/kissing_cat.png index a18fc93a4..7748ac1c6 100644 Binary files a/public/images/emoji/emoji_one/kissing_cat.png and b/public/images/emoji/emoji_one/kissing_cat.png differ diff --git a/public/images/emoji/emoji_one/kissing_closed_eyes.png b/public/images/emoji/emoji_one/kissing_closed_eyes.png index b684d7d4d..281cd063c 100644 Binary files a/public/images/emoji/emoji_one/kissing_closed_eyes.png and b/public/images/emoji/emoji_one/kissing_closed_eyes.png differ diff --git a/public/images/emoji/emoji_one/kissing_heart.png b/public/images/emoji/emoji_one/kissing_heart.png index de246365c..5f96a71da 100644 Binary files a/public/images/emoji/emoji_one/kissing_heart.png and b/public/images/emoji/emoji_one/kissing_heart.png differ diff --git a/public/images/emoji/emoji_one/kissing_smiling_eyes.png b/public/images/emoji/emoji_one/kissing_smiling_eyes.png index 332745db8..d953846be 100644 Binary files a/public/images/emoji/emoji_one/kissing_smiling_eyes.png and b/public/images/emoji/emoji_one/kissing_smiling_eyes.png differ diff --git a/public/images/emoji/emoji_one/knife.png b/public/images/emoji/emoji_one/knife.png index a2243def0..0a362fcf9 100644 Binary files a/public/images/emoji/emoji_one/knife.png and b/public/images/emoji/emoji_one/knife.png differ diff --git a/public/images/emoji/emoji_one/koala.png b/public/images/emoji/emoji_one/koala.png index 765fbe5a0..468c0bbb5 100644 Binary files a/public/images/emoji/emoji_one/koala.png and b/public/images/emoji/emoji_one/koala.png differ diff --git a/public/images/emoji/emoji_one/koko.png b/public/images/emoji/emoji_one/koko.png index 6450eb44d..0f9165d56 100644 Binary files a/public/images/emoji/emoji_one/koko.png and b/public/images/emoji/emoji_one/koko.png differ diff --git a/public/images/emoji/emoji_one/kr.png b/public/images/emoji/emoji_one/kr.png index 538cfae7b..fe1d26475 100644 Binary files a/public/images/emoji/emoji_one/kr.png and b/public/images/emoji/emoji_one/kr.png differ diff --git a/public/images/emoji/emoji_one/label.png b/public/images/emoji/emoji_one/label.png index 265c0dfef..22ffb4e4f 100644 Binary files a/public/images/emoji/emoji_one/label.png and b/public/images/emoji/emoji_one/label.png differ diff --git a/public/images/emoji/emoji_one/lantern.png b/public/images/emoji/emoji_one/lantern.png deleted file mode 100644 index 85126b8bd..000000000 Binary files a/public/images/emoji/emoji_one/lantern.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/large_blue_circle.png b/public/images/emoji/emoji_one/large_blue_circle.png index 0b5c14eba..0b42623bb 100644 Binary files a/public/images/emoji/emoji_one/large_blue_circle.png and b/public/images/emoji/emoji_one/large_blue_circle.png differ diff --git a/public/images/emoji/emoji_one/large_blue_diamond.png b/public/images/emoji/emoji_one/large_blue_diamond.png index 416a58bd5..bc03e0bb1 100644 Binary files a/public/images/emoji/emoji_one/large_blue_diamond.png and b/public/images/emoji/emoji_one/large_blue_diamond.png differ diff --git a/public/images/emoji/emoji_one/large_orange_diamond.png b/public/images/emoji/emoji_one/large_orange_diamond.png index 7caa3f04e..a32f92466 100644 Binary files a/public/images/emoji/emoji_one/large_orange_diamond.png and b/public/images/emoji/emoji_one/large_orange_diamond.png differ diff --git a/public/images/emoji/emoji_one/last_quarter_moon.png b/public/images/emoji/emoji_one/last_quarter_moon.png index 0842a0dd4..6d1a11286 100644 Binary files a/public/images/emoji/emoji_one/last_quarter_moon.png and b/public/images/emoji/emoji_one/last_quarter_moon.png differ diff --git a/public/images/emoji/emoji_one/last_quarter_moon_with_face.png b/public/images/emoji/emoji_one/last_quarter_moon_with_face.png index 94099343c..abc381fa6 100644 Binary files a/public/images/emoji/emoji_one/last_quarter_moon_with_face.png and b/public/images/emoji/emoji_one/last_quarter_moon_with_face.png differ diff --git a/public/images/emoji/emoji_one/latin_cross.png b/public/images/emoji/emoji_one/latin_cross.png new file mode 100644 index 000000000..5a331bcf4 Binary files /dev/null and b/public/images/emoji/emoji_one/latin_cross.png differ diff --git a/public/images/emoji/emoji_one/laughing.png b/public/images/emoji/emoji_one/laughing.png index f9795a2df..a6594d2e5 100644 Binary files a/public/images/emoji/emoji_one/laughing.png and b/public/images/emoji/emoji_one/laughing.png differ diff --git a/public/images/emoji/emoji_one/leaves.png b/public/images/emoji/emoji_one/leaves.png index edf4f3bb9..fcbc57382 100644 Binary files a/public/images/emoji/emoji_one/leaves.png and b/public/images/emoji/emoji_one/leaves.png differ diff --git a/public/images/emoji/emoji_one/ledger.png b/public/images/emoji/emoji_one/ledger.png index 3c8cd00fc..338872091 100644 Binary files a/public/images/emoji/emoji_one/ledger.png and b/public/images/emoji/emoji_one/ledger.png differ diff --git a/public/images/emoji/emoji_one/left_luggage.png b/public/images/emoji/emoji_one/left_luggage.png index 56f91bca1..06c44012f 100644 Binary files a/public/images/emoji/emoji_one/left_luggage.png and b/public/images/emoji/emoji_one/left_luggage.png differ diff --git a/public/images/emoji/emoji_one/left_right_arrow.png b/public/images/emoji/emoji_one/left_right_arrow.png index 7937f24f2..dec7a1283 100644 Binary files a/public/images/emoji/emoji_one/left_right_arrow.png and b/public/images/emoji/emoji_one/left_right_arrow.png differ diff --git a/public/images/emoji/emoji_one/left_speech_bubble.png b/public/images/emoji/emoji_one/left_speech_bubble.png new file mode 100644 index 000000000..512d9b804 Binary files /dev/null and b/public/images/emoji/emoji_one/left_speech_bubble.png differ diff --git a/public/images/emoji/emoji_one/leftwards_arrow_with_hook.png b/public/images/emoji/emoji_one/leftwards_arrow_with_hook.png index c8ffae20f..84591b345 100644 Binary files a/public/images/emoji/emoji_one/leftwards_arrow_with_hook.png and b/public/images/emoji/emoji_one/leftwards_arrow_with_hook.png differ diff --git a/public/images/emoji/emoji_one/lemon.png b/public/images/emoji/emoji_one/lemon.png index 13875e24a..41cde313e 100644 Binary files a/public/images/emoji/emoji_one/lemon.png and b/public/images/emoji/emoji_one/lemon.png differ diff --git a/public/images/emoji/emoji_one/leo.png b/public/images/emoji/emoji_one/leo.png index 30158d34d..b7e388b5d 100644 Binary files a/public/images/emoji/emoji_one/leo.png and b/public/images/emoji/emoji_one/leo.png differ diff --git a/public/images/emoji/emoji_one/leopard.png b/public/images/emoji/emoji_one/leopard.png index 5731f1470..16ff654c7 100644 Binary files a/public/images/emoji/emoji_one/leopard.png and b/public/images/emoji/emoji_one/leopard.png differ diff --git a/public/images/emoji/emoji_one/level_slider.png b/public/images/emoji/emoji_one/level_slider.png index 35e652201..5879173a6 100644 Binary files a/public/images/emoji/emoji_one/level_slider.png and b/public/images/emoji/emoji_one/level_slider.png differ diff --git a/public/images/emoji/emoji_one/levitate.png b/public/images/emoji/emoji_one/levitate.png index f8519a691..bd51cd5fb 100644 Binary files a/public/images/emoji/emoji_one/levitate.png and b/public/images/emoji/emoji_one/levitate.png differ diff --git a/public/images/emoji/emoji_one/libra.png b/public/images/emoji/emoji_one/libra.png index 8fd133a35..2d6cfe28b 100644 Binary files a/public/images/emoji/emoji_one/libra.png and b/public/images/emoji/emoji_one/libra.png differ diff --git a/public/images/emoji/emoji_one/lifter.png b/public/images/emoji/emoji_one/lifter.png index 6bcb76625..987fafb21 100644 Binary files a/public/images/emoji/emoji_one/lifter.png and b/public/images/emoji/emoji_one/lifter.png differ diff --git a/public/images/emoji/emoji_one/light_rail.png b/public/images/emoji/emoji_one/light_rail.png index 41cbde830..b079274ba 100644 Binary files a/public/images/emoji/emoji_one/light_rail.png and b/public/images/emoji/emoji_one/light_rail.png differ diff --git a/public/images/emoji/emoji_one/link.png b/public/images/emoji/emoji_one/link.png index ae20f0f8e..199b86680 100644 Binary files a/public/images/emoji/emoji_one/link.png and b/public/images/emoji/emoji_one/link.png differ diff --git a/public/images/emoji/emoji_one/linked_paperclips.png b/public/images/emoji/emoji_one/linked_paperclips.png new file mode 100644 index 000000000..baf54b2f8 Binary files /dev/null and b/public/images/emoji/emoji_one/linked_paperclips.png differ diff --git a/public/images/emoji/emoji_one/lion.png b/public/images/emoji/emoji_one/lion.png new file mode 100644 index 000000000..7890db8dd Binary files /dev/null and b/public/images/emoji/emoji_one/lion.png differ diff --git a/public/images/emoji/emoji_one/lion_face.png b/public/images/emoji/emoji_one/lion_face.png index bfdd7789e..7890db8dd 100644 Binary files a/public/images/emoji/emoji_one/lion_face.png and b/public/images/emoji/emoji_one/lion_face.png differ diff --git a/public/images/emoji/emoji_one/lips.png b/public/images/emoji/emoji_one/lips.png index 7ee07d64c..5db7e3d68 100644 Binary files a/public/images/emoji/emoji_one/lips.png and b/public/images/emoji/emoji_one/lips.png differ diff --git a/public/images/emoji/emoji_one/lipstick.png b/public/images/emoji/emoji_one/lipstick.png index 4821392a7..154d2ee2e 100644 Binary files a/public/images/emoji/emoji_one/lipstick.png and b/public/images/emoji/emoji_one/lipstick.png differ diff --git a/public/images/emoji/emoji_one/lock.png b/public/images/emoji/emoji_one/lock.png index d58f08a4f..cbb7d5a27 100644 Binary files a/public/images/emoji/emoji_one/lock.png and b/public/images/emoji/emoji_one/lock.png differ diff --git a/public/images/emoji/emoji_one/lock_with_ink_pen.png b/public/images/emoji/emoji_one/lock_with_ink_pen.png index bde661131..46a651189 100644 Binary files a/public/images/emoji/emoji_one/lock_with_ink_pen.png and b/public/images/emoji/emoji_one/lock_with_ink_pen.png differ diff --git a/public/images/emoji/emoji_one/lollipop.png b/public/images/emoji/emoji_one/lollipop.png index ad76d7bf9..6ae4cfc7d 100644 Binary files a/public/images/emoji/emoji_one/lollipop.png and b/public/images/emoji/emoji_one/lollipop.png differ diff --git a/public/images/emoji/emoji_one/loop.png b/public/images/emoji/emoji_one/loop.png index 4307dd73e..b9c086ba7 100644 Binary files a/public/images/emoji/emoji_one/loop.png and b/public/images/emoji/emoji_one/loop.png differ diff --git a/public/images/emoji/emoji_one/loud_sound.png b/public/images/emoji/emoji_one/loud_sound.png index 5bcf9a531..977df712c 100644 Binary files a/public/images/emoji/emoji_one/loud_sound.png and b/public/images/emoji/emoji_one/loud_sound.png differ diff --git a/public/images/emoji/emoji_one/loudspeaker.png b/public/images/emoji/emoji_one/loudspeaker.png index 954a69678..041069fe7 100644 Binary files a/public/images/emoji/emoji_one/loudspeaker.png and b/public/images/emoji/emoji_one/loudspeaker.png differ diff --git a/public/images/emoji/emoji_one/love_hotel.png b/public/images/emoji/emoji_one/love_hotel.png index bc3630b8e..b3bdf56da 100644 Binary files a/public/images/emoji/emoji_one/love_hotel.png and b/public/images/emoji/emoji_one/love_hotel.png differ diff --git a/public/images/emoji/emoji_one/love_letter.png b/public/images/emoji/emoji_one/love_letter.png index 3c3c767e7..5e4ab6898 100644 Binary files a/public/images/emoji/emoji_one/love_letter.png and b/public/images/emoji/emoji_one/love_letter.png differ diff --git a/public/images/emoji/emoji_one/low_brightness.png b/public/images/emoji/emoji_one/low_brightness.png index 543011d39..26162219d 100644 Binary files a/public/images/emoji/emoji_one/low_brightness.png and b/public/images/emoji/emoji_one/low_brightness.png differ diff --git a/public/images/emoji/emoji_one/lower_left_ballpoint_pen.png b/public/images/emoji/emoji_one/lower_left_ballpoint_pen.png new file mode 100644 index 000000000..368612e54 Binary files /dev/null and b/public/images/emoji/emoji_one/lower_left_ballpoint_pen.png differ diff --git a/public/images/emoji/emoji_one/lower_left_crayon.png b/public/images/emoji/emoji_one/lower_left_crayon.png new file mode 100644 index 000000000..25d67f1d7 Binary files /dev/null and b/public/images/emoji/emoji_one/lower_left_crayon.png differ diff --git a/public/images/emoji/emoji_one/lower_left_fountain_pen.png b/public/images/emoji/emoji_one/lower_left_fountain_pen.png new file mode 100644 index 000000000..9ca6da5a0 Binary files /dev/null and b/public/images/emoji/emoji_one/lower_left_fountain_pen.png differ diff --git a/public/images/emoji/emoji_one/lower_left_paintbrush.png b/public/images/emoji/emoji_one/lower_left_paintbrush.png new file mode 100644 index 000000000..eb2b75071 Binary files /dev/null and b/public/images/emoji/emoji_one/lower_left_paintbrush.png differ diff --git a/public/images/emoji/emoji_one/m.png b/public/images/emoji/emoji_one/m.png index 8a3506fc1..8d84b5342 100644 Binary files a/public/images/emoji/emoji_one/m.png and b/public/images/emoji/emoji_one/m.png differ diff --git a/public/images/emoji/emoji_one/mag.png b/public/images/emoji/emoji_one/mag.png index eefa11155..6f5fec0a4 100644 Binary files a/public/images/emoji/emoji_one/mag.png and b/public/images/emoji/emoji_one/mag.png differ diff --git a/public/images/emoji/emoji_one/mag_right.png b/public/images/emoji/emoji_one/mag_right.png index 08f2188cc..381f74d33 100644 Binary files a/public/images/emoji/emoji_one/mag_right.png and b/public/images/emoji/emoji_one/mag_right.png differ diff --git a/public/images/emoji/emoji_one/mahjong.png b/public/images/emoji/emoji_one/mahjong.png index 91da27468..0627b17ed 100644 Binary files a/public/images/emoji/emoji_one/mahjong.png and b/public/images/emoji/emoji_one/mahjong.png differ diff --git a/public/images/emoji/emoji_one/mailbox.png b/public/images/emoji/emoji_one/mailbox.png index 5669d6b55..259fe416b 100644 Binary files a/public/images/emoji/emoji_one/mailbox.png and b/public/images/emoji/emoji_one/mailbox.png differ diff --git a/public/images/emoji/emoji_one/mailbox_closed.png b/public/images/emoji/emoji_one/mailbox_closed.png index aca235f3f..1cf5d5a13 100644 Binary files a/public/images/emoji/emoji_one/mailbox_closed.png and b/public/images/emoji/emoji_one/mailbox_closed.png differ diff --git a/public/images/emoji/emoji_one/mailbox_with_mail.png b/public/images/emoji/emoji_one/mailbox_with_mail.png index 58b8e5203..7ea294514 100644 Binary files a/public/images/emoji/emoji_one/mailbox_with_mail.png and b/public/images/emoji/emoji_one/mailbox_with_mail.png differ diff --git a/public/images/emoji/emoji_one/mailbox_with_no_mail.png b/public/images/emoji/emoji_one/mailbox_with_no_mail.png index 94eb3d943..4155c11ec 100644 Binary files a/public/images/emoji/emoji_one/mailbox_with_no_mail.png and b/public/images/emoji/emoji_one/mailbox_with_no_mail.png differ diff --git a/public/images/emoji/emoji_one/male_couple_with_heart.png b/public/images/emoji/emoji_one/male_couple_with_heart.png new file mode 100644 index 000000000..734ac58d6 Binary files /dev/null and b/public/images/emoji/emoji_one/male_couple_with_heart.png differ diff --git a/public/images/emoji/emoji_one/male_couplekiss.png b/public/images/emoji/emoji_one/male_couplekiss.png new file mode 100644 index 000000000..9c9a56b4f Binary files /dev/null and b/public/images/emoji/emoji_one/male_couplekiss.png differ diff --git a/public/images/emoji/emoji_one/man.png b/public/images/emoji/emoji_one/man.png index e96489099..e4a0cc76a 100644 Binary files a/public/images/emoji/emoji_one/man.png and b/public/images/emoji/emoji_one/man.png differ diff --git a/public/images/emoji/emoji_one/man_in_business_suit_levitating.png b/public/images/emoji/emoji_one/man_in_business_suit_levitating.png new file mode 100644 index 000000000..bd51cd5fb Binary files /dev/null and b/public/images/emoji/emoji_one/man_in_business_suit_levitating.png differ diff --git a/public/images/emoji/emoji_one/man_with_gua_pi_mao.png b/public/images/emoji/emoji_one/man_with_gua_pi_mao.png index 3baa775a7..aebef5091 100644 Binary files a/public/images/emoji/emoji_one/man_with_gua_pi_mao.png and b/public/images/emoji/emoji_one/man_with_gua_pi_mao.png differ diff --git a/public/images/emoji/emoji_one/man_with_turban.png b/public/images/emoji/emoji_one/man_with_turban.png index 672c929de..4f237ee9c 100644 Binary files a/public/images/emoji/emoji_one/man_with_turban.png and b/public/images/emoji/emoji_one/man_with_turban.png differ diff --git a/public/images/emoji/emoji_one/mans_shoe.png b/public/images/emoji/emoji_one/mans_shoe.png index 3be6b5e66..98894d84f 100644 Binary files a/public/images/emoji/emoji_one/mans_shoe.png and b/public/images/emoji/emoji_one/mans_shoe.png differ diff --git a/public/images/emoji/emoji_one/mantlepiece_clock.png b/public/images/emoji/emoji_one/mantlepiece_clock.png new file mode 100644 index 000000000..e1a553104 Binary files /dev/null and b/public/images/emoji/emoji_one/mantlepiece_clock.png differ diff --git a/public/images/emoji/emoji_one/map.png b/public/images/emoji/emoji_one/map.png index 6aad7a1c5..83ac37345 100644 Binary files a/public/images/emoji/emoji_one/map.png and b/public/images/emoji/emoji_one/map.png differ diff --git a/public/images/emoji/emoji_one/maple_leaf.png b/public/images/emoji/emoji_one/maple_leaf.png index 362622e12..cd5f7f309 100644 Binary files a/public/images/emoji/emoji_one/maple_leaf.png and b/public/images/emoji/emoji_one/maple_leaf.png differ diff --git a/public/images/emoji/emoji_one/mask.png b/public/images/emoji/emoji_one/mask.png index 94ed0f532..af3686bb5 100644 Binary files a/public/images/emoji/emoji_one/mask.png and b/public/images/emoji/emoji_one/mask.png differ diff --git a/public/images/emoji/emoji_one/massage.png b/public/images/emoji/emoji_one/massage.png index b91d845e3..27aafd05c 100644 Binary files a/public/images/emoji/emoji_one/massage.png and b/public/images/emoji/emoji_one/massage.png differ diff --git a/public/images/emoji/emoji_one/meat_on_bone.png b/public/images/emoji/emoji_one/meat_on_bone.png index b20a59d16..ff8398d92 100644 Binary files a/public/images/emoji/emoji_one/meat_on_bone.png and b/public/images/emoji/emoji_one/meat_on_bone.png differ diff --git a/public/images/emoji/emoji_one/medal.png b/public/images/emoji/emoji_one/medal.png index 881647f97..b5f122fc5 100644 Binary files a/public/images/emoji/emoji_one/medal.png and b/public/images/emoji/emoji_one/medal.png differ diff --git a/public/images/emoji/emoji_one/mega.png b/public/images/emoji/emoji_one/mega.png index 3abf4c8b7..683e6c695 100644 Binary files a/public/images/emoji/emoji_one/mega.png and b/public/images/emoji/emoji_one/mega.png differ diff --git a/public/images/emoji/emoji_one/melon.png b/public/images/emoji/emoji_one/melon.png index c01232d41..d4a234514 100644 Binary files a/public/images/emoji/emoji_one/melon.png and b/public/images/emoji/emoji_one/melon.png differ diff --git a/public/images/emoji/emoji_one/memo.png b/public/images/emoji/emoji_one/memo.png deleted file mode 100644 index 7e8459b41..000000000 Binary files a/public/images/emoji/emoji_one/memo.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/menorah.png b/public/images/emoji/emoji_one/menorah.png index db0a00bde..5baf6ee47 100644 Binary files a/public/images/emoji/emoji_one/menorah.png and b/public/images/emoji/emoji_one/menorah.png differ diff --git a/public/images/emoji/emoji_one/mens.png b/public/images/emoji/emoji_one/mens.png index f5a1e1ba0..51926e328 100644 Binary files a/public/images/emoji/emoji_one/mens.png and b/public/images/emoji/emoji_one/mens.png differ diff --git a/public/images/emoji/emoji_one/metal.png b/public/images/emoji/emoji_one/metal.png index 8d8e03934..da08837ff 100644 Binary files a/public/images/emoji/emoji_one/metal.png and b/public/images/emoji/emoji_one/metal.png differ diff --git a/public/images/emoji/emoji_one/metro.png b/public/images/emoji/emoji_one/metro.png index b9319d1dc..0d064ec8d 100644 Binary files a/public/images/emoji/emoji_one/metro.png and b/public/images/emoji/emoji_one/metro.png differ diff --git a/public/images/emoji/emoji_one/microphone.png b/public/images/emoji/emoji_one/microphone.png index 5121ebe4b..57392f0f8 100644 Binary files a/public/images/emoji/emoji_one/microphone.png and b/public/images/emoji/emoji_one/microphone.png differ diff --git a/public/images/emoji/emoji_one/microphone2.png b/public/images/emoji/emoji_one/microphone2.png index 4dd217dfc..807d3bac9 100644 Binary files a/public/images/emoji/emoji_one/microphone2.png and b/public/images/emoji/emoji_one/microphone2.png differ diff --git a/public/images/emoji/emoji_one/microscope.png b/public/images/emoji/emoji_one/microscope.png index 2b43123a1..6ea8d4992 100644 Binary files a/public/images/emoji/emoji_one/microscope.png and b/public/images/emoji/emoji_one/microscope.png differ diff --git a/public/images/emoji/emoji_one/middle_finger.png b/public/images/emoji/emoji_one/middle_finger.png index f0ca24629..6f99e17bd 100644 Binary files a/public/images/emoji/emoji_one/middle_finger.png and b/public/images/emoji/emoji_one/middle_finger.png differ diff --git a/public/images/emoji/emoji_one/military_medal.png b/public/images/emoji/emoji_one/military_medal.png index b3fc4881c..b6a38f186 100644 Binary files a/public/images/emoji/emoji_one/military_medal.png and b/public/images/emoji/emoji_one/military_medal.png differ diff --git a/public/images/emoji/emoji_one/milky_way.png b/public/images/emoji/emoji_one/milky_way.png index f688af2a0..b6e08e1d9 100644 Binary files a/public/images/emoji/emoji_one/milky_way.png and b/public/images/emoji/emoji_one/milky_way.png differ diff --git a/public/images/emoji/emoji_one/minibus.png b/public/images/emoji/emoji_one/minibus.png index d24ebfc94..9594f5f3c 100644 Binary files a/public/images/emoji/emoji_one/minibus.png and b/public/images/emoji/emoji_one/minibus.png differ diff --git a/public/images/emoji/emoji_one/minidisc.png b/public/images/emoji/emoji_one/minidisc.png index 9fa94cfbe..d77c0a05d 100644 Binary files a/public/images/emoji/emoji_one/minidisc.png and b/public/images/emoji/emoji_one/minidisc.png differ diff --git a/public/images/emoji/emoji_one/mobile_phone_off.png b/public/images/emoji/emoji_one/mobile_phone_off.png index 8b661ec1c..469367a67 100644 Binary files a/public/images/emoji/emoji_one/mobile_phone_off.png and b/public/images/emoji/emoji_one/mobile_phone_off.png differ diff --git a/public/images/emoji/emoji_one/money_mouth.png b/public/images/emoji/emoji_one/money_mouth.png index f1ff16f95..267d6c164 100644 Binary files a/public/images/emoji/emoji_one/money_mouth.png and b/public/images/emoji/emoji_one/money_mouth.png differ diff --git a/public/images/emoji/emoji_one/money_mouth_face.png b/public/images/emoji/emoji_one/money_mouth_face.png new file mode 100644 index 000000000..267d6c164 Binary files /dev/null and b/public/images/emoji/emoji_one/money_mouth_face.png differ diff --git a/public/images/emoji/emoji_one/money_with_wings.png b/public/images/emoji/emoji_one/money_with_wings.png index bd3f21c2d..805ac8afd 100644 Binary files a/public/images/emoji/emoji_one/money_with_wings.png and b/public/images/emoji/emoji_one/money_with_wings.png differ diff --git a/public/images/emoji/emoji_one/moneybag.png b/public/images/emoji/emoji_one/moneybag.png index 09f6159a6..6239b8e4e 100644 Binary files a/public/images/emoji/emoji_one/moneybag.png and b/public/images/emoji/emoji_one/moneybag.png differ diff --git a/public/images/emoji/emoji_one/monkey.png b/public/images/emoji/emoji_one/monkey.png index 9fae29448..08733713d 100644 Binary files a/public/images/emoji/emoji_one/monkey.png and b/public/images/emoji/emoji_one/monkey.png differ diff --git a/public/images/emoji/emoji_one/monkey_face.png b/public/images/emoji/emoji_one/monkey_face.png index 7cab9b91a..841f3d3c1 100644 Binary files a/public/images/emoji/emoji_one/monkey_face.png and b/public/images/emoji/emoji_one/monkey_face.png differ diff --git a/public/images/emoji/emoji_one/monorail.png b/public/images/emoji/emoji_one/monorail.png index ada1ccbaa..e7099b869 100644 Binary files a/public/images/emoji/emoji_one/monorail.png and b/public/images/emoji/emoji_one/monorail.png differ diff --git a/public/images/emoji/emoji_one/moon.png b/public/images/emoji/emoji_one/moon.png deleted file mode 100644 index a46b0a92d..000000000 Binary files a/public/images/emoji/emoji_one/moon.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/mortar_board.png b/public/images/emoji/emoji_one/mortar_board.png index 6bffb3fbd..5e40cf898 100644 Binary files a/public/images/emoji/emoji_one/mortar_board.png and b/public/images/emoji/emoji_one/mortar_board.png differ diff --git a/public/images/emoji/emoji_one/mosque.png b/public/images/emoji/emoji_one/mosque.png index 165e832e8..158222fe4 100644 Binary files a/public/images/emoji/emoji_one/mosque.png and b/public/images/emoji/emoji_one/mosque.png differ diff --git a/public/images/emoji/emoji_one/motorboat.png b/public/images/emoji/emoji_one/motorboat.png index 9b5dbd264..fe090e9cc 100644 Binary files a/public/images/emoji/emoji_one/motorboat.png and b/public/images/emoji/emoji_one/motorboat.png differ diff --git a/public/images/emoji/emoji_one/motorcycle.png b/public/images/emoji/emoji_one/motorcycle.png index 3d1d567e8..be62ca41f 100644 Binary files a/public/images/emoji/emoji_one/motorcycle.png and b/public/images/emoji/emoji_one/motorcycle.png differ diff --git a/public/images/emoji/emoji_one/motorway.png b/public/images/emoji/emoji_one/motorway.png index 8c3d3d03e..cae0bce15 100644 Binary files a/public/images/emoji/emoji_one/motorway.png and b/public/images/emoji/emoji_one/motorway.png differ diff --git a/public/images/emoji/emoji_one/mount_fuji.png b/public/images/emoji/emoji_one/mount_fuji.png index 093472cad..94fdf69b3 100644 Binary files a/public/images/emoji/emoji_one/mount_fuji.png and b/public/images/emoji/emoji_one/mount_fuji.png differ diff --git a/public/images/emoji/emoji_one/mountain.png b/public/images/emoji/emoji_one/mountain.png index 24ca9cdc0..7d01279c2 100644 Binary files a/public/images/emoji/emoji_one/mountain.png and b/public/images/emoji/emoji_one/mountain.png differ diff --git a/public/images/emoji/emoji_one/mountain_bicyclist.png b/public/images/emoji/emoji_one/mountain_bicyclist.png index 9a3339e0a..202e911d3 100644 Binary files a/public/images/emoji/emoji_one/mountain_bicyclist.png and b/public/images/emoji/emoji_one/mountain_bicyclist.png differ diff --git a/public/images/emoji/emoji_one/mountain_cableway.png b/public/images/emoji/emoji_one/mountain_cableway.png index afbccdfaf..aa24ad366 100644 Binary files a/public/images/emoji/emoji_one/mountain_cableway.png and b/public/images/emoji/emoji_one/mountain_cableway.png differ diff --git a/public/images/emoji/emoji_one/mountain_railway.png b/public/images/emoji/emoji_one/mountain_railway.png index a84ae8b24..0c365f936 100644 Binary files a/public/images/emoji/emoji_one/mountain_railway.png and b/public/images/emoji/emoji_one/mountain_railway.png differ diff --git a/public/images/emoji/emoji_one/mountain_snow.png b/public/images/emoji/emoji_one/mountain_snow.png index 142b43a5f..fcf09dab6 100644 Binary files a/public/images/emoji/emoji_one/mountain_snow.png and b/public/images/emoji/emoji_one/mountain_snow.png differ diff --git a/public/images/emoji/emoji_one/mouse.png b/public/images/emoji/emoji_one/mouse.png index 9b35a6dea..98ff28c82 100644 Binary files a/public/images/emoji/emoji_one/mouse.png and b/public/images/emoji/emoji_one/mouse.png differ diff --git a/public/images/emoji/emoji_one/mouse2.png b/public/images/emoji/emoji_one/mouse2.png index a12dc8844..eaed642c7 100644 Binary files a/public/images/emoji/emoji_one/mouse2.png and b/public/images/emoji/emoji_one/mouse2.png differ diff --git a/public/images/emoji/emoji_one/mouse_three_button.png b/public/images/emoji/emoji_one/mouse_three_button.png index 0dad6ac99..b03f1583b 100644 Binary files a/public/images/emoji/emoji_one/mouse_three_button.png and b/public/images/emoji/emoji_one/mouse_three_button.png differ diff --git a/public/images/emoji/emoji_one/movie_camera.png b/public/images/emoji/emoji_one/movie_camera.png index 4e73b1301..65b156c33 100644 Binary files a/public/images/emoji/emoji_one/movie_camera.png and b/public/images/emoji/emoji_one/movie_camera.png differ diff --git a/public/images/emoji/emoji_one/moyai.png b/public/images/emoji/emoji_one/moyai.png index 20f2ece43..88e53a2d9 100644 Binary files a/public/images/emoji/emoji_one/moyai.png and b/public/images/emoji/emoji_one/moyai.png differ diff --git a/public/images/emoji/emoji_one/muscle.png b/public/images/emoji/emoji_one/muscle.png index 7e67c1880..e8cff18af 100644 Binary files a/public/images/emoji/emoji_one/muscle.png and b/public/images/emoji/emoji_one/muscle.png differ diff --git a/public/images/emoji/emoji_one/mushroom.png b/public/images/emoji/emoji_one/mushroom.png index dd85742ba..a755e1dca 100644 Binary files a/public/images/emoji/emoji_one/mushroom.png and b/public/images/emoji/emoji_one/mushroom.png differ diff --git a/public/images/emoji/emoji_one/musical_keyboard.png b/public/images/emoji/emoji_one/musical_keyboard.png index aafee8f37..af3c2cf87 100644 Binary files a/public/images/emoji/emoji_one/musical_keyboard.png and b/public/images/emoji/emoji_one/musical_keyboard.png differ diff --git a/public/images/emoji/emoji_one/musical_note.png b/public/images/emoji/emoji_one/musical_note.png index 09b7b3c1a..c7ea06d53 100644 Binary files a/public/images/emoji/emoji_one/musical_note.png and b/public/images/emoji/emoji_one/musical_note.png differ diff --git a/public/images/emoji/emoji_one/musical_score.png b/public/images/emoji/emoji_one/musical_score.png index 47dc05a8e..6f8204be5 100644 Binary files a/public/images/emoji/emoji_one/musical_score.png and b/public/images/emoji/emoji_one/musical_score.png differ diff --git a/public/images/emoji/emoji_one/mute.png b/public/images/emoji/emoji_one/mute.png index fed50012f..1db8a5659 100644 Binary files a/public/images/emoji/emoji_one/mute.png and b/public/images/emoji/emoji_one/mute.png differ diff --git a/public/images/emoji/emoji_one/nail_care.png b/public/images/emoji/emoji_one/nail_care.png index 222eddb16..92fd62fc5 100644 Binary files a/public/images/emoji/emoji_one/nail_care.png and b/public/images/emoji/emoji_one/nail_care.png differ diff --git a/public/images/emoji/emoji_one/name_badge.png b/public/images/emoji/emoji_one/name_badge.png index c2f3e8d70..c1b6c30da 100644 Binary files a/public/images/emoji/emoji_one/name_badge.png and b/public/images/emoji/emoji_one/name_badge.png differ diff --git a/public/images/emoji/emoji_one/national_park.png b/public/images/emoji/emoji_one/national_park.png new file mode 100644 index 000000000..65a3d29cc Binary files /dev/null and b/public/images/emoji/emoji_one/national_park.png differ diff --git a/public/images/emoji/emoji_one/necktie.png b/public/images/emoji/emoji_one/necktie.png index 1804e7f3f..a3f70d6ba 100644 Binary files a/public/images/emoji/emoji_one/necktie.png and b/public/images/emoji/emoji_one/necktie.png differ diff --git a/public/images/emoji/emoji_one/negative_squared_cross_mark.png b/public/images/emoji/emoji_one/negative_squared_cross_mark.png index dae487f1f..aefbc66f6 100644 Binary files a/public/images/emoji/emoji_one/negative_squared_cross_mark.png and b/public/images/emoji/emoji_one/negative_squared_cross_mark.png differ diff --git a/public/images/emoji/emoji_one/nerd.png b/public/images/emoji/emoji_one/nerd.png index 68d4fb60a..f546c07bb 100644 Binary files a/public/images/emoji/emoji_one/nerd.png and b/public/images/emoji/emoji_one/nerd.png differ diff --git a/public/images/emoji/emoji_one/nerd_face.png b/public/images/emoji/emoji_one/nerd_face.png new file mode 100644 index 000000000..f546c07bb Binary files /dev/null and b/public/images/emoji/emoji_one/nerd_face.png differ diff --git a/public/images/emoji/emoji_one/neutral_face.png b/public/images/emoji/emoji_one/neutral_face.png index 2de6706c2..5f30ea932 100644 Binary files a/public/images/emoji/emoji_one/neutral_face.png and b/public/images/emoji/emoji_one/neutral_face.png differ diff --git a/public/images/emoji/emoji_one/new.png b/public/images/emoji/emoji_one/new.png index b82a164c5..f892ce6d2 100644 Binary files a/public/images/emoji/emoji_one/new.png and b/public/images/emoji/emoji_one/new.png differ diff --git a/public/images/emoji/emoji_one/new_moon.png b/public/images/emoji/emoji_one/new_moon.png index cb641f634..6595a81e1 100644 Binary files a/public/images/emoji/emoji_one/new_moon.png and b/public/images/emoji/emoji_one/new_moon.png differ diff --git a/public/images/emoji/emoji_one/new_moon_with_face.png b/public/images/emoji/emoji_one/new_moon_with_face.png index 6dee95cbc..055b146a9 100644 Binary files a/public/images/emoji/emoji_one/new_moon_with_face.png and b/public/images/emoji/emoji_one/new_moon_with_face.png differ diff --git a/public/images/emoji/emoji_one/newspaper.png b/public/images/emoji/emoji_one/newspaper.png index 2aa8f060b..d0a306b46 100644 Binary files a/public/images/emoji/emoji_one/newspaper.png and b/public/images/emoji/emoji_one/newspaper.png differ diff --git a/public/images/emoji/emoji_one/newspaper2.png b/public/images/emoji/emoji_one/newspaper2.png index 659607e04..9bab1e549 100644 Binary files a/public/images/emoji/emoji_one/newspaper2.png and b/public/images/emoji/emoji_one/newspaper2.png differ diff --git a/public/images/emoji/emoji_one/next_track.png b/public/images/emoji/emoji_one/next_track.png new file mode 100644 index 000000000..1e6fc4c14 Binary files /dev/null and b/public/images/emoji/emoji_one/next_track.png differ diff --git a/public/images/emoji/emoji_one/ng.png b/public/images/emoji/emoji_one/ng.png index 032c5b806..d547ef97e 100644 Binary files a/public/images/emoji/emoji_one/ng.png and b/public/images/emoji/emoji_one/ng.png differ diff --git a/public/images/emoji/emoji_one/night_with_stars.png b/public/images/emoji/emoji_one/night_with_stars.png index ca2018f45..94d0623d9 100644 Binary files a/public/images/emoji/emoji_one/night_with_stars.png and b/public/images/emoji/emoji_one/night_with_stars.png differ diff --git a/public/images/emoji/emoji_one/nine.png b/public/images/emoji/emoji_one/nine.png index 9fce3d1ec..e69de29bb 100644 Binary files a/public/images/emoji/emoji_one/nine.png and b/public/images/emoji/emoji_one/nine.png differ diff --git a/public/images/emoji/emoji_one/no_bell.png b/public/images/emoji/emoji_one/no_bell.png index a2b59ba74..7fd601d02 100644 Binary files a/public/images/emoji/emoji_one/no_bell.png and b/public/images/emoji/emoji_one/no_bell.png differ diff --git a/public/images/emoji/emoji_one/no_bicycles.png b/public/images/emoji/emoji_one/no_bicycles.png index 88516566b..cfee56d49 100644 Binary files a/public/images/emoji/emoji_one/no_bicycles.png and b/public/images/emoji/emoji_one/no_bicycles.png differ diff --git a/public/images/emoji/emoji_one/no_entry.png b/public/images/emoji/emoji_one/no_entry.png index 476800fc5..bcdddec2b 100644 Binary files a/public/images/emoji/emoji_one/no_entry.png and b/public/images/emoji/emoji_one/no_entry.png differ diff --git a/public/images/emoji/emoji_one/no_entry_sign.png b/public/images/emoji/emoji_one/no_entry_sign.png index d2efd65e7..2330f8a8b 100644 Binary files a/public/images/emoji/emoji_one/no_entry_sign.png and b/public/images/emoji/emoji_one/no_entry_sign.png differ diff --git a/public/images/emoji/emoji_one/no_good.png b/public/images/emoji/emoji_one/no_good.png index c6cae6688..e5390d78d 100644 Binary files a/public/images/emoji/emoji_one/no_good.png and b/public/images/emoji/emoji_one/no_good.png differ diff --git a/public/images/emoji/emoji_one/no_mobile_phones.png b/public/images/emoji/emoji_one/no_mobile_phones.png index b80d515b2..24954213f 100644 Binary files a/public/images/emoji/emoji_one/no_mobile_phones.png and b/public/images/emoji/emoji_one/no_mobile_phones.png differ diff --git a/public/images/emoji/emoji_one/no_mouth.png b/public/images/emoji/emoji_one/no_mouth.png index 5fc231647..f604605fe 100644 Binary files a/public/images/emoji/emoji_one/no_mouth.png and b/public/images/emoji/emoji_one/no_mouth.png differ diff --git a/public/images/emoji/emoji_one/no_pedestrians.png b/public/images/emoji/emoji_one/no_pedestrians.png index 286aa577a..1790f7541 100644 Binary files a/public/images/emoji/emoji_one/no_pedestrians.png and b/public/images/emoji/emoji_one/no_pedestrians.png differ diff --git a/public/images/emoji/emoji_one/no_smoking.png b/public/images/emoji/emoji_one/no_smoking.png index 844e2576e..c276e0b0f 100644 Binary files a/public/images/emoji/emoji_one/no_smoking.png and b/public/images/emoji/emoji_one/no_smoking.png differ diff --git a/public/images/emoji/emoji_one/non-potable_water.png b/public/images/emoji/emoji_one/non-potable_water.png index 827d4193f..59f6e800d 100644 Binary files a/public/images/emoji/emoji_one/non-potable_water.png and b/public/images/emoji/emoji_one/non-potable_water.png differ diff --git a/public/images/emoji/emoji_one/nose.png b/public/images/emoji/emoji_one/nose.png index fb2bc10d6..d4dd8f8aa 100644 Binary files a/public/images/emoji/emoji_one/nose.png and b/public/images/emoji/emoji_one/nose.png differ diff --git a/public/images/emoji/emoji_one/notebook.png b/public/images/emoji/emoji_one/notebook.png index 7bae29fea..3f1edfc00 100644 Binary files a/public/images/emoji/emoji_one/notebook.png and b/public/images/emoji/emoji_one/notebook.png differ diff --git a/public/images/emoji/emoji_one/notebook_with_decorative_cover.png b/public/images/emoji/emoji_one/notebook_with_decorative_cover.png index 31a86eeab..de9c79d58 100644 Binary files a/public/images/emoji/emoji_one/notebook_with_decorative_cover.png and b/public/images/emoji/emoji_one/notebook_with_decorative_cover.png differ diff --git a/public/images/emoji/emoji_one/notepad_spiral.png b/public/images/emoji/emoji_one/notepad_spiral.png index d5ac203e6..3137300cb 100644 Binary files a/public/images/emoji/emoji_one/notepad_spiral.png and b/public/images/emoji/emoji_one/notepad_spiral.png differ diff --git a/public/images/emoji/emoji_one/notes.png b/public/images/emoji/emoji_one/notes.png index 3aee0343b..2d0a69553 100644 Binary files a/public/images/emoji/emoji_one/notes.png and b/public/images/emoji/emoji_one/notes.png differ diff --git a/public/images/emoji/emoji_one/nut_and_bolt.png b/public/images/emoji/emoji_one/nut_and_bolt.png index b185c7bbb..2e97676a8 100644 Binary files a/public/images/emoji/emoji_one/nut_and_bolt.png and b/public/images/emoji/emoji_one/nut_and_bolt.png differ diff --git a/public/images/emoji/emoji_one/o.png b/public/images/emoji/emoji_one/o.png index c04b7a95a..f34a9c98b 100644 Binary files a/public/images/emoji/emoji_one/o.png and b/public/images/emoji/emoji_one/o.png differ diff --git a/public/images/emoji/emoji_one/o2.png b/public/images/emoji/emoji_one/o2.png index bf46e511c..400bce3e4 100644 Binary files a/public/images/emoji/emoji_one/o2.png and b/public/images/emoji/emoji_one/o2.png differ diff --git a/public/images/emoji/emoji_one/ocean.png b/public/images/emoji/emoji_one/ocean.png index 2ac40c9a5..c8792833b 100644 Binary files a/public/images/emoji/emoji_one/ocean.png and b/public/images/emoji/emoji_one/ocean.png differ diff --git a/public/images/emoji/emoji_one/octopus.png b/public/images/emoji/emoji_one/octopus.png index 8a9d7de67..5365ca4d8 100644 Binary files a/public/images/emoji/emoji_one/octopus.png and b/public/images/emoji/emoji_one/octopus.png differ diff --git a/public/images/emoji/emoji_one/oden.png b/public/images/emoji/emoji_one/oden.png index c871c9417..4f339f8ca 100644 Binary files a/public/images/emoji/emoji_one/oden.png and b/public/images/emoji/emoji_one/oden.png differ diff --git a/public/images/emoji/emoji_one/office.png b/public/images/emoji/emoji_one/office.png index a31a418fb..3f77f2112 100644 Binary files a/public/images/emoji/emoji_one/office.png and b/public/images/emoji/emoji_one/office.png differ diff --git a/public/images/emoji/emoji_one/oil.png b/public/images/emoji/emoji_one/oil.png index 2920a30b6..6c3c0b6ec 100644 Binary files a/public/images/emoji/emoji_one/oil.png and b/public/images/emoji/emoji_one/oil.png differ diff --git a/public/images/emoji/emoji_one/oil_drum.png b/public/images/emoji/emoji_one/oil_drum.png new file mode 100644 index 000000000..6c3c0b6ec Binary files /dev/null and b/public/images/emoji/emoji_one/oil_drum.png differ diff --git a/public/images/emoji/emoji_one/ok.png b/public/images/emoji/emoji_one/ok.png index d0d775532..18749a351 100644 Binary files a/public/images/emoji/emoji_one/ok.png and b/public/images/emoji/emoji_one/ok.png differ diff --git a/public/images/emoji/emoji_one/ok_hand.png b/public/images/emoji/emoji_one/ok_hand.png index 9da1605dd..59ae85520 100644 Binary files a/public/images/emoji/emoji_one/ok_hand.png and b/public/images/emoji/emoji_one/ok_hand.png differ diff --git a/public/images/emoji/emoji_one/ok_woman.png b/public/images/emoji/emoji_one/ok_woman.png index a26473082..1df42092f 100644 Binary files a/public/images/emoji/emoji_one/ok_woman.png and b/public/images/emoji/emoji_one/ok_woman.png differ diff --git a/public/images/emoji/emoji_one/old_key.png b/public/images/emoji/emoji_one/old_key.png new file mode 100644 index 000000000..f74bb1ba0 Binary files /dev/null and b/public/images/emoji/emoji_one/old_key.png differ diff --git a/public/images/emoji/emoji_one/older_man.png b/public/images/emoji/emoji_one/older_man.png index 431cbaf9d..92b85c01f 100644 Binary files a/public/images/emoji/emoji_one/older_man.png and b/public/images/emoji/emoji_one/older_man.png differ diff --git a/public/images/emoji/emoji_one/older_woman.png b/public/images/emoji/emoji_one/older_woman.png index df6d6e343..d1e78babe 100644 Binary files a/public/images/emoji/emoji_one/older_woman.png and b/public/images/emoji/emoji_one/older_woman.png differ diff --git a/public/images/emoji/emoji_one/om_symbol.png b/public/images/emoji/emoji_one/om_symbol.png index a35c63c45..db9dae082 100644 Binary files a/public/images/emoji/emoji_one/om_symbol.png and b/public/images/emoji/emoji_one/om_symbol.png differ diff --git a/public/images/emoji/emoji_one/on.png b/public/images/emoji/emoji_one/on.png index a0c371ae2..284d9d3c0 100644 Binary files a/public/images/emoji/emoji_one/on.png and b/public/images/emoji/emoji_one/on.png differ diff --git a/public/images/emoji/emoji_one/oncoming_automobile.png b/public/images/emoji/emoji_one/oncoming_automobile.png index 3c7e1d52e..94365ea16 100644 Binary files a/public/images/emoji/emoji_one/oncoming_automobile.png and b/public/images/emoji/emoji_one/oncoming_automobile.png differ diff --git a/public/images/emoji/emoji_one/oncoming_bus.png b/public/images/emoji/emoji_one/oncoming_bus.png index 4db80c85a..b78198d0d 100644 Binary files a/public/images/emoji/emoji_one/oncoming_bus.png and b/public/images/emoji/emoji_one/oncoming_bus.png differ diff --git a/public/images/emoji/emoji_one/oncoming_police_car.png b/public/images/emoji/emoji_one/oncoming_police_car.png index c4e225633..b4f82551f 100644 Binary files a/public/images/emoji/emoji_one/oncoming_police_car.png and b/public/images/emoji/emoji_one/oncoming_police_car.png differ diff --git a/public/images/emoji/emoji_one/oncoming_taxi.png b/public/images/emoji/emoji_one/oncoming_taxi.png index f61ca3e69..a84cc5433 100644 Binary files a/public/images/emoji/emoji_one/oncoming_taxi.png and b/public/images/emoji/emoji_one/oncoming_taxi.png differ diff --git a/public/images/emoji/emoji_one/one.png b/public/images/emoji/emoji_one/one.png index 3ec8eb7fe..e69de29bb 100644 Binary files a/public/images/emoji/emoji_one/one.png and b/public/images/emoji/emoji_one/one.png differ diff --git a/public/images/emoji/emoji_one/open_book.png b/public/images/emoji/emoji_one/open_book.png deleted file mode 100644 index ba3cc456b..000000000 Binary files a/public/images/emoji/emoji_one/open_book.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/open_file_folder.png b/public/images/emoji/emoji_one/open_file_folder.png index 3993b0922..54d61589a 100644 Binary files a/public/images/emoji/emoji_one/open_file_folder.png and b/public/images/emoji/emoji_one/open_file_folder.png differ diff --git a/public/images/emoji/emoji_one/open_hands.png b/public/images/emoji/emoji_one/open_hands.png index e21d0667a..70fe3a025 100644 Binary files a/public/images/emoji/emoji_one/open_hands.png and b/public/images/emoji/emoji_one/open_hands.png differ diff --git a/public/images/emoji/emoji_one/open_mouth.png b/public/images/emoji/emoji_one/open_mouth.png index 432e0d2f9..0a6dae097 100644 Binary files a/public/images/emoji/emoji_one/open_mouth.png and b/public/images/emoji/emoji_one/open_mouth.png differ diff --git a/public/images/emoji/emoji_one/ophiuchus.png b/public/images/emoji/emoji_one/ophiuchus.png index 411eac49e..45a148e32 100644 Binary files a/public/images/emoji/emoji_one/ophiuchus.png and b/public/images/emoji/emoji_one/ophiuchus.png differ diff --git a/public/images/emoji/emoji_one/orange_book.png b/public/images/emoji/emoji_one/orange_book.png index ab40e6ae6..a29c7355d 100644 Binary files a/public/images/emoji/emoji_one/orange_book.png and b/public/images/emoji/emoji_one/orange_book.png differ diff --git a/public/images/emoji/emoji_one/orthodox_cross.png b/public/images/emoji/emoji_one/orthodox_cross.png index 0530e33a4..34fb89223 100644 Binary files a/public/images/emoji/emoji_one/orthodox_cross.png and b/public/images/emoji/emoji_one/orthodox_cross.png differ diff --git a/public/images/emoji/emoji_one/outbox_tray.png b/public/images/emoji/emoji_one/outbox_tray.png index 211c36f95..ccce2b90d 100644 Binary files a/public/images/emoji/emoji_one/outbox_tray.png and b/public/images/emoji/emoji_one/outbox_tray.png differ diff --git a/public/images/emoji/emoji_one/ox.png b/public/images/emoji/emoji_one/ox.png index 7c6e7bd57..e91537b0a 100644 Binary files a/public/images/emoji/emoji_one/ox.png and b/public/images/emoji/emoji_one/ox.png differ diff --git a/public/images/emoji/emoji_one/package.png b/public/images/emoji/emoji_one/package.png index 85431756a..a544f88a5 100644 Binary files a/public/images/emoji/emoji_one/package.png and b/public/images/emoji/emoji_one/package.png differ diff --git a/public/images/emoji/emoji_one/page_facing_up.png b/public/images/emoji/emoji_one/page_facing_up.png index abc15a5a5..5b47f9d74 100644 Binary files a/public/images/emoji/emoji_one/page_facing_up.png and b/public/images/emoji/emoji_one/page_facing_up.png differ diff --git a/public/images/emoji/emoji_one/page_with_curl.png b/public/images/emoji/emoji_one/page_with_curl.png index 50666d1e3..d088e4ed9 100644 Binary files a/public/images/emoji/emoji_one/page_with_curl.png and b/public/images/emoji/emoji_one/page_with_curl.png differ diff --git a/public/images/emoji/emoji_one/pager.png b/public/images/emoji/emoji_one/pager.png index b24b99306..ea36ff280 100644 Binary files a/public/images/emoji/emoji_one/pager.png and b/public/images/emoji/emoji_one/pager.png differ diff --git a/public/images/emoji/emoji_one/paintbrush.png b/public/images/emoji/emoji_one/paintbrush.png index 28bffbaa3..eb2b75071 100644 Binary files a/public/images/emoji/emoji_one/paintbrush.png and b/public/images/emoji/emoji_one/paintbrush.png differ diff --git a/public/images/emoji/emoji_one/palm_tree.png b/public/images/emoji/emoji_one/palm_tree.png index 4bbb10f4f..1d17c2ffa 100644 Binary files a/public/images/emoji/emoji_one/palm_tree.png and b/public/images/emoji/emoji_one/palm_tree.png differ diff --git a/public/images/emoji/emoji_one/panda_face.png b/public/images/emoji/emoji_one/panda_face.png index 43030f4ec..4c7415ce5 100644 Binary files a/public/images/emoji/emoji_one/panda_face.png and b/public/images/emoji/emoji_one/panda_face.png differ diff --git a/public/images/emoji/emoji_one/paperclip.png b/public/images/emoji/emoji_one/paperclip.png index c154f2f11..8f1ca18e5 100644 Binary files a/public/images/emoji/emoji_one/paperclip.png and b/public/images/emoji/emoji_one/paperclip.png differ diff --git a/public/images/emoji/emoji_one/paperclips.png b/public/images/emoji/emoji_one/paperclips.png index 3e752e765..baf54b2f8 100644 Binary files a/public/images/emoji/emoji_one/paperclips.png and b/public/images/emoji/emoji_one/paperclips.png differ diff --git a/public/images/emoji/emoji_one/park.png b/public/images/emoji/emoji_one/park.png index 2ab85d11a..65a3d29cc 100644 Binary files a/public/images/emoji/emoji_one/park.png and b/public/images/emoji/emoji_one/park.png differ diff --git a/public/images/emoji/emoji_one/parking.png b/public/images/emoji/emoji_one/parking.png index 96e15973c..45c5a905f 100644 Binary files a/public/images/emoji/emoji_one/parking.png and b/public/images/emoji/emoji_one/parking.png differ diff --git a/public/images/emoji/emoji_one/part_alternation_mark.png b/public/images/emoji/emoji_one/part_alternation_mark.png index 70453d415..e600cb3d2 100644 Binary files a/public/images/emoji/emoji_one/part_alternation_mark.png and b/public/images/emoji/emoji_one/part_alternation_mark.png differ diff --git a/public/images/emoji/emoji_one/partly_sunny.png b/public/images/emoji/emoji_one/partly_sunny.png index a55e59c34..10ef91e7b 100644 Binary files a/public/images/emoji/emoji_one/partly_sunny.png and b/public/images/emoji/emoji_one/partly_sunny.png differ diff --git a/public/images/emoji/emoji_one/passenger_ship.png b/public/images/emoji/emoji_one/passenger_ship.png new file mode 100644 index 000000000..c77f1c88d Binary files /dev/null and b/public/images/emoji/emoji_one/passenger_ship.png differ diff --git a/public/images/emoji/emoji_one/passport_control.png b/public/images/emoji/emoji_one/passport_control.png index 079e34ee4..3f9b687f8 100644 Binary files a/public/images/emoji/emoji_one/passport_control.png and b/public/images/emoji/emoji_one/passport_control.png differ diff --git a/public/images/emoji/emoji_one/pause_button.png b/public/images/emoji/emoji_one/pause_button.png index c0012ffd4..37b536aae 100644 Binary files a/public/images/emoji/emoji_one/pause_button.png and b/public/images/emoji/emoji_one/pause_button.png differ diff --git a/public/images/emoji/emoji_one/paw_prints.png b/public/images/emoji/emoji_one/paw_prints.png index 7aa222412..a50797721 100644 Binary files a/public/images/emoji/emoji_one/paw_prints.png and b/public/images/emoji/emoji_one/paw_prints.png differ diff --git a/public/images/emoji/emoji_one/peace.png b/public/images/emoji/emoji_one/peace.png index 2d6b6abc1..8a6c3931a 100644 Binary files a/public/images/emoji/emoji_one/peace.png and b/public/images/emoji/emoji_one/peace.png differ diff --git a/public/images/emoji/emoji_one/peace_symbol.png b/public/images/emoji/emoji_one/peace_symbol.png new file mode 100644 index 000000000..8a6c3931a Binary files /dev/null and b/public/images/emoji/emoji_one/peace_symbol.png differ diff --git a/public/images/emoji/emoji_one/peach.png b/public/images/emoji/emoji_one/peach.png index dbee1b16f..8428a6a02 100644 Binary files a/public/images/emoji/emoji_one/peach.png and b/public/images/emoji/emoji_one/peach.png differ diff --git a/public/images/emoji/emoji_one/pear.png b/public/images/emoji/emoji_one/pear.png index 3869f718b..7ead489e2 100644 Binary files a/public/images/emoji/emoji_one/pear.png and b/public/images/emoji/emoji_one/pear.png differ diff --git a/public/images/emoji/emoji_one/pen_ballpoint.png b/public/images/emoji/emoji_one/pen_ballpoint.png index 193b1e4ee..368612e54 100644 Binary files a/public/images/emoji/emoji_one/pen_ballpoint.png and b/public/images/emoji/emoji_one/pen_ballpoint.png differ diff --git a/public/images/emoji/emoji_one/pen_fountain.png b/public/images/emoji/emoji_one/pen_fountain.png index 5becb08fa..9ca6da5a0 100644 Binary files a/public/images/emoji/emoji_one/pen_fountain.png and b/public/images/emoji/emoji_one/pen_fountain.png differ diff --git a/public/images/emoji/emoji_one/pencil.png b/public/images/emoji/emoji_one/pencil.png index 0f1f8422d..9a02dd372 100644 Binary files a/public/images/emoji/emoji_one/pencil.png and b/public/images/emoji/emoji_one/pencil.png differ diff --git a/public/images/emoji/emoji_one/pencil2.png b/public/images/emoji/emoji_one/pencil2.png index 4075d44b9..c7fba9303 100644 Binary files a/public/images/emoji/emoji_one/pencil2.png and b/public/images/emoji/emoji_one/pencil2.png differ diff --git a/public/images/emoji/emoji_one/penguin.png b/public/images/emoji/emoji_one/penguin.png index e7bb28005..ec3cdc34d 100644 Binary files a/public/images/emoji/emoji_one/penguin.png and b/public/images/emoji/emoji_one/penguin.png differ diff --git a/public/images/emoji/emoji_one/pensive.png b/public/images/emoji/emoji_one/pensive.png index 6393030c7..ce9424666 100644 Binary files a/public/images/emoji/emoji_one/pensive.png and b/public/images/emoji/emoji_one/pensive.png differ diff --git a/public/images/emoji/emoji_one/performing_arts.png b/public/images/emoji/emoji_one/performing_arts.png index 685441fda..babf4590d 100644 Binary files a/public/images/emoji/emoji_one/performing_arts.png and b/public/images/emoji/emoji_one/performing_arts.png differ diff --git a/public/images/emoji/emoji_one/persevere.png b/public/images/emoji/emoji_one/persevere.png index e8f0ec92b..818553a80 100644 Binary files a/public/images/emoji/emoji_one/persevere.png and b/public/images/emoji/emoji_one/persevere.png differ diff --git a/public/images/emoji/emoji_one/person_frowning.png b/public/images/emoji/emoji_one/person_frowning.png index 8c9e2022b..6fb37ad95 100644 Binary files a/public/images/emoji/emoji_one/person_frowning.png and b/public/images/emoji/emoji_one/person_frowning.png differ diff --git a/public/images/emoji/emoji_one/person_with_ball.png b/public/images/emoji/emoji_one/person_with_ball.png new file mode 100644 index 000000000..38c6d635f Binary files /dev/null and b/public/images/emoji/emoji_one/person_with_ball.png differ diff --git a/public/images/emoji/emoji_one/person_with_blond_hair.png b/public/images/emoji/emoji_one/person_with_blond_hair.png index 9c848d7c1..5a9cd9ced 100644 Binary files a/public/images/emoji/emoji_one/person_with_blond_hair.png and b/public/images/emoji/emoji_one/person_with_blond_hair.png differ diff --git a/public/images/emoji/emoji_one/person_with_pouting_face.png b/public/images/emoji/emoji_one/person_with_pouting_face.png index 1f18a40ab..4f374afa8 100644 Binary files a/public/images/emoji/emoji_one/person_with_pouting_face.png and b/public/images/emoji/emoji_one/person_with_pouting_face.png differ diff --git a/public/images/emoji/emoji_one/phone.png b/public/images/emoji/emoji_one/phone.png deleted file mode 100644 index 20dcecf24..000000000 Binary files a/public/images/emoji/emoji_one/phone.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/pick.png b/public/images/emoji/emoji_one/pick.png index b42680066..a8672c16e 100644 Binary files a/public/images/emoji/emoji_one/pick.png and b/public/images/emoji/emoji_one/pick.png differ diff --git a/public/images/emoji/emoji_one/pig.png b/public/images/emoji/emoji_one/pig.png index 55daed4d7..f7733c43f 100644 Binary files a/public/images/emoji/emoji_one/pig.png and b/public/images/emoji/emoji_one/pig.png differ diff --git a/public/images/emoji/emoji_one/pig2.png b/public/images/emoji/emoji_one/pig2.png index 32ded8724..c01f1f746 100644 Binary files a/public/images/emoji/emoji_one/pig2.png and b/public/images/emoji/emoji_one/pig2.png differ diff --git a/public/images/emoji/emoji_one/pig_nose.png b/public/images/emoji/emoji_one/pig_nose.png index 3610ae4a9..e3da3db67 100644 Binary files a/public/images/emoji/emoji_one/pig_nose.png and b/public/images/emoji/emoji_one/pig_nose.png differ diff --git a/public/images/emoji/emoji_one/pill.png b/public/images/emoji/emoji_one/pill.png index fdde9ab5f..4faa61d79 100644 Binary files a/public/images/emoji/emoji_one/pill.png and b/public/images/emoji/emoji_one/pill.png differ diff --git a/public/images/emoji/emoji_one/pineapple.png b/public/images/emoji/emoji_one/pineapple.png index 2aafa705c..c5f12859c 100644 Binary files a/public/images/emoji/emoji_one/pineapple.png and b/public/images/emoji/emoji_one/pineapple.png differ diff --git a/public/images/emoji/emoji_one/ping_pong.png b/public/images/emoji/emoji_one/ping_pong.png index e89679188..057c1dbcd 100644 Binary files a/public/images/emoji/emoji_one/ping_pong.png and b/public/images/emoji/emoji_one/ping_pong.png differ diff --git a/public/images/emoji/emoji_one/pisces.png b/public/images/emoji/emoji_one/pisces.png index f8c07d308..4f18a23de 100644 Binary files a/public/images/emoji/emoji_one/pisces.png and b/public/images/emoji/emoji_one/pisces.png differ diff --git a/public/images/emoji/emoji_one/pizza.png b/public/images/emoji/emoji_one/pizza.png index 88acda948..18dc856a9 100644 Binary files a/public/images/emoji/emoji_one/pizza.png and b/public/images/emoji/emoji_one/pizza.png differ diff --git a/public/images/emoji/emoji_one/place_of_worship.png b/public/images/emoji/emoji_one/place_of_worship.png index 207d59cce..83334c112 100644 Binary files a/public/images/emoji/emoji_one/place_of_worship.png and b/public/images/emoji/emoji_one/place_of_worship.png differ diff --git a/public/images/emoji/emoji_one/play_pause.png b/public/images/emoji/emoji_one/play_pause.png index 2d1942229..adc41e264 100644 Binary files a/public/images/emoji/emoji_one/play_pause.png and b/public/images/emoji/emoji_one/play_pause.png differ diff --git a/public/images/emoji/emoji_one/point_down.png b/public/images/emoji/emoji_one/point_down.png index 00d3d13ab..7d6a31494 100644 Binary files a/public/images/emoji/emoji_one/point_down.png and b/public/images/emoji/emoji_one/point_down.png differ diff --git a/public/images/emoji/emoji_one/point_left.png b/public/images/emoji/emoji_one/point_left.png index 6ef64f014..676dc9a71 100644 Binary files a/public/images/emoji/emoji_one/point_left.png and b/public/images/emoji/emoji_one/point_left.png differ diff --git a/public/images/emoji/emoji_one/point_right.png b/public/images/emoji/emoji_one/point_right.png index 93a3cd34a..3b73999b4 100644 Binary files a/public/images/emoji/emoji_one/point_right.png and b/public/images/emoji/emoji_one/point_right.png differ diff --git a/public/images/emoji/emoji_one/point_up.png b/public/images/emoji/emoji_one/point_up.png index be58788e4..db9ccf3c5 100644 Binary files a/public/images/emoji/emoji_one/point_up.png and b/public/images/emoji/emoji_one/point_up.png differ diff --git a/public/images/emoji/emoji_one/point_up_2.png b/public/images/emoji/emoji_one/point_up_2.png index ff5a84b80..e7ad6c927 100644 Binary files a/public/images/emoji/emoji_one/point_up_2.png and b/public/images/emoji/emoji_one/point_up_2.png differ diff --git a/public/images/emoji/emoji_one/police_car.png b/public/images/emoji/emoji_one/police_car.png index bc11ad0db..9e4107ed2 100644 Binary files a/public/images/emoji/emoji_one/police_car.png and b/public/images/emoji/emoji_one/police_car.png differ diff --git a/public/images/emoji/emoji_one/poo.png b/public/images/emoji/emoji_one/poo.png new file mode 100644 index 000000000..77eb5b9fd Binary files /dev/null and b/public/images/emoji/emoji_one/poo.png differ diff --git a/public/images/emoji/emoji_one/poodle.png b/public/images/emoji/emoji_one/poodle.png index 8ec39e396..fa439cdb0 100644 Binary files a/public/images/emoji/emoji_one/poodle.png and b/public/images/emoji/emoji_one/poodle.png differ diff --git a/public/images/emoji/emoji_one/poop.png b/public/images/emoji/emoji_one/poop.png index 10b15e72d..77eb5b9fd 100644 Binary files a/public/images/emoji/emoji_one/poop.png and b/public/images/emoji/emoji_one/poop.png differ diff --git a/public/images/emoji/emoji_one/popcorn.png b/public/images/emoji/emoji_one/popcorn.png index 138202e8f..29ec3d387 100644 Binary files a/public/images/emoji/emoji_one/popcorn.png and b/public/images/emoji/emoji_one/popcorn.png differ diff --git a/public/images/emoji/emoji_one/post_office.png b/public/images/emoji/emoji_one/post_office.png index a23848f9a..b1fa8fc2c 100644 Binary files a/public/images/emoji/emoji_one/post_office.png and b/public/images/emoji/emoji_one/post_office.png differ diff --git a/public/images/emoji/emoji_one/postal_horn.png b/public/images/emoji/emoji_one/postal_horn.png index 755fff2a3..184ef61df 100644 Binary files a/public/images/emoji/emoji_one/postal_horn.png and b/public/images/emoji/emoji_one/postal_horn.png differ diff --git a/public/images/emoji/emoji_one/postbox.png b/public/images/emoji/emoji_one/postbox.png index 6b5dba8a3..489518406 100644 Binary files a/public/images/emoji/emoji_one/postbox.png and b/public/images/emoji/emoji_one/postbox.png differ diff --git a/public/images/emoji/emoji_one/potable_water.png b/public/images/emoji/emoji_one/potable_water.png index fb89b142f..5f26babcd 100644 Binary files a/public/images/emoji/emoji_one/potable_water.png and b/public/images/emoji/emoji_one/potable_water.png differ diff --git a/public/images/emoji/emoji_one/pouch.png b/public/images/emoji/emoji_one/pouch.png index d482900ed..811ac0585 100644 Binary files a/public/images/emoji/emoji_one/pouch.png and b/public/images/emoji/emoji_one/pouch.png differ diff --git a/public/images/emoji/emoji_one/poultry_leg.png b/public/images/emoji/emoji_one/poultry_leg.png index 1991bf5ac..17e4a43a4 100644 Binary files a/public/images/emoji/emoji_one/poultry_leg.png and b/public/images/emoji/emoji_one/poultry_leg.png differ diff --git a/public/images/emoji/emoji_one/pound.png b/public/images/emoji/emoji_one/pound.png index 31736a006..19192da49 100644 Binary files a/public/images/emoji/emoji_one/pound.png and b/public/images/emoji/emoji_one/pound.png differ diff --git a/public/images/emoji/emoji_one/pouting_cat.png b/public/images/emoji/emoji_one/pouting_cat.png index 8ad298b51..2b7fe56ad 100644 Binary files a/public/images/emoji/emoji_one/pouting_cat.png and b/public/images/emoji/emoji_one/pouting_cat.png differ diff --git a/public/images/emoji/emoji_one/pray.png b/public/images/emoji/emoji_one/pray.png index 9e7147763..ff6879172 100644 Binary files a/public/images/emoji/emoji_one/pray.png and b/public/images/emoji/emoji_one/pray.png differ diff --git a/public/images/emoji/emoji_one/prayer_beads.png b/public/images/emoji/emoji_one/prayer_beads.png index a4b6dfcc6..96336c5b5 100644 Binary files a/public/images/emoji/emoji_one/prayer_beads.png and b/public/images/emoji/emoji_one/prayer_beads.png differ diff --git a/public/images/emoji/emoji_one/previous_track.png b/public/images/emoji/emoji_one/previous_track.png new file mode 100644 index 000000000..e1a06c07a Binary files /dev/null and b/public/images/emoji/emoji_one/previous_track.png differ diff --git a/public/images/emoji/emoji_one/princess.png b/public/images/emoji/emoji_one/princess.png index 325180029..d8990087d 100644 Binary files a/public/images/emoji/emoji_one/princess.png and b/public/images/emoji/emoji_one/princess.png differ diff --git a/public/images/emoji/emoji_one/printer.png b/public/images/emoji/emoji_one/printer.png index 27a99c0a6..ea2fd0676 100644 Binary files a/public/images/emoji/emoji_one/printer.png and b/public/images/emoji/emoji_one/printer.png differ diff --git a/public/images/emoji/emoji_one/projector.png b/public/images/emoji/emoji_one/projector.png index 0633bec0d..e18aae6b5 100644 Binary files a/public/images/emoji/emoji_one/projector.png and b/public/images/emoji/emoji_one/projector.png differ diff --git a/public/images/emoji/emoji_one/punch.png b/public/images/emoji/emoji_one/punch.png index 1f251e074..ade269fde 100644 Binary files a/public/images/emoji/emoji_one/punch.png and b/public/images/emoji/emoji_one/punch.png differ diff --git a/public/images/emoji/emoji_one/purple_heart.png b/public/images/emoji/emoji_one/purple_heart.png index a110ae23f..fdd70b19f 100644 Binary files a/public/images/emoji/emoji_one/purple_heart.png and b/public/images/emoji/emoji_one/purple_heart.png differ diff --git a/public/images/emoji/emoji_one/purse.png b/public/images/emoji/emoji_one/purse.png index d184b59c8..dde8d73cb 100644 Binary files a/public/images/emoji/emoji_one/purse.png and b/public/images/emoji/emoji_one/purse.png differ diff --git a/public/images/emoji/emoji_one/pushpin.png b/public/images/emoji/emoji_one/pushpin.png index 57e07d7f4..1495b5f35 100644 Binary files a/public/images/emoji/emoji_one/pushpin.png and b/public/images/emoji/emoji_one/pushpin.png differ diff --git a/public/images/emoji/emoji_one/put_litter_in_its_place.png b/public/images/emoji/emoji_one/put_litter_in_its_place.png index 84562993c..a86713889 100644 Binary files a/public/images/emoji/emoji_one/put_litter_in_its_place.png and b/public/images/emoji/emoji_one/put_litter_in_its_place.png differ diff --git a/public/images/emoji/emoji_one/question.png b/public/images/emoji/emoji_one/question.png index 18ef09556..13880d004 100644 Binary files a/public/images/emoji/emoji_one/question.png and b/public/images/emoji/emoji_one/question.png differ diff --git a/public/images/emoji/emoji_one/rabbit.png b/public/images/emoji/emoji_one/rabbit.png index 8c69e1e70..dbe491487 100644 Binary files a/public/images/emoji/emoji_one/rabbit.png and b/public/images/emoji/emoji_one/rabbit.png differ diff --git a/public/images/emoji/emoji_one/rabbit2.png b/public/images/emoji/emoji_one/rabbit2.png index 2c8a29c64..9fd617c3e 100644 Binary files a/public/images/emoji/emoji_one/rabbit2.png and b/public/images/emoji/emoji_one/rabbit2.png differ diff --git a/public/images/emoji/emoji_one/race_car.png b/public/images/emoji/emoji_one/race_car.png index d3e8aa02e..86c9a2c84 100644 Binary files a/public/images/emoji/emoji_one/race_car.png and b/public/images/emoji/emoji_one/race_car.png differ diff --git a/public/images/emoji/emoji_one/racehorse.png b/public/images/emoji/emoji_one/racehorse.png index 2f62536a5..b70842e47 100644 Binary files a/public/images/emoji/emoji_one/racehorse.png and b/public/images/emoji/emoji_one/racehorse.png differ diff --git a/public/images/emoji/emoji_one/racing_car.png b/public/images/emoji/emoji_one/racing_car.png new file mode 100644 index 000000000..86c9a2c84 Binary files /dev/null and b/public/images/emoji/emoji_one/racing_car.png differ diff --git a/public/images/emoji/emoji_one/racing_motorcycle.png b/public/images/emoji/emoji_one/racing_motorcycle.png new file mode 100644 index 000000000..be62ca41f Binary files /dev/null and b/public/images/emoji/emoji_one/racing_motorcycle.png differ diff --git a/public/images/emoji/emoji_one/radio.png b/public/images/emoji/emoji_one/radio.png index 466c82ae9..9cf001ec2 100644 Binary files a/public/images/emoji/emoji_one/radio.png and b/public/images/emoji/emoji_one/radio.png differ diff --git a/public/images/emoji/emoji_one/radio_button.png b/public/images/emoji/emoji_one/radio_button.png index 59c783d70..3256f716a 100644 Binary files a/public/images/emoji/emoji_one/radio_button.png and b/public/images/emoji/emoji_one/radio_button.png differ diff --git a/public/images/emoji/emoji_one/radioactive.png b/public/images/emoji/emoji_one/radioactive.png index e389b0d6e..8c96196ad 100644 Binary files a/public/images/emoji/emoji_one/radioactive.png and b/public/images/emoji/emoji_one/radioactive.png differ diff --git a/public/images/emoji/emoji_one/radioactive_sign.png b/public/images/emoji/emoji_one/radioactive_sign.png new file mode 100644 index 000000000..8c96196ad Binary files /dev/null and b/public/images/emoji/emoji_one/radioactive_sign.png differ diff --git a/public/images/emoji/emoji_one/rage.png b/public/images/emoji/emoji_one/rage.png index 2727b8204..d51b13075 100644 Binary files a/public/images/emoji/emoji_one/rage.png and b/public/images/emoji/emoji_one/rage.png differ diff --git a/public/images/emoji/emoji_one/railroad_track.png b/public/images/emoji/emoji_one/railroad_track.png new file mode 100644 index 000000000..e95bece31 Binary files /dev/null and b/public/images/emoji/emoji_one/railroad_track.png differ diff --git a/public/images/emoji/emoji_one/railway_car.png b/public/images/emoji/emoji_one/railway_car.png index aca7ee010..e892028fc 100644 Binary files a/public/images/emoji/emoji_one/railway_car.png and b/public/images/emoji/emoji_one/railway_car.png differ diff --git a/public/images/emoji/emoji_one/railway_track.png b/public/images/emoji/emoji_one/railway_track.png index 672d5eb5f..e95bece31 100644 Binary files a/public/images/emoji/emoji_one/railway_track.png and b/public/images/emoji/emoji_one/railway_track.png differ diff --git a/public/images/emoji/emoji_one/rainbow.png b/public/images/emoji/emoji_one/rainbow.png index e36c17e44..4448583e6 100644 Binary files a/public/images/emoji/emoji_one/rainbow.png and b/public/images/emoji/emoji_one/rainbow.png differ diff --git a/public/images/emoji/emoji_one/raised_hand.png b/public/images/emoji/emoji_one/raised_hand.png index c0f4dbcd5..936ae16df 100644 Binary files a/public/images/emoji/emoji_one/raised_hand.png and b/public/images/emoji/emoji_one/raised_hand.png differ diff --git a/public/images/emoji/emoji_one/raised_hand_with_fingers_splayed.png b/public/images/emoji/emoji_one/raised_hand_with_fingers_splayed.png new file mode 100644 index 000000000..77d0794e0 Binary files /dev/null and b/public/images/emoji/emoji_one/raised_hand_with_fingers_splayed.png differ diff --git a/public/images/emoji/emoji_one/raised_hand_with_part_between_middle_and_ring_fingers.png b/public/images/emoji/emoji_one/raised_hand_with_part_between_middle_and_ring_fingers.png new file mode 100644 index 000000000..b22486308 Binary files /dev/null and b/public/images/emoji/emoji_one/raised_hand_with_part_between_middle_and_ring_fingers.png differ diff --git a/public/images/emoji/emoji_one/raised_hands.png b/public/images/emoji/emoji_one/raised_hands.png index 5659602be..3947fd541 100644 Binary files a/public/images/emoji/emoji_one/raised_hands.png and b/public/images/emoji/emoji_one/raised_hands.png differ diff --git a/public/images/emoji/emoji_one/raising_hand.png b/public/images/emoji/emoji_one/raising_hand.png index 2880708c0..9186a1508 100644 Binary files a/public/images/emoji/emoji_one/raising_hand.png and b/public/images/emoji/emoji_one/raising_hand.png differ diff --git a/public/images/emoji/emoji_one/ram.png b/public/images/emoji/emoji_one/ram.png index 5da1b0f50..a3c953fe4 100644 Binary files a/public/images/emoji/emoji_one/ram.png and b/public/images/emoji/emoji_one/ram.png differ diff --git a/public/images/emoji/emoji_one/ramen.png b/public/images/emoji/emoji_one/ramen.png index c1cb7cd73..e61280eaa 100644 Binary files a/public/images/emoji/emoji_one/ramen.png and b/public/images/emoji/emoji_one/ramen.png differ diff --git a/public/images/emoji/emoji_one/rat.png b/public/images/emoji/emoji_one/rat.png index 234a28c87..7dbc8eaea 100644 Binary files a/public/images/emoji/emoji_one/rat.png and b/public/images/emoji/emoji_one/rat.png differ diff --git a/public/images/emoji/emoji_one/record_button.png b/public/images/emoji/emoji_one/record_button.png index a96319c8b..fd8574320 100644 Binary files a/public/images/emoji/emoji_one/record_button.png and b/public/images/emoji/emoji_one/record_button.png differ diff --git a/public/images/emoji/emoji_one/recycle.png b/public/images/emoji/emoji_one/recycle.png index 1e46b9bb3..526553b32 100644 Binary files a/public/images/emoji/emoji_one/recycle.png and b/public/images/emoji/emoji_one/recycle.png differ diff --git a/public/images/emoji/emoji_one/red_car.png b/public/images/emoji/emoji_one/red_car.png index ef7844156..9010bb046 100644 Binary files a/public/images/emoji/emoji_one/red_car.png and b/public/images/emoji/emoji_one/red_car.png differ diff --git a/public/images/emoji/emoji_one/red_circle.png b/public/images/emoji/emoji_one/red_circle.png index 4bef930d9..4281bcd25 100644 Binary files a/public/images/emoji/emoji_one/red_circle.png and b/public/images/emoji/emoji_one/red_circle.png differ diff --git a/public/images/emoji/emoji_one/registered.png b/public/images/emoji/emoji_one/registered.png index 53ef9f2d4..4a952e105 100644 Binary files a/public/images/emoji/emoji_one/registered.png and b/public/images/emoji/emoji_one/registered.png differ diff --git a/public/images/emoji/emoji_one/relaxed.png b/public/images/emoji/emoji_one/relaxed.png index e9e53c03d..61bef2d0b 100644 Binary files a/public/images/emoji/emoji_one/relaxed.png and b/public/images/emoji/emoji_one/relaxed.png differ diff --git a/public/images/emoji/emoji_one/relieved.png b/public/images/emoji/emoji_one/relieved.png index 76a0879e7..891808c49 100644 Binary files a/public/images/emoji/emoji_one/relieved.png and b/public/images/emoji/emoji_one/relieved.png differ diff --git a/public/images/emoji/emoji_one/reminder_ribbon.png b/public/images/emoji/emoji_one/reminder_ribbon.png index 3988bbd09..b16775999 100644 Binary files a/public/images/emoji/emoji_one/reminder_ribbon.png and b/public/images/emoji/emoji_one/reminder_ribbon.png differ diff --git a/public/images/emoji/emoji_one/repeat.png b/public/images/emoji/emoji_one/repeat.png index 540ce4e0f..163b8ce64 100644 Binary files a/public/images/emoji/emoji_one/repeat.png and b/public/images/emoji/emoji_one/repeat.png differ diff --git a/public/images/emoji/emoji_one/repeat_one.png b/public/images/emoji/emoji_one/repeat_one.png index 9567e8333..92ccb31fd 100644 Binary files a/public/images/emoji/emoji_one/repeat_one.png and b/public/images/emoji/emoji_one/repeat_one.png differ diff --git a/public/images/emoji/emoji_one/restroom.png b/public/images/emoji/emoji_one/restroom.png index 70f9535c4..082a98d74 100644 Binary files a/public/images/emoji/emoji_one/restroom.png and b/public/images/emoji/emoji_one/restroom.png differ diff --git a/public/images/emoji/emoji_one/reversed_hand_with_middle_finger_extended.png b/public/images/emoji/emoji_one/reversed_hand_with_middle_finger_extended.png new file mode 100644 index 000000000..6f99e17bd Binary files /dev/null and b/public/images/emoji/emoji_one/reversed_hand_with_middle_finger_extended.png differ diff --git a/public/images/emoji/emoji_one/revolving_hearts.png b/public/images/emoji/emoji_one/revolving_hearts.png index f0f5c0323..7c0c92401 100644 Binary files a/public/images/emoji/emoji_one/revolving_hearts.png and b/public/images/emoji/emoji_one/revolving_hearts.png differ diff --git a/public/images/emoji/emoji_one/rewind.png b/public/images/emoji/emoji_one/rewind.png index 4a9cf7789..0c0d8f95f 100644 Binary files a/public/images/emoji/emoji_one/rewind.png and b/public/images/emoji/emoji_one/rewind.png differ diff --git a/public/images/emoji/emoji_one/ribbon.png b/public/images/emoji/emoji_one/ribbon.png index cfd2fd133..bf1077ea2 100644 Binary files a/public/images/emoji/emoji_one/ribbon.png and b/public/images/emoji/emoji_one/ribbon.png differ diff --git a/public/images/emoji/emoji_one/rice.png b/public/images/emoji/emoji_one/rice.png index 5b714c0c9..08f426fd1 100644 Binary files a/public/images/emoji/emoji_one/rice.png and b/public/images/emoji/emoji_one/rice.png differ diff --git a/public/images/emoji/emoji_one/rice_ball.png b/public/images/emoji/emoji_one/rice_ball.png index d3d8ee25c..71891035c 100644 Binary files a/public/images/emoji/emoji_one/rice_ball.png and b/public/images/emoji/emoji_one/rice_ball.png differ diff --git a/public/images/emoji/emoji_one/rice_cracker.png b/public/images/emoji/emoji_one/rice_cracker.png index 6747c6577..9307a05b4 100644 Binary files a/public/images/emoji/emoji_one/rice_cracker.png and b/public/images/emoji/emoji_one/rice_cracker.png differ diff --git a/public/images/emoji/emoji_one/rice_scene.png b/public/images/emoji/emoji_one/rice_scene.png index d4444489f..f4ff8e4bd 100644 Binary files a/public/images/emoji/emoji_one/rice_scene.png and b/public/images/emoji/emoji_one/rice_scene.png differ diff --git a/public/images/emoji/emoji_one/right_anger_bubble.png b/public/images/emoji/emoji_one/right_anger_bubble.png new file mode 100644 index 000000000..9db343ff8 Binary files /dev/null and b/public/images/emoji/emoji_one/right_anger_bubble.png differ diff --git a/public/images/emoji/emoji_one/ring.png b/public/images/emoji/emoji_one/ring.png index 7ef73f783..404111091 100644 Binary files a/public/images/emoji/emoji_one/ring.png and b/public/images/emoji/emoji_one/ring.png differ diff --git a/public/images/emoji/emoji_one/robot.png b/public/images/emoji/emoji_one/robot.png index f67528fc2..0c1844d6d 100644 Binary files a/public/images/emoji/emoji_one/robot.png and b/public/images/emoji/emoji_one/robot.png differ diff --git a/public/images/emoji/emoji_one/robot_face.png b/public/images/emoji/emoji_one/robot_face.png new file mode 100644 index 000000000..0c1844d6d Binary files /dev/null and b/public/images/emoji/emoji_one/robot_face.png differ diff --git a/public/images/emoji/emoji_one/rocket.png b/public/images/emoji/emoji_one/rocket.png index ee13bdcae..b8107c6fd 100644 Binary files a/public/images/emoji/emoji_one/rocket.png and b/public/images/emoji/emoji_one/rocket.png differ diff --git a/public/images/emoji/emoji_one/rolled_up_newspaper.png b/public/images/emoji/emoji_one/rolled_up_newspaper.png new file mode 100644 index 000000000..9bab1e549 Binary files /dev/null and b/public/images/emoji/emoji_one/rolled_up_newspaper.png differ diff --git a/public/images/emoji/emoji_one/roller_coaster.png b/public/images/emoji/emoji_one/roller_coaster.png index b215596bb..32a249eb2 100644 Binary files a/public/images/emoji/emoji_one/roller_coaster.png and b/public/images/emoji/emoji_one/roller_coaster.png differ diff --git a/public/images/emoji/emoji_one/rolling_eyes.png b/public/images/emoji/emoji_one/rolling_eyes.png index 239791ef0..1eec27738 100644 Binary files a/public/images/emoji/emoji_one/rolling_eyes.png and b/public/images/emoji/emoji_one/rolling_eyes.png differ diff --git a/public/images/emoji/emoji_one/rooster.png b/public/images/emoji/emoji_one/rooster.png index 79151adad..15c796fae 100644 Binary files a/public/images/emoji/emoji_one/rooster.png and b/public/images/emoji/emoji_one/rooster.png differ diff --git a/public/images/emoji/emoji_one/rose.png b/public/images/emoji/emoji_one/rose.png index 916b6dad0..303b898e6 100644 Binary files a/public/images/emoji/emoji_one/rose.png and b/public/images/emoji/emoji_one/rose.png differ diff --git a/public/images/emoji/emoji_one/rosette.png b/public/images/emoji/emoji_one/rosette.png index 8b5510d07..1b7e1b4ca 100644 Binary files a/public/images/emoji/emoji_one/rosette.png and b/public/images/emoji/emoji_one/rosette.png differ diff --git a/public/images/emoji/emoji_one/rotating_light.png b/public/images/emoji/emoji_one/rotating_light.png index cad66b0af..0675835a6 100644 Binary files a/public/images/emoji/emoji_one/rotating_light.png and b/public/images/emoji/emoji_one/rotating_light.png differ diff --git a/public/images/emoji/emoji_one/round_pushpin.png b/public/images/emoji/emoji_one/round_pushpin.png index 4d88a794d..71e0b59b6 100644 Binary files a/public/images/emoji/emoji_one/round_pushpin.png and b/public/images/emoji/emoji_one/round_pushpin.png differ diff --git a/public/images/emoji/emoji_one/rowboat.png b/public/images/emoji/emoji_one/rowboat.png index 3cfdfd56c..7c7928dc1 100644 Binary files a/public/images/emoji/emoji_one/rowboat.png and b/public/images/emoji/emoji_one/rowboat.png differ diff --git a/public/images/emoji/emoji_one/ru.png b/public/images/emoji/emoji_one/ru.png index 921b13d37..62b6b21d6 100644 Binary files a/public/images/emoji/emoji_one/ru.png and b/public/images/emoji/emoji_one/ru.png differ diff --git a/public/images/emoji/emoji_one/rugby_football.png b/public/images/emoji/emoji_one/rugby_football.png index b18722734..7e35beb01 100644 Binary files a/public/images/emoji/emoji_one/rugby_football.png and b/public/images/emoji/emoji_one/rugby_football.png differ diff --git a/public/images/emoji/emoji_one/runner.png b/public/images/emoji/emoji_one/runner.png index 238aab4fe..72cef9e85 100644 Binary files a/public/images/emoji/emoji_one/runner.png and b/public/images/emoji/emoji_one/runner.png differ diff --git a/public/images/emoji/emoji_one/running.png b/public/images/emoji/emoji_one/running.png deleted file mode 100644 index 7db0dbb1a..000000000 Binary files a/public/images/emoji/emoji_one/running.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/running_shirt_with_sash.png b/public/images/emoji/emoji_one/running_shirt_with_sash.png index b480f990c..8953f4bd0 100644 Binary files a/public/images/emoji/emoji_one/running_shirt_with_sash.png and b/public/images/emoji/emoji_one/running_shirt_with_sash.png differ diff --git a/public/images/emoji/emoji_one/sa.png b/public/images/emoji/emoji_one/sa.png index 900f96332..19c538273 100644 Binary files a/public/images/emoji/emoji_one/sa.png and b/public/images/emoji/emoji_one/sa.png differ diff --git a/public/images/emoji/emoji_one/sagittarius.png b/public/images/emoji/emoji_one/sagittarius.png index 066a92c1a..9f080ccaa 100644 Binary files a/public/images/emoji/emoji_one/sagittarius.png and b/public/images/emoji/emoji_one/sagittarius.png differ diff --git a/public/images/emoji/emoji_one/sailboat.png b/public/images/emoji/emoji_one/sailboat.png index 492d8fc8b..6e7872f48 100644 Binary files a/public/images/emoji/emoji_one/sailboat.png and b/public/images/emoji/emoji_one/sailboat.png differ diff --git a/public/images/emoji/emoji_one/sake.png b/public/images/emoji/emoji_one/sake.png index 2933f5672..0cf8a2286 100644 Binary files a/public/images/emoji/emoji_one/sake.png and b/public/images/emoji/emoji_one/sake.png differ diff --git a/public/images/emoji/emoji_one/sandal.png b/public/images/emoji/emoji_one/sandal.png index f63030926..4c13fd19f 100644 Binary files a/public/images/emoji/emoji_one/sandal.png and b/public/images/emoji/emoji_one/sandal.png differ diff --git a/public/images/emoji/emoji_one/santa.png b/public/images/emoji/emoji_one/santa.png index 6df1d7e9a..4f5786f87 100644 Binary files a/public/images/emoji/emoji_one/santa.png and b/public/images/emoji/emoji_one/santa.png differ diff --git a/public/images/emoji/emoji_one/satellite.png b/public/images/emoji/emoji_one/satellite.png index 0419774a4..c3ab7d441 100644 Binary files a/public/images/emoji/emoji_one/satellite.png and b/public/images/emoji/emoji_one/satellite.png differ diff --git a/public/images/emoji/emoji_one/satellite_orbital.png b/public/images/emoji/emoji_one/satellite_orbital.png index 4ba55d6e2..27f981e9e 100644 Binary files a/public/images/emoji/emoji_one/satellite_orbital.png and b/public/images/emoji/emoji_one/satellite_orbital.png differ diff --git a/public/images/emoji/emoji_one/satisfied.png b/public/images/emoji/emoji_one/satisfied.png index 836d7074a..a6594d2e5 100644 Binary files a/public/images/emoji/emoji_one/satisfied.png and b/public/images/emoji/emoji_one/satisfied.png differ diff --git a/public/images/emoji/emoji_one/saxophone.png b/public/images/emoji/emoji_one/saxophone.png index b9923a520..b5970ac9e 100644 Binary files a/public/images/emoji/emoji_one/saxophone.png and b/public/images/emoji/emoji_one/saxophone.png differ diff --git a/public/images/emoji/emoji_one/scales.png b/public/images/emoji/emoji_one/scales.png index 0757eda16..3cf079905 100644 Binary files a/public/images/emoji/emoji_one/scales.png and b/public/images/emoji/emoji_one/scales.png differ diff --git a/public/images/emoji/emoji_one/school.png b/public/images/emoji/emoji_one/school.png index 7845c51d6..d2ce16c06 100644 Binary files a/public/images/emoji/emoji_one/school.png and b/public/images/emoji/emoji_one/school.png differ diff --git a/public/images/emoji/emoji_one/school_satchel.png b/public/images/emoji/emoji_one/school_satchel.png index 5a3b539fd..39782759c 100644 Binary files a/public/images/emoji/emoji_one/school_satchel.png and b/public/images/emoji/emoji_one/school_satchel.png differ diff --git a/public/images/emoji/emoji_one/scissors.png b/public/images/emoji/emoji_one/scissors.png index f5f9b4898..88084eae9 100644 Binary files a/public/images/emoji/emoji_one/scissors.png and b/public/images/emoji/emoji_one/scissors.png differ diff --git a/public/images/emoji/emoji_one/scorpion.png b/public/images/emoji/emoji_one/scorpion.png index c5aa50b6b..8ccbe6037 100644 Binary files a/public/images/emoji/emoji_one/scorpion.png and b/public/images/emoji/emoji_one/scorpion.png differ diff --git a/public/images/emoji/emoji_one/scorpius.png b/public/images/emoji/emoji_one/scorpius.png index 658b332d5..a50e56e80 100644 Binary files a/public/images/emoji/emoji_one/scorpius.png and b/public/images/emoji/emoji_one/scorpius.png differ diff --git a/public/images/emoji/emoji_one/scream.png b/public/images/emoji/emoji_one/scream.png index af0a062ae..45efbb75c 100644 Binary files a/public/images/emoji/emoji_one/scream.png and b/public/images/emoji/emoji_one/scream.png differ diff --git a/public/images/emoji/emoji_one/scream_cat.png b/public/images/emoji/emoji_one/scream_cat.png index 24b0cc198..0b04d37d6 100644 Binary files a/public/images/emoji/emoji_one/scream_cat.png and b/public/images/emoji/emoji_one/scream_cat.png differ diff --git a/public/images/emoji/emoji_one/scroll.png b/public/images/emoji/emoji_one/scroll.png index cdbb046cf..b84deb9bd 100644 Binary files a/public/images/emoji/emoji_one/scroll.png and b/public/images/emoji/emoji_one/scroll.png differ diff --git a/public/images/emoji/emoji_one/seat.png b/public/images/emoji/emoji_one/seat.png index 2553ed7a6..fac130fff 100644 Binary files a/public/images/emoji/emoji_one/seat.png and b/public/images/emoji/emoji_one/seat.png differ diff --git a/public/images/emoji/emoji_one/secret.png b/public/images/emoji/emoji_one/secret.png index a908076b4..1b6e6176c 100644 Binary files a/public/images/emoji/emoji_one/secret.png and b/public/images/emoji/emoji_one/secret.png differ diff --git a/public/images/emoji/emoji_one/see_no_evil.png b/public/images/emoji/emoji_one/see_no_evil.png index cbebe743e..6f5ced9b5 100644 Binary files a/public/images/emoji/emoji_one/see_no_evil.png and b/public/images/emoji/emoji_one/see_no_evil.png differ diff --git a/public/images/emoji/emoji_one/seedling.png b/public/images/emoji/emoji_one/seedling.png index c30ae76bf..0401c8dc6 100644 Binary files a/public/images/emoji/emoji_one/seedling.png and b/public/images/emoji/emoji_one/seedling.png differ diff --git a/public/images/emoji/emoji_one/seven.png b/public/images/emoji/emoji_one/seven.png index 9b3476ae7..e69de29bb 100644 Binary files a/public/images/emoji/emoji_one/seven.png and b/public/images/emoji/emoji_one/seven.png differ diff --git a/public/images/emoji/emoji_one/shamrock.png b/public/images/emoji/emoji_one/shamrock.png index 37fe32d99..14e221b62 100644 Binary files a/public/images/emoji/emoji_one/shamrock.png and b/public/images/emoji/emoji_one/shamrock.png differ diff --git a/public/images/emoji/emoji_one/shaved_ice.png b/public/images/emoji/emoji_one/shaved_ice.png index 36dfb53ca..8eac6e904 100644 Binary files a/public/images/emoji/emoji_one/shaved_ice.png and b/public/images/emoji/emoji_one/shaved_ice.png differ diff --git a/public/images/emoji/emoji_one/sheep.png b/public/images/emoji/emoji_one/sheep.png index 54f841b35..b50686cd5 100644 Binary files a/public/images/emoji/emoji_one/sheep.png and b/public/images/emoji/emoji_one/sheep.png differ diff --git a/public/images/emoji/emoji_one/shell.png b/public/images/emoji/emoji_one/shell.png index 55721629f..d78b8a3e6 100644 Binary files a/public/images/emoji/emoji_one/shell.png and b/public/images/emoji/emoji_one/shell.png differ diff --git a/public/images/emoji/emoji_one/shield.png b/public/images/emoji/emoji_one/shield.png index e3dcdbeb5..d45302109 100644 Binary files a/public/images/emoji/emoji_one/shield.png and b/public/images/emoji/emoji_one/shield.png differ diff --git a/public/images/emoji/emoji_one/shinto_shrine.png b/public/images/emoji/emoji_one/shinto_shrine.png index 2050e3fbf..9c4f67c43 100644 Binary files a/public/images/emoji/emoji_one/shinto_shrine.png and b/public/images/emoji/emoji_one/shinto_shrine.png differ diff --git a/public/images/emoji/emoji_one/ship.png b/public/images/emoji/emoji_one/ship.png index 449ac4dd2..4503cd5ea 100644 Binary files a/public/images/emoji/emoji_one/ship.png and b/public/images/emoji/emoji_one/ship.png differ diff --git a/public/images/emoji/emoji_one/shirt.png b/public/images/emoji/emoji_one/shirt.png index af08dec8b..ecf792058 100644 Binary files a/public/images/emoji/emoji_one/shirt.png and b/public/images/emoji/emoji_one/shirt.png differ diff --git a/public/images/emoji/emoji_one/shit.png b/public/images/emoji/emoji_one/shit.png index e9afe47b0..77eb5b9fd 100644 Binary files a/public/images/emoji/emoji_one/shit.png and b/public/images/emoji/emoji_one/shit.png differ diff --git a/public/images/emoji/emoji_one/shoe.png b/public/images/emoji/emoji_one/shoe.png deleted file mode 100644 index cbcc998e6..000000000 Binary files a/public/images/emoji/emoji_one/shoe.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/shopping_bags.png b/public/images/emoji/emoji_one/shopping_bags.png index d5d7548a9..631943416 100644 Binary files a/public/images/emoji/emoji_one/shopping_bags.png and b/public/images/emoji/emoji_one/shopping_bags.png differ diff --git a/public/images/emoji/emoji_one/shower.png b/public/images/emoji/emoji_one/shower.png index 73c6e0c51..35e297cbf 100644 Binary files a/public/images/emoji/emoji_one/shower.png and b/public/images/emoji/emoji_one/shower.png differ diff --git a/public/images/emoji/emoji_one/sign_of_the_horns.png b/public/images/emoji/emoji_one/sign_of_the_horns.png new file mode 100644 index 000000000..da08837ff Binary files /dev/null and b/public/images/emoji/emoji_one/sign_of_the_horns.png differ diff --git a/public/images/emoji/emoji_one/signal_strength.png b/public/images/emoji/emoji_one/signal_strength.png index ee2b5a4b5..b3bfcb6f4 100644 Binary files a/public/images/emoji/emoji_one/signal_strength.png and b/public/images/emoji/emoji_one/signal_strength.png differ diff --git a/public/images/emoji/emoji_one/six.png b/public/images/emoji/emoji_one/six.png index 92990941b..e69de29bb 100644 Binary files a/public/images/emoji/emoji_one/six.png and b/public/images/emoji/emoji_one/six.png differ diff --git a/public/images/emoji/emoji_one/six_pointed_star.png b/public/images/emoji/emoji_one/six_pointed_star.png index 4ac634cba..0f461bf76 100644 Binary files a/public/images/emoji/emoji_one/six_pointed_star.png and b/public/images/emoji/emoji_one/six_pointed_star.png differ diff --git a/public/images/emoji/emoji_one/skeleton.png b/public/images/emoji/emoji_one/skeleton.png new file mode 100644 index 000000000..4e51ce946 Binary files /dev/null and b/public/images/emoji/emoji_one/skeleton.png differ diff --git a/public/images/emoji/emoji_one/ski.png b/public/images/emoji/emoji_one/ski.png index 7c1a5e13e..28c26e3b2 100644 Binary files a/public/images/emoji/emoji_one/ski.png and b/public/images/emoji/emoji_one/ski.png differ diff --git a/public/images/emoji/emoji_one/skier.png b/public/images/emoji/emoji_one/skier.png index 0a9ab3bbc..1aa3148d3 100644 Binary files a/public/images/emoji/emoji_one/skier.png and b/public/images/emoji/emoji_one/skier.png differ diff --git a/public/images/emoji/emoji_one/skull.png b/public/images/emoji/emoji_one/skull.png index 7a59b72db..4e51ce946 100644 Binary files a/public/images/emoji/emoji_one/skull.png and b/public/images/emoji/emoji_one/skull.png differ diff --git a/public/images/emoji/emoji_one/skull_and_crossbones.png b/public/images/emoji/emoji_one/skull_and_crossbones.png new file mode 100644 index 000000000..57ba5833f Binary files /dev/null and b/public/images/emoji/emoji_one/skull_and_crossbones.png differ diff --git a/public/images/emoji/emoji_one/skull_crossbones.png b/public/images/emoji/emoji_one/skull_crossbones.png index 814fbcf33..57ba5833f 100644 Binary files a/public/images/emoji/emoji_one/skull_crossbones.png and b/public/images/emoji/emoji_one/skull_crossbones.png differ diff --git a/public/images/emoji/emoji_one/sleeping.png b/public/images/emoji/emoji_one/sleeping.png index 9ecf600d6..4a6a7a850 100644 Binary files a/public/images/emoji/emoji_one/sleeping.png and b/public/images/emoji/emoji_one/sleeping.png differ diff --git a/public/images/emoji/emoji_one/sleeping_accommodation.png b/public/images/emoji/emoji_one/sleeping_accommodation.png index 20ccdbbaf..b5b231d5a 100644 Binary files a/public/images/emoji/emoji_one/sleeping_accommodation.png and b/public/images/emoji/emoji_one/sleeping_accommodation.png differ diff --git a/public/images/emoji/emoji_one/sleepy.png b/public/images/emoji/emoji_one/sleepy.png index 8b3f70902..35d765269 100644 Binary files a/public/images/emoji/emoji_one/sleepy.png and b/public/images/emoji/emoji_one/sleepy.png differ diff --git a/public/images/emoji/emoji_one/sleuth_or_spy.png b/public/images/emoji/emoji_one/sleuth_or_spy.png new file mode 100644 index 000000000..0e0ad49b6 Binary files /dev/null and b/public/images/emoji/emoji_one/sleuth_or_spy.png differ diff --git a/public/images/emoji/emoji_one/slight_frown.png b/public/images/emoji/emoji_one/slight_frown.png index 3228ce8c9..72d3d96f6 100644 Binary files a/public/images/emoji/emoji_one/slight_frown.png and b/public/images/emoji/emoji_one/slight_frown.png differ diff --git a/public/images/emoji/emoji_one/slight_smile.png b/public/images/emoji/emoji_one/slight_smile.png index 1750e7f2b..c40491e67 100644 Binary files a/public/images/emoji/emoji_one/slight_smile.png and b/public/images/emoji/emoji_one/slight_smile.png differ diff --git a/public/images/emoji/emoji_one/slightly_frowning_face.png b/public/images/emoji/emoji_one/slightly_frowning_face.png new file mode 100644 index 000000000..72d3d96f6 Binary files /dev/null and b/public/images/emoji/emoji_one/slightly_frowning_face.png differ diff --git a/public/images/emoji/emoji_one/slightly_smiling.png b/public/images/emoji/emoji_one/slightly_smiling.png deleted file mode 100644 index 5256da45c..000000000 Binary files a/public/images/emoji/emoji_one/slightly_smiling.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/slightly_smiling_face.png b/public/images/emoji/emoji_one/slightly_smiling_face.png new file mode 100644 index 000000000..c40491e67 Binary files /dev/null and b/public/images/emoji/emoji_one/slightly_smiling_face.png differ diff --git a/public/images/emoji/emoji_one/slot_machine.png b/public/images/emoji/emoji_one/slot_machine.png index 448dfa872..e7df76618 100644 Binary files a/public/images/emoji/emoji_one/slot_machine.png and b/public/images/emoji/emoji_one/slot_machine.png differ diff --git a/public/images/emoji/emoji_one/small_airplane.png b/public/images/emoji/emoji_one/small_airplane.png new file mode 100644 index 000000000..217b0b85a Binary files /dev/null and b/public/images/emoji/emoji_one/small_airplane.png differ diff --git a/public/images/emoji/emoji_one/small_blue_diamond.png b/public/images/emoji/emoji_one/small_blue_diamond.png index 00f2bcf01..7293d4294 100644 Binary files a/public/images/emoji/emoji_one/small_blue_diamond.png and b/public/images/emoji/emoji_one/small_blue_diamond.png differ diff --git a/public/images/emoji/emoji_one/small_orange_diamond.png b/public/images/emoji/emoji_one/small_orange_diamond.png index ab875b397..5f71ecdf0 100644 Binary files a/public/images/emoji/emoji_one/small_orange_diamond.png and b/public/images/emoji/emoji_one/small_orange_diamond.png differ diff --git a/public/images/emoji/emoji_one/small_red_triangle.png b/public/images/emoji/emoji_one/small_red_triangle.png index 49c8bebbf..235548934 100644 Binary files a/public/images/emoji/emoji_one/small_red_triangle.png and b/public/images/emoji/emoji_one/small_red_triangle.png differ diff --git a/public/images/emoji/emoji_one/small_red_triangle_down.png b/public/images/emoji/emoji_one/small_red_triangle_down.png index f14b48b65..b72afa6f9 100644 Binary files a/public/images/emoji/emoji_one/small_red_triangle_down.png and b/public/images/emoji/emoji_one/small_red_triangle_down.png differ diff --git a/public/images/emoji/emoji_one/smile.png b/public/images/emoji/emoji_one/smile.png index b801132c2..efe65f3b8 100644 Binary files a/public/images/emoji/emoji_one/smile.png and b/public/images/emoji/emoji_one/smile.png differ diff --git a/public/images/emoji/emoji_one/smile_cat.png b/public/images/emoji/emoji_one/smile_cat.png index f503977d1..16145530f 100644 Binary files a/public/images/emoji/emoji_one/smile_cat.png and b/public/images/emoji/emoji_one/smile_cat.png differ diff --git a/public/images/emoji/emoji_one/smiley.png b/public/images/emoji/emoji_one/smiley.png index 210cd4b7b..f82b80581 100644 Binary files a/public/images/emoji/emoji_one/smiley.png and b/public/images/emoji/emoji_one/smiley.png differ diff --git a/public/images/emoji/emoji_one/smiley_cat.png b/public/images/emoji/emoji_one/smiley_cat.png index 0a11b386d..c489ba35f 100644 Binary files a/public/images/emoji/emoji_one/smiley_cat.png and b/public/images/emoji/emoji_one/smiley_cat.png differ diff --git a/public/images/emoji/emoji_one/smiling_imp.png b/public/images/emoji/emoji_one/smiling_imp.png index ec809bab2..865a21377 100644 Binary files a/public/images/emoji/emoji_one/smiling_imp.png and b/public/images/emoji/emoji_one/smiling_imp.png differ diff --git a/public/images/emoji/emoji_one/smirk.png b/public/images/emoji/emoji_one/smirk.png index a84c32b59..163faee7e 100644 Binary files a/public/images/emoji/emoji_one/smirk.png and b/public/images/emoji/emoji_one/smirk.png differ diff --git a/public/images/emoji/emoji_one/smirk_cat.png b/public/images/emoji/emoji_one/smirk_cat.png index 7560d6ae2..2942825c0 100644 Binary files a/public/images/emoji/emoji_one/smirk_cat.png and b/public/images/emoji/emoji_one/smirk_cat.png differ diff --git a/public/images/emoji/emoji_one/smoking.png b/public/images/emoji/emoji_one/smoking.png index 910f648c8..96944185b 100644 Binary files a/public/images/emoji/emoji_one/smoking.png and b/public/images/emoji/emoji_one/smoking.png differ diff --git a/public/images/emoji/emoji_one/snail.png b/public/images/emoji/emoji_one/snail.png index 85170bcbb..f17102969 100644 Binary files a/public/images/emoji/emoji_one/snail.png and b/public/images/emoji/emoji_one/snail.png differ diff --git a/public/images/emoji/emoji_one/snake.png b/public/images/emoji/emoji_one/snake.png index d0278a28d..17995513c 100644 Binary files a/public/images/emoji/emoji_one/snake.png and b/public/images/emoji/emoji_one/snake.png differ diff --git a/public/images/emoji/emoji_one/snow_capped_mountain.png b/public/images/emoji/emoji_one/snow_capped_mountain.png new file mode 100644 index 000000000..fcf09dab6 Binary files /dev/null and b/public/images/emoji/emoji_one/snow_capped_mountain.png differ diff --git a/public/images/emoji/emoji_one/snowboarder.png b/public/images/emoji/emoji_one/snowboarder.png index f3979f144..a1c4cfcf3 100644 Binary files a/public/images/emoji/emoji_one/snowboarder.png and b/public/images/emoji/emoji_one/snowboarder.png differ diff --git a/public/images/emoji/emoji_one/snowflake.png b/public/images/emoji/emoji_one/snowflake.png index db319a77e..01360220a 100644 Binary files a/public/images/emoji/emoji_one/snowflake.png and b/public/images/emoji/emoji_one/snowflake.png differ diff --git a/public/images/emoji/emoji_one/snowman.png b/public/images/emoji/emoji_one/snowman.png index 833815ecf..55c82a95c 100644 Binary files a/public/images/emoji/emoji_one/snowman.png and b/public/images/emoji/emoji_one/snowman.png differ diff --git a/public/images/emoji/emoji_one/snowman2.png b/public/images/emoji/emoji_one/snowman2.png index 4fa22e158..87c6724c7 100644 Binary files a/public/images/emoji/emoji_one/snowman2.png and b/public/images/emoji/emoji_one/snowman2.png differ diff --git a/public/images/emoji/emoji_one/sob.png b/public/images/emoji/emoji_one/sob.png index abe4cff9b..3c63c1a34 100644 Binary files a/public/images/emoji/emoji_one/sob.png and b/public/images/emoji/emoji_one/sob.png differ diff --git a/public/images/emoji/emoji_one/soccer.png b/public/images/emoji/emoji_one/soccer.png index 07dbeede9..65eceea98 100644 Binary files a/public/images/emoji/emoji_one/soccer.png and b/public/images/emoji/emoji_one/soccer.png differ diff --git a/public/images/emoji/emoji_one/soon.png b/public/images/emoji/emoji_one/soon.png index 8cdfd8669..c56de37b9 100644 Binary files a/public/images/emoji/emoji_one/soon.png and b/public/images/emoji/emoji_one/soon.png differ diff --git a/public/images/emoji/emoji_one/sos.png b/public/images/emoji/emoji_one/sos.png index d7d8c9953..9b1e4bba8 100644 Binary files a/public/images/emoji/emoji_one/sos.png and b/public/images/emoji/emoji_one/sos.png differ diff --git a/public/images/emoji/emoji_one/sound.png b/public/images/emoji/emoji_one/sound.png index 24e3e4fad..09adf65c3 100644 Binary files a/public/images/emoji/emoji_one/sound.png and b/public/images/emoji/emoji_one/sound.png differ diff --git a/public/images/emoji/emoji_one/space_invader.png b/public/images/emoji/emoji_one/space_invader.png index 2e73f5f32..a964e9fde 100644 Binary files a/public/images/emoji/emoji_one/space_invader.png and b/public/images/emoji/emoji_one/space_invader.png differ diff --git a/public/images/emoji/emoji_one/spades.png b/public/images/emoji/emoji_one/spades.png index f822f184c..49d963bb3 100644 Binary files a/public/images/emoji/emoji_one/spades.png and b/public/images/emoji/emoji_one/spades.png differ diff --git a/public/images/emoji/emoji_one/spaghetti.png b/public/images/emoji/emoji_one/spaghetti.png index 2c15465a9..5d9f9c948 100644 Binary files a/public/images/emoji/emoji_one/spaghetti.png and b/public/images/emoji/emoji_one/spaghetti.png differ diff --git a/public/images/emoji/emoji_one/sparkle.png b/public/images/emoji/emoji_one/sparkle.png index 8c2f64c40..d980fe699 100644 Binary files a/public/images/emoji/emoji_one/sparkle.png and b/public/images/emoji/emoji_one/sparkle.png differ diff --git a/public/images/emoji/emoji_one/sparkler.png b/public/images/emoji/emoji_one/sparkler.png index 30339cd6e..bcae44a78 100644 Binary files a/public/images/emoji/emoji_one/sparkler.png and b/public/images/emoji/emoji_one/sparkler.png differ diff --git a/public/images/emoji/emoji_one/sparkles.png b/public/images/emoji/emoji_one/sparkles.png index 62b3a6329..3cbacb46e 100644 Binary files a/public/images/emoji/emoji_one/sparkles.png and b/public/images/emoji/emoji_one/sparkles.png differ diff --git a/public/images/emoji/emoji_one/sparkling_heart.png b/public/images/emoji/emoji_one/sparkling_heart.png index 9861908a2..9f3734bdd 100644 Binary files a/public/images/emoji/emoji_one/sparkling_heart.png and b/public/images/emoji/emoji_one/sparkling_heart.png differ diff --git a/public/images/emoji/emoji_one/speak_no_evil.png b/public/images/emoji/emoji_one/speak_no_evil.png index f829849da..c6deac879 100644 Binary files a/public/images/emoji/emoji_one/speak_no_evil.png and b/public/images/emoji/emoji_one/speak_no_evil.png differ diff --git a/public/images/emoji/emoji_one/speaker.png b/public/images/emoji/emoji_one/speaker.png index 263ac24f4..57a70b96b 100644 Binary files a/public/images/emoji/emoji_one/speaker.png and b/public/images/emoji/emoji_one/speaker.png differ diff --git a/public/images/emoji/emoji_one/speaking_head.png b/public/images/emoji/emoji_one/speaking_head.png index 0fbd8049f..b84d9b048 100644 Binary files a/public/images/emoji/emoji_one/speaking_head.png and b/public/images/emoji/emoji_one/speaking_head.png differ diff --git a/public/images/emoji/emoji_one/speaking_head_in_silhouette.png b/public/images/emoji/emoji_one/speaking_head_in_silhouette.png new file mode 100644 index 000000000..b84d9b048 Binary files /dev/null and b/public/images/emoji/emoji_one/speaking_head_in_silhouette.png differ diff --git a/public/images/emoji/emoji_one/speech_balloon.png b/public/images/emoji/emoji_one/speech_balloon.png index 77baaa546..84b3f21e4 100644 Binary files a/public/images/emoji/emoji_one/speech_balloon.png and b/public/images/emoji/emoji_one/speech_balloon.png differ diff --git a/public/images/emoji/emoji_one/speedboat.png b/public/images/emoji/emoji_one/speedboat.png index dbe7975c5..39ae11a2a 100644 Binary files a/public/images/emoji/emoji_one/speedboat.png and b/public/images/emoji/emoji_one/speedboat.png differ diff --git a/public/images/emoji/emoji_one/spider.png b/public/images/emoji/emoji_one/spider.png index 8660dd9f8..0e8f42dea 100644 Binary files a/public/images/emoji/emoji_one/spider.png and b/public/images/emoji/emoji_one/spider.png differ diff --git a/public/images/emoji/emoji_one/spider_web.png b/public/images/emoji/emoji_one/spider_web.png index 944323c8a..fc4532a4e 100644 Binary files a/public/images/emoji/emoji_one/spider_web.png and b/public/images/emoji/emoji_one/spider_web.png differ diff --git a/public/images/emoji/emoji_one/spiral_calendar_pad.png b/public/images/emoji/emoji_one/spiral_calendar_pad.png new file mode 100644 index 000000000..50fb5e044 Binary files /dev/null and b/public/images/emoji/emoji_one/spiral_calendar_pad.png differ diff --git a/public/images/emoji/emoji_one/spiral_note_pad.png b/public/images/emoji/emoji_one/spiral_note_pad.png new file mode 100644 index 000000000..3137300cb Binary files /dev/null and b/public/images/emoji/emoji_one/spiral_note_pad.png differ diff --git a/public/images/emoji/emoji_one/sports_medal.png b/public/images/emoji/emoji_one/sports_medal.png new file mode 100644 index 000000000..b5f122fc5 Binary files /dev/null and b/public/images/emoji/emoji_one/sports_medal.png differ diff --git a/public/images/emoji/emoji_one/spy.png b/public/images/emoji/emoji_one/spy.png index a729e9584..0e0ad49b6 100644 Binary files a/public/images/emoji/emoji_one/spy.png and b/public/images/emoji/emoji_one/spy.png differ diff --git a/public/images/emoji/emoji_one/stadium.png b/public/images/emoji/emoji_one/stadium.png index 4c46926b1..e1a45f0b9 100644 Binary files a/public/images/emoji/emoji_one/stadium.png and b/public/images/emoji/emoji_one/stadium.png differ diff --git a/public/images/emoji/emoji_one/star.png b/public/images/emoji/emoji_one/star.png index f64b037b2..6af620098 100644 Binary files a/public/images/emoji/emoji_one/star.png and b/public/images/emoji/emoji_one/star.png differ diff --git a/public/images/emoji/emoji_one/star2.png b/public/images/emoji/emoji_one/star2.png index ad4072d8e..e7b4194d7 100644 Binary files a/public/images/emoji/emoji_one/star2.png and b/public/images/emoji/emoji_one/star2.png differ diff --git a/public/images/emoji/emoji_one/star_and_crescent.png b/public/images/emoji/emoji_one/star_and_crescent.png index 65fb7aa99..a00bc5b19 100644 Binary files a/public/images/emoji/emoji_one/star_and_crescent.png and b/public/images/emoji/emoji_one/star_and_crescent.png differ diff --git a/public/images/emoji/emoji_one/star_of_david.png b/public/images/emoji/emoji_one/star_of_david.png index a2b519bca..f1f8b67e9 100644 Binary files a/public/images/emoji/emoji_one/star_of_david.png and b/public/images/emoji/emoji_one/star_of_david.png differ diff --git a/public/images/emoji/emoji_one/stars.png b/public/images/emoji/emoji_one/stars.png index aa45384d1..3435cd711 100644 Binary files a/public/images/emoji/emoji_one/stars.png and b/public/images/emoji/emoji_one/stars.png differ diff --git a/public/images/emoji/emoji_one/station.png b/public/images/emoji/emoji_one/station.png index 5c26fee52..1b0788252 100644 Binary files a/public/images/emoji/emoji_one/station.png and b/public/images/emoji/emoji_one/station.png differ diff --git a/public/images/emoji/emoji_one/statue_of_liberty.png b/public/images/emoji/emoji_one/statue_of_liberty.png index 6c7464bdf..488c70779 100644 Binary files a/public/images/emoji/emoji_one/statue_of_liberty.png and b/public/images/emoji/emoji_one/statue_of_liberty.png differ diff --git a/public/images/emoji/emoji_one/steam_locomotive.png b/public/images/emoji/emoji_one/steam_locomotive.png index 0fb6295fb..1617cf348 100644 Binary files a/public/images/emoji/emoji_one/steam_locomotive.png and b/public/images/emoji/emoji_one/steam_locomotive.png differ diff --git a/public/images/emoji/emoji_one/stew.png b/public/images/emoji/emoji_one/stew.png index d317bf43c..e5f8f89e9 100644 Binary files a/public/images/emoji/emoji_one/stew.png and b/public/images/emoji/emoji_one/stew.png differ diff --git a/public/images/emoji/emoji_one/stop_button.png b/public/images/emoji/emoji_one/stop_button.png index 098ba645a..b24d96236 100644 Binary files a/public/images/emoji/emoji_one/stop_button.png and b/public/images/emoji/emoji_one/stop_button.png differ diff --git a/public/images/emoji/emoji_one/stopwatch.png b/public/images/emoji/emoji_one/stopwatch.png index d356fb930..c52ceec6d 100644 Binary files a/public/images/emoji/emoji_one/stopwatch.png and b/public/images/emoji/emoji_one/stopwatch.png differ diff --git a/public/images/emoji/emoji_one/straight_ruler.png b/public/images/emoji/emoji_one/straight_ruler.png index 7dbcdce54..d014058c8 100644 Binary files a/public/images/emoji/emoji_one/straight_ruler.png and b/public/images/emoji/emoji_one/straight_ruler.png differ diff --git a/public/images/emoji/emoji_one/strawberry.png b/public/images/emoji/emoji_one/strawberry.png index 7bb86f0b2..8bac8aa8b 100644 Binary files a/public/images/emoji/emoji_one/strawberry.png and b/public/images/emoji/emoji_one/strawberry.png differ diff --git a/public/images/emoji/emoji_one/stuck_out_tongue.png b/public/images/emoji/emoji_one/stuck_out_tongue.png index f2d7655b5..a4db2c08b 100644 Binary files a/public/images/emoji/emoji_one/stuck_out_tongue.png and b/public/images/emoji/emoji_one/stuck_out_tongue.png differ diff --git a/public/images/emoji/emoji_one/stuck_out_tongue_closed_eyes.png b/public/images/emoji/emoji_one/stuck_out_tongue_closed_eyes.png index 577c9127f..ccac72048 100644 Binary files a/public/images/emoji/emoji_one/stuck_out_tongue_closed_eyes.png and b/public/images/emoji/emoji_one/stuck_out_tongue_closed_eyes.png differ diff --git a/public/images/emoji/emoji_one/stuck_out_tongue_winking_eye.png b/public/images/emoji/emoji_one/stuck_out_tongue_winking_eye.png index ea156fcfd..9b32aedf2 100644 Binary files a/public/images/emoji/emoji_one/stuck_out_tongue_winking_eye.png and b/public/images/emoji/emoji_one/stuck_out_tongue_winking_eye.png differ diff --git a/public/images/emoji/emoji_one/studio_microphone.png b/public/images/emoji/emoji_one/studio_microphone.png new file mode 100644 index 000000000..807d3bac9 Binary files /dev/null and b/public/images/emoji/emoji_one/studio_microphone.png differ diff --git a/public/images/emoji/emoji_one/sun_with_face.png b/public/images/emoji/emoji_one/sun_with_face.png index 96937eb96..3a9eab8dc 100644 Binary files a/public/images/emoji/emoji_one/sun_with_face.png and b/public/images/emoji/emoji_one/sun_with_face.png differ diff --git a/public/images/emoji/emoji_one/sunflower.png b/public/images/emoji/emoji_one/sunflower.png index 5a5530f7a..2198a7c30 100644 Binary files a/public/images/emoji/emoji_one/sunflower.png and b/public/images/emoji/emoji_one/sunflower.png differ diff --git a/public/images/emoji/emoji_one/sunglasses.png b/public/images/emoji/emoji_one/sunglasses.png index 0229a235e..7fb7881bd 100644 Binary files a/public/images/emoji/emoji_one/sunglasses.png and b/public/images/emoji/emoji_one/sunglasses.png differ diff --git a/public/images/emoji/emoji_one/sunny.png b/public/images/emoji/emoji_one/sunny.png index 8fe297812..c3091a74d 100644 Binary files a/public/images/emoji/emoji_one/sunny.png and b/public/images/emoji/emoji_one/sunny.png differ diff --git a/public/images/emoji/emoji_one/sunrise.png b/public/images/emoji/emoji_one/sunrise.png index 9d0c5718b..a7b5118f8 100644 Binary files a/public/images/emoji/emoji_one/sunrise.png and b/public/images/emoji/emoji_one/sunrise.png differ diff --git a/public/images/emoji/emoji_one/sunrise_over_mountains.png b/public/images/emoji/emoji_one/sunrise_over_mountains.png index 30be4a8e5..db68afdce 100644 Binary files a/public/images/emoji/emoji_one/sunrise_over_mountains.png and b/public/images/emoji/emoji_one/sunrise_over_mountains.png differ diff --git a/public/images/emoji/emoji_one/surfer.png b/public/images/emoji/emoji_one/surfer.png index e0f90761c..51ee0c0f2 100644 Binary files a/public/images/emoji/emoji_one/surfer.png and b/public/images/emoji/emoji_one/surfer.png differ diff --git a/public/images/emoji/emoji_one/sushi.png b/public/images/emoji/emoji_one/sushi.png index df5a398dc..4db4fde6f 100644 Binary files a/public/images/emoji/emoji_one/sushi.png and b/public/images/emoji/emoji_one/sushi.png differ diff --git a/public/images/emoji/emoji_one/suspension_railway.png b/public/images/emoji/emoji_one/suspension_railway.png index a59d5f48c..2faa0ec20 100644 Binary files a/public/images/emoji/emoji_one/suspension_railway.png and b/public/images/emoji/emoji_one/suspension_railway.png differ diff --git a/public/images/emoji/emoji_one/sweat.png b/public/images/emoji/emoji_one/sweat.png index 32dce00bf..2f115f599 100644 Binary files a/public/images/emoji/emoji_one/sweat.png and b/public/images/emoji/emoji_one/sweat.png differ diff --git a/public/images/emoji/emoji_one/sweat_drops.png b/public/images/emoji/emoji_one/sweat_drops.png index 7da19b28b..35c665b7e 100644 Binary files a/public/images/emoji/emoji_one/sweat_drops.png and b/public/images/emoji/emoji_one/sweat_drops.png differ diff --git a/public/images/emoji/emoji_one/sweat_smile.png b/public/images/emoji/emoji_one/sweat_smile.png index cb18d9c89..21a207cfb 100644 Binary files a/public/images/emoji/emoji_one/sweat_smile.png and b/public/images/emoji/emoji_one/sweat_smile.png differ diff --git a/public/images/emoji/emoji_one/sweet_potato.png b/public/images/emoji/emoji_one/sweet_potato.png index 92a425f2e..07f500009 100644 Binary files a/public/images/emoji/emoji_one/sweet_potato.png and b/public/images/emoji/emoji_one/sweet_potato.png differ diff --git a/public/images/emoji/emoji_one/swimmer.png b/public/images/emoji/emoji_one/swimmer.png index 7b9950cc5..2ea06214d 100644 Binary files a/public/images/emoji/emoji_one/swimmer.png and b/public/images/emoji/emoji_one/swimmer.png differ diff --git a/public/images/emoji/emoji_one/symbols.png b/public/images/emoji/emoji_one/symbols.png index e26021609..24693dc49 100644 Binary files a/public/images/emoji/emoji_one/symbols.png and b/public/images/emoji/emoji_one/symbols.png differ diff --git a/public/images/emoji/emoji_one/synagogue.png b/public/images/emoji/emoji_one/synagogue.png index ee347904c..0aeec7a5d 100644 Binary files a/public/images/emoji/emoji_one/synagogue.png and b/public/images/emoji/emoji_one/synagogue.png differ diff --git a/public/images/emoji/emoji_one/syringe.png b/public/images/emoji/emoji_one/syringe.png index 3a5e85150..5d163a8f9 100644 Binary files a/public/images/emoji/emoji_one/syringe.png and b/public/images/emoji/emoji_one/syringe.png differ diff --git a/public/images/emoji/emoji_one/table_tennis.png b/public/images/emoji/emoji_one/table_tennis.png new file mode 100644 index 000000000..057c1dbcd Binary files /dev/null and b/public/images/emoji/emoji_one/table_tennis.png differ diff --git a/public/images/emoji/emoji_one/taco.png b/public/images/emoji/emoji_one/taco.png index c169cdc8b..71efba83a 100644 Binary files a/public/images/emoji/emoji_one/taco.png and b/public/images/emoji/emoji_one/taco.png differ diff --git a/public/images/emoji/emoji_one/tada.png b/public/images/emoji/emoji_one/tada.png index 6ba8b0ddf..35e4a5e0d 100644 Binary files a/public/images/emoji/emoji_one/tada.png and b/public/images/emoji/emoji_one/tada.png differ diff --git a/public/images/emoji/emoji_one/tanabata_tree.png b/public/images/emoji/emoji_one/tanabata_tree.png index 29352b36a..74e1d13de 100644 Binary files a/public/images/emoji/emoji_one/tanabata_tree.png and b/public/images/emoji/emoji_one/tanabata_tree.png differ diff --git a/public/images/emoji/emoji_one/tangerine.png b/public/images/emoji/emoji_one/tangerine.png index d22dd62ef..add423a82 100644 Binary files a/public/images/emoji/emoji_one/tangerine.png and b/public/images/emoji/emoji_one/tangerine.png differ diff --git a/public/images/emoji/emoji_one/taurus.png b/public/images/emoji/emoji_one/taurus.png index 44d132b95..ca8437ad0 100644 Binary files a/public/images/emoji/emoji_one/taurus.png and b/public/images/emoji/emoji_one/taurus.png differ diff --git a/public/images/emoji/emoji_one/taxi.png b/public/images/emoji/emoji_one/taxi.png index 7961f2a34..5e9456921 100644 Binary files a/public/images/emoji/emoji_one/taxi.png and b/public/images/emoji/emoji_one/taxi.png differ diff --git a/public/images/emoji/emoji_one/tea.png b/public/images/emoji/emoji_one/tea.png index 47b649267..99515934e 100644 Binary files a/public/images/emoji/emoji_one/tea.png and b/public/images/emoji/emoji_one/tea.png differ diff --git a/public/images/emoji/emoji_one/telephone.png b/public/images/emoji/emoji_one/telephone.png index a5ba3e03b..c9fa2f375 100644 Binary files a/public/images/emoji/emoji_one/telephone.png and b/public/images/emoji/emoji_one/telephone.png differ diff --git a/public/images/emoji/emoji_one/telephone_receiver.png b/public/images/emoji/emoji_one/telephone_receiver.png index b8d624a14..468fe1d5e 100644 Binary files a/public/images/emoji/emoji_one/telephone_receiver.png and b/public/images/emoji/emoji_one/telephone_receiver.png differ diff --git a/public/images/emoji/emoji_one/telescope.png b/public/images/emoji/emoji_one/telescope.png index 4f27b8a70..ad05516da 100644 Binary files a/public/images/emoji/emoji_one/telescope.png and b/public/images/emoji/emoji_one/telescope.png differ diff --git a/public/images/emoji/emoji_one/ten.png b/public/images/emoji/emoji_one/ten.png index 782d40049..c1ec395ca 100644 Binary files a/public/images/emoji/emoji_one/ten.png and b/public/images/emoji/emoji_one/ten.png differ diff --git a/public/images/emoji/emoji_one/tennis.png b/public/images/emoji/emoji_one/tennis.png index 6c6d4b94c..f9ca8c5c1 100644 Binary files a/public/images/emoji/emoji_one/tennis.png and b/public/images/emoji/emoji_one/tennis.png differ diff --git a/public/images/emoji/emoji_one/tent.png b/public/images/emoji/emoji_one/tent.png index 40d2f0cea..95b8e4739 100644 Binary files a/public/images/emoji/emoji_one/tent.png and b/public/images/emoji/emoji_one/tent.png differ diff --git a/public/images/emoji/emoji_one/thermometer.png b/public/images/emoji/emoji_one/thermometer.png index b11473924..f71af59c0 100644 Binary files a/public/images/emoji/emoji_one/thermometer.png and b/public/images/emoji/emoji_one/thermometer.png differ diff --git a/public/images/emoji/emoji_one/thermometer_face.png b/public/images/emoji/emoji_one/thermometer_face.png index f7b3397fb..9722ff821 100644 Binary files a/public/images/emoji/emoji_one/thermometer_face.png and b/public/images/emoji/emoji_one/thermometer_face.png differ diff --git a/public/images/emoji/emoji_one/thinking.png b/public/images/emoji/emoji_one/thinking.png index df11453c3..f174f7ca2 100644 Binary files a/public/images/emoji/emoji_one/thinking.png and b/public/images/emoji/emoji_one/thinking.png differ diff --git a/public/images/emoji/emoji_one/thinking_face.png b/public/images/emoji/emoji_one/thinking_face.png new file mode 100644 index 000000000..f174f7ca2 Binary files /dev/null and b/public/images/emoji/emoji_one/thinking_face.png differ diff --git a/public/images/emoji/emoji_one/thought_balloon.png b/public/images/emoji/emoji_one/thought_balloon.png index d5a35cf43..0eceaa4d1 100644 Binary files a/public/images/emoji/emoji_one/thought_balloon.png and b/public/images/emoji/emoji_one/thought_balloon.png differ diff --git a/public/images/emoji/emoji_one/three.png b/public/images/emoji/emoji_one/three.png index fea0f3eb3..e69de29bb 100644 Binary files a/public/images/emoji/emoji_one/three.png and b/public/images/emoji/emoji_one/three.png differ diff --git a/public/images/emoji/emoji_one/three_button_mouse.png b/public/images/emoji/emoji_one/three_button_mouse.png new file mode 100644 index 000000000..b03f1583b Binary files /dev/null and b/public/images/emoji/emoji_one/three_button_mouse.png differ diff --git a/public/images/emoji/emoji_one/thumbsdown.png b/public/images/emoji/emoji_one/thumbsdown.png index 2f10455f6..c8e3213e3 100644 Binary files a/public/images/emoji/emoji_one/thumbsdown.png and b/public/images/emoji/emoji_one/thumbsdown.png differ diff --git a/public/images/emoji/emoji_one/thumbsup.png b/public/images/emoji/emoji_one/thumbsup.png index 4b367e987..8cb59b1cf 100644 Binary files a/public/images/emoji/emoji_one/thumbsup.png and b/public/images/emoji/emoji_one/thumbsup.png differ diff --git a/public/images/emoji/emoji_one/thunder_cloud_and_rain.png b/public/images/emoji/emoji_one/thunder_cloud_and_rain.png new file mode 100644 index 000000000..93485b0a4 Binary files /dev/null and b/public/images/emoji/emoji_one/thunder_cloud_and_rain.png differ diff --git a/public/images/emoji/emoji_one/thunder_cloud_rain.png b/public/images/emoji/emoji_one/thunder_cloud_rain.png index 745cb16a2..93485b0a4 100644 Binary files a/public/images/emoji/emoji_one/thunder_cloud_rain.png and b/public/images/emoji/emoji_one/thunder_cloud_rain.png differ diff --git a/public/images/emoji/emoji_one/ticket.png b/public/images/emoji/emoji_one/ticket.png index 9c2daa89e..d68cb6789 100644 Binary files a/public/images/emoji/emoji_one/ticket.png and b/public/images/emoji/emoji_one/ticket.png differ diff --git a/public/images/emoji/emoji_one/tickets.png b/public/images/emoji/emoji_one/tickets.png index 5a12a7ecb..4f6a24f97 100644 Binary files a/public/images/emoji/emoji_one/tickets.png and b/public/images/emoji/emoji_one/tickets.png differ diff --git a/public/images/emoji/emoji_one/tiger.png b/public/images/emoji/emoji_one/tiger.png index 95098d7cb..673cbadc7 100644 Binary files a/public/images/emoji/emoji_one/tiger.png and b/public/images/emoji/emoji_one/tiger.png differ diff --git a/public/images/emoji/emoji_one/tiger2.png b/public/images/emoji/emoji_one/tiger2.png index ff7e5402b..9533a5d15 100644 Binary files a/public/images/emoji/emoji_one/tiger2.png and b/public/images/emoji/emoji_one/tiger2.png differ diff --git a/public/images/emoji/emoji_one/timer.png b/public/images/emoji/emoji_one/timer.png index 38f16db27..a8d186518 100644 Binary files a/public/images/emoji/emoji_one/timer.png and b/public/images/emoji/emoji_one/timer.png differ diff --git a/public/images/emoji/emoji_one/timer_clock.png b/public/images/emoji/emoji_one/timer_clock.png new file mode 100644 index 000000000..a8d186518 Binary files /dev/null and b/public/images/emoji/emoji_one/timer_clock.png differ diff --git a/public/images/emoji/emoji_one/tired_face.png b/public/images/emoji/emoji_one/tired_face.png index 6a4c0727f..077e91d13 100644 Binary files a/public/images/emoji/emoji_one/tired_face.png and b/public/images/emoji/emoji_one/tired_face.png differ diff --git a/public/images/emoji/emoji_one/tm.png b/public/images/emoji/emoji_one/tm.png index 7a0c44a2c..e8be4904a 100644 Binary files a/public/images/emoji/emoji_one/tm.png and b/public/images/emoji/emoji_one/tm.png differ diff --git a/public/images/emoji/emoji_one/toilet.png b/public/images/emoji/emoji_one/toilet.png index e67bbe399..922d58d01 100644 Binary files a/public/images/emoji/emoji_one/toilet.png and b/public/images/emoji/emoji_one/toilet.png differ diff --git a/public/images/emoji/emoji_one/tokyo_tower.png b/public/images/emoji/emoji_one/tokyo_tower.png index 2642bfb6b..91e6e3e21 100644 Binary files a/public/images/emoji/emoji_one/tokyo_tower.png and b/public/images/emoji/emoji_one/tokyo_tower.png differ diff --git a/public/images/emoji/emoji_one/tomato.png b/public/images/emoji/emoji_one/tomato.png index 65994ebf2..c91633e3e 100644 Binary files a/public/images/emoji/emoji_one/tomato.png and b/public/images/emoji/emoji_one/tomato.png differ diff --git a/public/images/emoji/emoji_one/tongue.png b/public/images/emoji/emoji_one/tongue.png index 27fd40fb8..ca7adc184 100644 Binary files a/public/images/emoji/emoji_one/tongue.png and b/public/images/emoji/emoji_one/tongue.png differ diff --git a/public/images/emoji/emoji_one/tools.png b/public/images/emoji/emoji_one/tools.png index 1cb66f2b3..3ff769bdf 100644 Binary files a/public/images/emoji/emoji_one/tools.png and b/public/images/emoji/emoji_one/tools.png differ diff --git a/public/images/emoji/emoji_one/top.png b/public/images/emoji/emoji_one/top.png index 49dea8c08..9d5519b6f 100644 Binary files a/public/images/emoji/emoji_one/top.png and b/public/images/emoji/emoji_one/top.png differ diff --git a/public/images/emoji/emoji_one/tophat.png b/public/images/emoji/emoji_one/tophat.png index 9df60197c..1eff37880 100644 Binary files a/public/images/emoji/emoji_one/tophat.png and b/public/images/emoji/emoji_one/tophat.png differ diff --git a/public/images/emoji/emoji_one/track_next.png b/public/images/emoji/emoji_one/track_next.png index e56cc9049..1e6fc4c14 100644 Binary files a/public/images/emoji/emoji_one/track_next.png and b/public/images/emoji/emoji_one/track_next.png differ diff --git a/public/images/emoji/emoji_one/track_previous.png b/public/images/emoji/emoji_one/track_previous.png index 1ffd0566c..e1a06c07a 100644 Binary files a/public/images/emoji/emoji_one/track_previous.png and b/public/images/emoji/emoji_one/track_previous.png differ diff --git a/public/images/emoji/emoji_one/trackball.png b/public/images/emoji/emoji_one/trackball.png index 16f131618..bd675e926 100644 Binary files a/public/images/emoji/emoji_one/trackball.png and b/public/images/emoji/emoji_one/trackball.png differ diff --git a/public/images/emoji/emoji_one/tractor.png b/public/images/emoji/emoji_one/tractor.png index d5636d652..f145a0fd7 100644 Binary files a/public/images/emoji/emoji_one/tractor.png and b/public/images/emoji/emoji_one/tractor.png differ diff --git a/public/images/emoji/emoji_one/traffic_light.png b/public/images/emoji/emoji_one/traffic_light.png index 6b312285b..8289d20b6 100644 Binary files a/public/images/emoji/emoji_one/traffic_light.png and b/public/images/emoji/emoji_one/traffic_light.png differ diff --git a/public/images/emoji/emoji_one/train.png b/public/images/emoji/emoji_one/train.png index c4072a436..ff5080e0e 100644 Binary files a/public/images/emoji/emoji_one/train.png and b/public/images/emoji/emoji_one/train.png differ diff --git a/public/images/emoji/emoji_one/train2.png b/public/images/emoji/emoji_one/train2.png index 44e39feae..cb51d2a0f 100644 Binary files a/public/images/emoji/emoji_one/train2.png and b/public/images/emoji/emoji_one/train2.png differ diff --git a/public/images/emoji/emoji_one/tram.png b/public/images/emoji/emoji_one/tram.png index b4cb60982..dd7c82b40 100644 Binary files a/public/images/emoji/emoji_one/tram.png and b/public/images/emoji/emoji_one/tram.png differ diff --git a/public/images/emoji/emoji_one/triangular_flag_on_post.png b/public/images/emoji/emoji_one/triangular_flag_on_post.png index b4b1dd84b..5adceaac6 100644 Binary files a/public/images/emoji/emoji_one/triangular_flag_on_post.png and b/public/images/emoji/emoji_one/triangular_flag_on_post.png differ diff --git a/public/images/emoji/emoji_one/triangular_ruler.png b/public/images/emoji/emoji_one/triangular_ruler.png index 77dee9ee8..d03b796cd 100644 Binary files a/public/images/emoji/emoji_one/triangular_ruler.png and b/public/images/emoji/emoji_one/triangular_ruler.png differ diff --git a/public/images/emoji/emoji_one/trident.png b/public/images/emoji/emoji_one/trident.png index 1508f0155..6c9f1c371 100644 Binary files a/public/images/emoji/emoji_one/trident.png and b/public/images/emoji/emoji_one/trident.png differ diff --git a/public/images/emoji/emoji_one/triumph.png b/public/images/emoji/emoji_one/triumph.png index e8701a4dc..b047c62ce 100644 Binary files a/public/images/emoji/emoji_one/triumph.png and b/public/images/emoji/emoji_one/triumph.png differ diff --git a/public/images/emoji/emoji_one/trolleybus.png b/public/images/emoji/emoji_one/trolleybus.png index 49f72b0db..79f626f57 100644 Binary files a/public/images/emoji/emoji_one/trolleybus.png and b/public/images/emoji/emoji_one/trolleybus.png differ diff --git a/public/images/emoji/emoji_one/trophy.png b/public/images/emoji/emoji_one/trophy.png index ac2895c18..2d20e9f82 100644 Binary files a/public/images/emoji/emoji_one/trophy.png and b/public/images/emoji/emoji_one/trophy.png differ diff --git a/public/images/emoji/emoji_one/tropical_drink.png b/public/images/emoji/emoji_one/tropical_drink.png index 2cfad85b7..84e243eb0 100644 Binary files a/public/images/emoji/emoji_one/tropical_drink.png and b/public/images/emoji/emoji_one/tropical_drink.png differ diff --git a/public/images/emoji/emoji_one/tropical_fish.png b/public/images/emoji/emoji_one/tropical_fish.png index 252105235..df6ac342b 100644 Binary files a/public/images/emoji/emoji_one/tropical_fish.png and b/public/images/emoji/emoji_one/tropical_fish.png differ diff --git a/public/images/emoji/emoji_one/truck.png b/public/images/emoji/emoji_one/truck.png index 130de047f..b7b46ab3d 100644 Binary files a/public/images/emoji/emoji_one/truck.png and b/public/images/emoji/emoji_one/truck.png differ diff --git a/public/images/emoji/emoji_one/trumpet.png b/public/images/emoji/emoji_one/trumpet.png index 864ccbcd0..2d3eb1ebd 100644 Binary files a/public/images/emoji/emoji_one/trumpet.png and b/public/images/emoji/emoji_one/trumpet.png differ diff --git a/public/images/emoji/emoji_one/tshirt.png b/public/images/emoji/emoji_one/tshirt.png deleted file mode 100644 index 06550d922..000000000 Binary files a/public/images/emoji/emoji_one/tshirt.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/tulip.png b/public/images/emoji/emoji_one/tulip.png index f799d75c1..73410768c 100644 Binary files a/public/images/emoji/emoji_one/tulip.png and b/public/images/emoji/emoji_one/tulip.png differ diff --git a/public/images/emoji/emoji_one/turkey.png b/public/images/emoji/emoji_one/turkey.png index 120eb443c..8fb0d06cc 100644 Binary files a/public/images/emoji/emoji_one/turkey.png and b/public/images/emoji/emoji_one/turkey.png differ diff --git a/public/images/emoji/emoji_one/turtle.png b/public/images/emoji/emoji_one/turtle.png index 360a20ef4..96a07e802 100644 Binary files a/public/images/emoji/emoji_one/turtle.png and b/public/images/emoji/emoji_one/turtle.png differ diff --git a/public/images/emoji/emoji_one/tv.png b/public/images/emoji/emoji_one/tv.png index 057665e1d..7c7514489 100644 Binary files a/public/images/emoji/emoji_one/tv.png and b/public/images/emoji/emoji_one/tv.png differ diff --git a/public/images/emoji/emoji_one/twisted_rightwards_arrows.png b/public/images/emoji/emoji_one/twisted_rightwards_arrows.png index 5904badde..7fb7093ec 100644 Binary files a/public/images/emoji/emoji_one/twisted_rightwards_arrows.png and b/public/images/emoji/emoji_one/twisted_rightwards_arrows.png differ diff --git a/public/images/emoji/emoji_one/two.png b/public/images/emoji/emoji_one/two.png index e7b41641b..e69de29bb 100644 Binary files a/public/images/emoji/emoji_one/two.png and b/public/images/emoji/emoji_one/two.png differ diff --git a/public/images/emoji/emoji_one/two_hearts.png b/public/images/emoji/emoji_one/two_hearts.png index a57ea64cb..5be485530 100644 Binary files a/public/images/emoji/emoji_one/two_hearts.png and b/public/images/emoji/emoji_one/two_hearts.png differ diff --git a/public/images/emoji/emoji_one/two_men_holding_hands.png b/public/images/emoji/emoji_one/two_men_holding_hands.png index 9634291b4..cf16b8711 100644 Binary files a/public/images/emoji/emoji_one/two_men_holding_hands.png and b/public/images/emoji/emoji_one/two_men_holding_hands.png differ diff --git a/public/images/emoji/emoji_one/two_women_holding_hands.png b/public/images/emoji/emoji_one/two_women_holding_hands.png index 77150ab27..7ed2c58dc 100644 Binary files a/public/images/emoji/emoji_one/two_women_holding_hands.png and b/public/images/emoji/emoji_one/two_women_holding_hands.png differ diff --git a/public/images/emoji/emoji_one/u5272.png b/public/images/emoji/emoji_one/u5272.png index edad0e371..5fdc27483 100644 Binary files a/public/images/emoji/emoji_one/u5272.png and b/public/images/emoji/emoji_one/u5272.png differ diff --git a/public/images/emoji/emoji_one/u5408.png b/public/images/emoji/emoji_one/u5408.png index 8375ad9d9..264db681c 100644 Binary files a/public/images/emoji/emoji_one/u5408.png and b/public/images/emoji/emoji_one/u5408.png differ diff --git a/public/images/emoji/emoji_one/u55b6.png b/public/images/emoji/emoji_one/u55b6.png index 28191ccbc..5547724fa 100644 Binary files a/public/images/emoji/emoji_one/u55b6.png and b/public/images/emoji/emoji_one/u55b6.png differ diff --git a/public/images/emoji/emoji_one/u6307.png b/public/images/emoji/emoji_one/u6307.png index c50f962df..3d05998e8 100644 Binary files a/public/images/emoji/emoji_one/u6307.png and b/public/images/emoji/emoji_one/u6307.png differ diff --git a/public/images/emoji/emoji_one/u6708.png b/public/images/emoji/emoji_one/u6708.png index c41bd36a2..149f97e44 100644 Binary files a/public/images/emoji/emoji_one/u6708.png and b/public/images/emoji/emoji_one/u6708.png differ diff --git a/public/images/emoji/emoji_one/u6709.png b/public/images/emoji/emoji_one/u6709.png index 53923a4f9..b1fec3729 100644 Binary files a/public/images/emoji/emoji_one/u6709.png and b/public/images/emoji/emoji_one/u6709.png differ diff --git a/public/images/emoji/emoji_one/u6e80.png b/public/images/emoji/emoji_one/u6e80.png index f9dea8b88..a14192470 100644 Binary files a/public/images/emoji/emoji_one/u6e80.png and b/public/images/emoji/emoji_one/u6e80.png differ diff --git a/public/images/emoji/emoji_one/u7121.png b/public/images/emoji/emoji_one/u7121.png index 97ad461eb..b2eeb6222 100644 Binary files a/public/images/emoji/emoji_one/u7121.png and b/public/images/emoji/emoji_one/u7121.png differ diff --git a/public/images/emoji/emoji_one/u7533.png b/public/images/emoji/emoji_one/u7533.png index 6b7af0ee2..968e87085 100644 Binary files a/public/images/emoji/emoji_one/u7533.png and b/public/images/emoji/emoji_one/u7533.png differ diff --git a/public/images/emoji/emoji_one/u7981.png b/public/images/emoji/emoji_one/u7981.png index 1c8223755..dcbfc1a2d 100644 Binary files a/public/images/emoji/emoji_one/u7981.png and b/public/images/emoji/emoji_one/u7981.png differ diff --git a/public/images/emoji/emoji_one/u7a7a.png b/public/images/emoji/emoji_one/u7a7a.png index e34a555bb..650bcfc88 100644 Binary files a/public/images/emoji/emoji_one/u7a7a.png and b/public/images/emoji/emoji_one/u7a7a.png differ diff --git a/public/images/emoji/emoji_one/uk.png b/public/images/emoji/emoji_one/uk.png deleted file mode 100644 index 00843f119..000000000 Binary files a/public/images/emoji/emoji_one/uk.png and /dev/null differ diff --git a/public/images/emoji/emoji_one/umbrella.png b/public/images/emoji/emoji_one/umbrella.png index 0686efbf7..a86bea8db 100644 Binary files a/public/images/emoji/emoji_one/umbrella.png and b/public/images/emoji/emoji_one/umbrella.png differ diff --git a/public/images/emoji/emoji_one/umbrella2.png b/public/images/emoji/emoji_one/umbrella2.png index 8e0d3a3dc..77d9ca0ca 100644 Binary files a/public/images/emoji/emoji_one/umbrella2.png and b/public/images/emoji/emoji_one/umbrella2.png differ diff --git a/public/images/emoji/emoji_one/umbrella_on_ground.png b/public/images/emoji/emoji_one/umbrella_on_ground.png new file mode 100644 index 000000000..7fa37d2f2 Binary files /dev/null and b/public/images/emoji/emoji_one/umbrella_on_ground.png differ diff --git a/public/images/emoji/emoji_one/unamused.png b/public/images/emoji/emoji_one/unamused.png index c867dfc8d..6457c2520 100644 Binary files a/public/images/emoji/emoji_one/unamused.png and b/public/images/emoji/emoji_one/unamused.png differ diff --git a/public/images/emoji/emoji_one/underage.png b/public/images/emoji/emoji_one/underage.png index 8af834d1a..a9066a169 100644 Binary files a/public/images/emoji/emoji_one/underage.png and b/public/images/emoji/emoji_one/underage.png differ diff --git a/public/images/emoji/emoji_one/unicorn.png b/public/images/emoji/emoji_one/unicorn.png index b1f0f37e0..f9e16ab2a 100644 Binary files a/public/images/emoji/emoji_one/unicorn.png and b/public/images/emoji/emoji_one/unicorn.png differ diff --git a/public/images/emoji/emoji_one/unicorn_face.png b/public/images/emoji/emoji_one/unicorn_face.png new file mode 100644 index 000000000..f9e16ab2a Binary files /dev/null and b/public/images/emoji/emoji_one/unicorn_face.png differ diff --git a/public/images/emoji/emoji_one/unlock.png b/public/images/emoji/emoji_one/unlock.png index f6bc35c16..bc70d78e3 100644 Binary files a/public/images/emoji/emoji_one/unlock.png and b/public/images/emoji/emoji_one/unlock.png differ diff --git a/public/images/emoji/emoji_one/up.png b/public/images/emoji/emoji_one/up.png index 15e79317a..891242e9e 100644 Binary files a/public/images/emoji/emoji_one/up.png and b/public/images/emoji/emoji_one/up.png differ diff --git a/public/images/emoji/emoji_one/upside_down.png b/public/images/emoji/emoji_one/upside_down.png index b53ae2897..6cfa6e75b 100644 Binary files a/public/images/emoji/emoji_one/upside_down.png and b/public/images/emoji/emoji_one/upside_down.png differ diff --git a/public/images/emoji/emoji_one/upside_down_face.png b/public/images/emoji/emoji_one/upside_down_face.png new file mode 100644 index 000000000..6cfa6e75b Binary files /dev/null and b/public/images/emoji/emoji_one/upside_down_face.png differ diff --git a/public/images/emoji/emoji_one/urn.png b/public/images/emoji/emoji_one/urn.png index 220b27229..c531e105c 100644 Binary files a/public/images/emoji/emoji_one/urn.png and b/public/images/emoji/emoji_one/urn.png differ diff --git a/public/images/emoji/emoji_one/us.png b/public/images/emoji/emoji_one/us.png index facfafd62..748e2b413 100644 Binary files a/public/images/emoji/emoji_one/us.png and b/public/images/emoji/emoji_one/us.png differ diff --git a/public/images/emoji/emoji_one/v.png b/public/images/emoji/emoji_one/v.png index 95e61ee12..92e2f8a0a 100644 Binary files a/public/images/emoji/emoji_one/v.png and b/public/images/emoji/emoji_one/v.png differ diff --git a/public/images/emoji/emoji_one/vertical_traffic_light.png b/public/images/emoji/emoji_one/vertical_traffic_light.png index 8085973ee..5bf30483a 100644 Binary files a/public/images/emoji/emoji_one/vertical_traffic_light.png and b/public/images/emoji/emoji_one/vertical_traffic_light.png differ diff --git a/public/images/emoji/emoji_one/vhs.png b/public/images/emoji/emoji_one/vhs.png index a9ec6830b..2e7a8e985 100644 Binary files a/public/images/emoji/emoji_one/vhs.png and b/public/images/emoji/emoji_one/vhs.png differ diff --git a/public/images/emoji/emoji_one/vibration_mode.png b/public/images/emoji/emoji_one/vibration_mode.png index cc46510e4..e5ade50f6 100644 Binary files a/public/images/emoji/emoji_one/vibration_mode.png and b/public/images/emoji/emoji_one/vibration_mode.png differ diff --git a/public/images/emoji/emoji_one/video_camera.png b/public/images/emoji/emoji_one/video_camera.png index e246ba36b..7af1116cf 100644 Binary files a/public/images/emoji/emoji_one/video_camera.png and b/public/images/emoji/emoji_one/video_camera.png differ diff --git a/public/images/emoji/emoji_one/video_game.png b/public/images/emoji/emoji_one/video_game.png index 316a9106a..b6eb5a873 100644 Binary files a/public/images/emoji/emoji_one/video_game.png and b/public/images/emoji/emoji_one/video_game.png differ diff --git a/public/images/emoji/emoji_one/violin.png b/public/images/emoji/emoji_one/violin.png index e1e76cce2..fbdb62006 100644 Binary files a/public/images/emoji/emoji_one/violin.png and b/public/images/emoji/emoji_one/violin.png differ diff --git a/public/images/emoji/emoji_one/virgo.png b/public/images/emoji/emoji_one/virgo.png index e82a79c59..6d39290e2 100644 Binary files a/public/images/emoji/emoji_one/virgo.png and b/public/images/emoji/emoji_one/virgo.png differ diff --git a/public/images/emoji/emoji_one/volcano.png b/public/images/emoji/emoji_one/volcano.png index acad3c581..0faaf12a4 100644 Binary files a/public/images/emoji/emoji_one/volcano.png and b/public/images/emoji/emoji_one/volcano.png differ diff --git a/public/images/emoji/emoji_one/volleyball.png b/public/images/emoji/emoji_one/volleyball.png index 87aedd3f5..56ee94946 100644 Binary files a/public/images/emoji/emoji_one/volleyball.png and b/public/images/emoji/emoji_one/volleyball.png differ diff --git a/public/images/emoji/emoji_one/vs.png b/public/images/emoji/emoji_one/vs.png index 517d50aa8..e41b46345 100644 Binary files a/public/images/emoji/emoji_one/vs.png and b/public/images/emoji/emoji_one/vs.png differ diff --git a/public/images/emoji/emoji_one/vulcan.png b/public/images/emoji/emoji_one/vulcan.png index 54728bcaf..b22486308 100644 Binary files a/public/images/emoji/emoji_one/vulcan.png and b/public/images/emoji/emoji_one/vulcan.png differ diff --git a/public/images/emoji/emoji_one/walking.png b/public/images/emoji/emoji_one/walking.png index 3b4558203..61f39139c 100644 Binary files a/public/images/emoji/emoji_one/walking.png and b/public/images/emoji/emoji_one/walking.png differ diff --git a/public/images/emoji/emoji_one/waning_crescent_moon.png b/public/images/emoji/emoji_one/waning_crescent_moon.png index cf68706b8..8c43032ee 100644 Binary files a/public/images/emoji/emoji_one/waning_crescent_moon.png and b/public/images/emoji/emoji_one/waning_crescent_moon.png differ diff --git a/public/images/emoji/emoji_one/waning_gibbous_moon.png b/public/images/emoji/emoji_one/waning_gibbous_moon.png index fdf35ff1f..78f9df82f 100644 Binary files a/public/images/emoji/emoji_one/waning_gibbous_moon.png and b/public/images/emoji/emoji_one/waning_gibbous_moon.png differ diff --git a/public/images/emoji/emoji_one/warning.png b/public/images/emoji/emoji_one/warning.png index 35691c2ed..e47483ab2 100644 Binary files a/public/images/emoji/emoji_one/warning.png and b/public/images/emoji/emoji_one/warning.png differ diff --git a/public/images/emoji/emoji_one/wastebasket.png b/public/images/emoji/emoji_one/wastebasket.png index 55c0a41af..6fc87407d 100644 Binary files a/public/images/emoji/emoji_one/wastebasket.png and b/public/images/emoji/emoji_one/wastebasket.png differ diff --git a/public/images/emoji/emoji_one/watch.png b/public/images/emoji/emoji_one/watch.png index af28aab01..5d6165c40 100644 Binary files a/public/images/emoji/emoji_one/watch.png and b/public/images/emoji/emoji_one/watch.png differ diff --git a/public/images/emoji/emoji_one/water_buffalo.png b/public/images/emoji/emoji_one/water_buffalo.png index 80446615c..2c2784f51 100644 Binary files a/public/images/emoji/emoji_one/water_buffalo.png and b/public/images/emoji/emoji_one/water_buffalo.png differ diff --git a/public/images/emoji/emoji_one/watermelon.png b/public/images/emoji/emoji_one/watermelon.png index a44d7d67a..ee55ee154 100644 Binary files a/public/images/emoji/emoji_one/watermelon.png and b/public/images/emoji/emoji_one/watermelon.png differ diff --git a/public/images/emoji/emoji_one/wave.png b/public/images/emoji/emoji_one/wave.png index c3db52199..d92dd6420 100644 Binary files a/public/images/emoji/emoji_one/wave.png and b/public/images/emoji/emoji_one/wave.png differ diff --git a/public/images/emoji/emoji_one/waving_black_flag.png b/public/images/emoji/emoji_one/waving_black_flag.png new file mode 100644 index 000000000..e6071f3ee Binary files /dev/null and b/public/images/emoji/emoji_one/waving_black_flag.png differ diff --git a/public/images/emoji/emoji_one/waving_white_flag.png b/public/images/emoji/emoji_one/waving_white_flag.png new file mode 100644 index 000000000..a4b7a4848 Binary files /dev/null and b/public/images/emoji/emoji_one/waving_white_flag.png differ diff --git a/public/images/emoji/emoji_one/wavy_dash.png b/public/images/emoji/emoji_one/wavy_dash.png index 001c8d6e4..80c07a241 100644 Binary files a/public/images/emoji/emoji_one/wavy_dash.png and b/public/images/emoji/emoji_one/wavy_dash.png differ diff --git a/public/images/emoji/emoji_one/waxing_crescent_moon.png b/public/images/emoji/emoji_one/waxing_crescent_moon.png index 687125173..38f4b1a13 100644 Binary files a/public/images/emoji/emoji_one/waxing_crescent_moon.png and b/public/images/emoji/emoji_one/waxing_crescent_moon.png differ diff --git a/public/images/emoji/emoji_one/waxing_gibbous_moon.png b/public/images/emoji/emoji_one/waxing_gibbous_moon.png index 1a85f2445..11bb12678 100644 Binary files a/public/images/emoji/emoji_one/waxing_gibbous_moon.png and b/public/images/emoji/emoji_one/waxing_gibbous_moon.png differ diff --git a/public/images/emoji/emoji_one/wc.png b/public/images/emoji/emoji_one/wc.png index ffbc2d4de..ce3a29a34 100644 Binary files a/public/images/emoji/emoji_one/wc.png and b/public/images/emoji/emoji_one/wc.png differ diff --git a/public/images/emoji/emoji_one/weary.png b/public/images/emoji/emoji_one/weary.png index ec7aec7c5..f6e8f7db8 100644 Binary files a/public/images/emoji/emoji_one/weary.png and b/public/images/emoji/emoji_one/weary.png differ diff --git a/public/images/emoji/emoji_one/wedding.png b/public/images/emoji/emoji_one/wedding.png index dbffac937..127c2f86a 100644 Binary files a/public/images/emoji/emoji_one/wedding.png and b/public/images/emoji/emoji_one/wedding.png differ diff --git a/public/images/emoji/emoji_one/weight_lifter.png b/public/images/emoji/emoji_one/weight_lifter.png new file mode 100644 index 000000000..987fafb21 Binary files /dev/null and b/public/images/emoji/emoji_one/weight_lifter.png differ diff --git a/public/images/emoji/emoji_one/whale.png b/public/images/emoji/emoji_one/whale.png index 7dea58709..2d4edb20c 100644 Binary files a/public/images/emoji/emoji_one/whale.png and b/public/images/emoji/emoji_one/whale.png differ diff --git a/public/images/emoji/emoji_one/whale2.png b/public/images/emoji/emoji_one/whale2.png index 15e746ac7..e2a4bad81 100644 Binary files a/public/images/emoji/emoji_one/whale2.png and b/public/images/emoji/emoji_one/whale2.png differ diff --git a/public/images/emoji/emoji_one/wheel_of_dharma.png b/public/images/emoji/emoji_one/wheel_of_dharma.png index 3666db001..2d4661bf8 100644 Binary files a/public/images/emoji/emoji_one/wheel_of_dharma.png and b/public/images/emoji/emoji_one/wheel_of_dharma.png differ diff --git a/public/images/emoji/emoji_one/wheelchair.png b/public/images/emoji/emoji_one/wheelchair.png index 0ce7f29cc..eab8e5c37 100644 Binary files a/public/images/emoji/emoji_one/wheelchair.png and b/public/images/emoji/emoji_one/wheelchair.png differ diff --git a/public/images/emoji/emoji_one/white_check_mark.png b/public/images/emoji/emoji_one/white_check_mark.png index e55f087e5..723da5aa8 100644 Binary files a/public/images/emoji/emoji_one/white_check_mark.png and b/public/images/emoji/emoji_one/white_check_mark.png differ diff --git a/public/images/emoji/emoji_one/white_circle.png b/public/images/emoji/emoji_one/white_circle.png index d45fbd246..6dcb272cb 100644 Binary files a/public/images/emoji/emoji_one/white_circle.png and b/public/images/emoji/emoji_one/white_circle.png differ diff --git a/public/images/emoji/emoji_one/white_flower.png b/public/images/emoji/emoji_one/white_flower.png index d6af8b600..e7fd8dd64 100644 Binary files a/public/images/emoji/emoji_one/white_flower.png and b/public/images/emoji/emoji_one/white_flower.png differ diff --git a/public/images/emoji/emoji_one/white_frowning_face.png b/public/images/emoji/emoji_one/white_frowning_face.png new file mode 100644 index 000000000..72453581d Binary files /dev/null and b/public/images/emoji/emoji_one/white_frowning_face.png differ diff --git a/public/images/emoji/emoji_one/white_large_square.png b/public/images/emoji/emoji_one/white_large_square.png index 6f06c1c79..4ca1aba4d 100644 Binary files a/public/images/emoji/emoji_one/white_large_square.png and b/public/images/emoji/emoji_one/white_large_square.png differ diff --git a/public/images/emoji/emoji_one/white_medium_small_square.png b/public/images/emoji/emoji_one/white_medium_small_square.png index ae8741267..fbc658b5a 100644 Binary files a/public/images/emoji/emoji_one/white_medium_small_square.png and b/public/images/emoji/emoji_one/white_medium_small_square.png differ diff --git a/public/images/emoji/emoji_one/white_medium_square.png b/public/images/emoji/emoji_one/white_medium_square.png index 8daacf570..c280a8a4a 100644 Binary files a/public/images/emoji/emoji_one/white_medium_square.png and b/public/images/emoji/emoji_one/white_medium_square.png differ diff --git a/public/images/emoji/emoji_one/white_small_square.png b/public/images/emoji/emoji_one/white_small_square.png index d7ebdb0c0..f9718db4a 100644 Binary files a/public/images/emoji/emoji_one/white_small_square.png and b/public/images/emoji/emoji_one/white_small_square.png differ diff --git a/public/images/emoji/emoji_one/white_square_button.png b/public/images/emoji/emoji_one/white_square_button.png index 934b1cedf..f6fb91f86 100644 Binary files a/public/images/emoji/emoji_one/white_square_button.png and b/public/images/emoji/emoji_one/white_square_button.png differ diff --git a/public/images/emoji/emoji_one/white_sun_behind_cloud.png b/public/images/emoji/emoji_one/white_sun_behind_cloud.png new file mode 100644 index 000000000..500182bef Binary files /dev/null and b/public/images/emoji/emoji_one/white_sun_behind_cloud.png differ diff --git a/public/images/emoji/emoji_one/white_sun_behind_cloud_with_rain.png b/public/images/emoji/emoji_one/white_sun_behind_cloud_with_rain.png new file mode 100644 index 000000000..24ee434dc Binary files /dev/null and b/public/images/emoji/emoji_one/white_sun_behind_cloud_with_rain.png differ diff --git a/public/images/emoji/emoji_one/white_sun_cloud.png b/public/images/emoji/emoji_one/white_sun_cloud.png index f20ae522e..500182bef 100644 Binary files a/public/images/emoji/emoji_one/white_sun_cloud.png and b/public/images/emoji/emoji_one/white_sun_cloud.png differ diff --git a/public/images/emoji/emoji_one/white_sun_rain_cloud.png b/public/images/emoji/emoji_one/white_sun_rain_cloud.png index 2da75890a..24ee434dc 100644 Binary files a/public/images/emoji/emoji_one/white_sun_rain_cloud.png and b/public/images/emoji/emoji_one/white_sun_rain_cloud.png differ diff --git a/public/images/emoji/emoji_one/white_sun_small_cloud.png b/public/images/emoji/emoji_one/white_sun_small_cloud.png index cead0bfa5..1cfb219d3 100644 Binary files a/public/images/emoji/emoji_one/white_sun_small_cloud.png and b/public/images/emoji/emoji_one/white_sun_small_cloud.png differ diff --git a/public/images/emoji/emoji_one/white_sun_with_small_cloud.png b/public/images/emoji/emoji_one/white_sun_with_small_cloud.png new file mode 100644 index 000000000..1cfb219d3 Binary files /dev/null and b/public/images/emoji/emoji_one/white_sun_with_small_cloud.png differ diff --git a/public/images/emoji/emoji_one/wind_blowing_face.png b/public/images/emoji/emoji_one/wind_blowing_face.png index 4e81d4c42..6f636c111 100644 Binary files a/public/images/emoji/emoji_one/wind_blowing_face.png and b/public/images/emoji/emoji_one/wind_blowing_face.png differ diff --git a/public/images/emoji/emoji_one/wind_chime.png b/public/images/emoji/emoji_one/wind_chime.png index 3c9ef3a95..c7309ac0c 100644 Binary files a/public/images/emoji/emoji_one/wind_chime.png and b/public/images/emoji/emoji_one/wind_chime.png differ diff --git a/public/images/emoji/emoji_one/wine_glass.png b/public/images/emoji/emoji_one/wine_glass.png index 3cc986891..e2d8c54c6 100644 Binary files a/public/images/emoji/emoji_one/wine_glass.png and b/public/images/emoji/emoji_one/wine_glass.png differ diff --git a/public/images/emoji/emoji_one/wink.png b/public/images/emoji/emoji_one/wink.png index be2e97b61..b381cccbb 100644 Binary files a/public/images/emoji/emoji_one/wink.png and b/public/images/emoji/emoji_one/wink.png differ diff --git a/public/images/emoji/emoji_one/wolf.png b/public/images/emoji/emoji_one/wolf.png index ba55f812a..47a501941 100644 Binary files a/public/images/emoji/emoji_one/wolf.png and b/public/images/emoji/emoji_one/wolf.png differ diff --git a/public/images/emoji/emoji_one/woman.png b/public/images/emoji/emoji_one/woman.png index 051bec669..0abe26256 100644 Binary files a/public/images/emoji/emoji_one/woman.png and b/public/images/emoji/emoji_one/woman.png differ diff --git a/public/images/emoji/emoji_one/womans_clothes.png b/public/images/emoji/emoji_one/womans_clothes.png index ba92411a8..39c0f1079 100644 Binary files a/public/images/emoji/emoji_one/womans_clothes.png and b/public/images/emoji/emoji_one/womans_clothes.png differ diff --git a/public/images/emoji/emoji_one/womans_hat.png b/public/images/emoji/emoji_one/womans_hat.png index c3692046f..7db014b10 100644 Binary files a/public/images/emoji/emoji_one/womans_hat.png and b/public/images/emoji/emoji_one/womans_hat.png differ diff --git a/public/images/emoji/emoji_one/womens.png b/public/images/emoji/emoji_one/womens.png index 601caef0e..83b4a0387 100644 Binary files a/public/images/emoji/emoji_one/womens.png and b/public/images/emoji/emoji_one/womens.png differ diff --git a/public/images/emoji/emoji_one/world_map.png b/public/images/emoji/emoji_one/world_map.png new file mode 100644 index 000000000..83ac37345 Binary files /dev/null and b/public/images/emoji/emoji_one/world_map.png differ diff --git a/public/images/emoji/emoji_one/worried.png b/public/images/emoji/emoji_one/worried.png index c22584673..ca69d3365 100644 Binary files a/public/images/emoji/emoji_one/worried.png and b/public/images/emoji/emoji_one/worried.png differ diff --git a/public/images/emoji/emoji_one/worship_symbol.png b/public/images/emoji/emoji_one/worship_symbol.png new file mode 100644 index 000000000..83334c112 Binary files /dev/null and b/public/images/emoji/emoji_one/worship_symbol.png differ diff --git a/public/images/emoji/emoji_one/wrench.png b/public/images/emoji/emoji_one/wrench.png index 8511f318a..19c555328 100644 Binary files a/public/images/emoji/emoji_one/wrench.png and b/public/images/emoji/emoji_one/wrench.png differ diff --git a/public/images/emoji/emoji_one/writing_hand.png b/public/images/emoji/emoji_one/writing_hand.png index 265ff9c95..94953f900 100644 Binary files a/public/images/emoji/emoji_one/writing_hand.png and b/public/images/emoji/emoji_one/writing_hand.png differ diff --git a/public/images/emoji/emoji_one/x.png b/public/images/emoji/emoji_one/x.png index 9f9ed0f7a..6339665c4 100644 Binary files a/public/images/emoji/emoji_one/x.png and b/public/images/emoji/emoji_one/x.png differ diff --git a/public/images/emoji/emoji_one/yellow_heart.png b/public/images/emoji/emoji_one/yellow_heart.png index 1fd5aef60..2ba0d27e7 100644 Binary files a/public/images/emoji/emoji_one/yellow_heart.png and b/public/images/emoji/emoji_one/yellow_heart.png differ diff --git a/public/images/emoji/emoji_one/yen.png b/public/images/emoji/emoji_one/yen.png index f6c5a734e..78bf43895 100644 Binary files a/public/images/emoji/emoji_one/yen.png and b/public/images/emoji/emoji_one/yen.png differ diff --git a/public/images/emoji/emoji_one/yin_yang.png b/public/images/emoji/emoji_one/yin_yang.png index f2900f633..8bdb521f1 100644 Binary files a/public/images/emoji/emoji_one/yin_yang.png and b/public/images/emoji/emoji_one/yin_yang.png differ diff --git a/public/images/emoji/emoji_one/yum.png b/public/images/emoji/emoji_one/yum.png index d88de3ea7..96990fd9b 100644 Binary files a/public/images/emoji/emoji_one/yum.png and b/public/images/emoji/emoji_one/yum.png differ diff --git a/public/images/emoji/emoji_one/zap.png b/public/images/emoji/emoji_one/zap.png index 48287e8ab..fef2e9cdc 100644 Binary files a/public/images/emoji/emoji_one/zap.png and b/public/images/emoji/emoji_one/zap.png differ diff --git a/public/images/emoji/emoji_one/zero.png b/public/images/emoji/emoji_one/zero.png index 13aca83e0..e69de29bb 100644 Binary files a/public/images/emoji/emoji_one/zero.png and b/public/images/emoji/emoji_one/zero.png differ diff --git a/public/images/emoji/emoji_one/zipper_mouth.png b/public/images/emoji/emoji_one/zipper_mouth.png index 445422e55..40fbdd4c1 100644 Binary files a/public/images/emoji/emoji_one/zipper_mouth.png and b/public/images/emoji/emoji_one/zipper_mouth.png differ diff --git a/public/images/emoji/emoji_one/zipper_mouth_face.png b/public/images/emoji/emoji_one/zipper_mouth_face.png new file mode 100644 index 000000000..40fbdd4c1 Binary files /dev/null and b/public/images/emoji/emoji_one/zipper_mouth_face.png differ diff --git a/public/images/emoji/emoji_one/zzz.png b/public/images/emoji/emoji_one/zzz.png index 9bc72b446..53a200ed4 100644 Binary files a/public/images/emoji/emoji_one/zzz.png and b/public/images/emoji/emoji_one/zzz.png differ diff --git a/public/images/emoji/google/+1.png b/public/images/emoji/google/+1.png index c95e34f58..bf0f4e543 100644 Binary files a/public/images/emoji/google/+1.png and b/public/images/emoji/google/+1.png differ diff --git a/public/images/emoji/google/-1.png b/public/images/emoji/google/-1.png index 3af4fdd1e..8203a027e 100644 Binary files a/public/images/emoji/google/-1.png and b/public/images/emoji/google/-1.png differ diff --git a/public/images/emoji/google/100.png b/public/images/emoji/google/100.png index 65c60c38f..de69e2b80 100644 Binary files a/public/images/emoji/google/100.png and b/public/images/emoji/google/100.png differ diff --git a/public/images/emoji/google/1234.png b/public/images/emoji/google/1234.png index a419d260e..064bcf410 100644 Binary files a/public/images/emoji/google/1234.png and b/public/images/emoji/google/1234.png differ diff --git a/public/images/emoji/google/8ball.png b/public/images/emoji/google/8ball.png index b91c9f728..97afde3fc 100644 Binary files a/public/images/emoji/google/8ball.png and b/public/images/emoji/google/8ball.png differ diff --git a/public/images/emoji/google/a.png b/public/images/emoji/google/a.png index 26f18ccc8..5e887d2b0 100644 Binary files a/public/images/emoji/google/a.png and b/public/images/emoji/google/a.png differ diff --git a/public/images/emoji/google/ab.png b/public/images/emoji/google/ab.png index 002398a6c..fe85e51fd 100644 Binary files a/public/images/emoji/google/ab.png and b/public/images/emoji/google/ab.png differ diff --git a/public/images/emoji/google/abc.png b/public/images/emoji/google/abc.png index 934c23e46..8136d794a 100644 Binary files a/public/images/emoji/google/abc.png and b/public/images/emoji/google/abc.png differ diff --git a/public/images/emoji/google/abcd.png b/public/images/emoji/google/abcd.png index cc601b1cb..f28edf29c 100644 Binary files a/public/images/emoji/google/abcd.png and b/public/images/emoji/google/abcd.png differ diff --git a/public/images/emoji/google/accept.png b/public/images/emoji/google/accept.png index cc109f468..32b0ff038 100644 Binary files a/public/images/emoji/google/accept.png and b/public/images/emoji/google/accept.png differ diff --git a/public/images/emoji/google/admission_tickets.png b/public/images/emoji/google/admission_tickets.png new file mode 100644 index 000000000..959ba48a2 Binary files /dev/null and b/public/images/emoji/google/admission_tickets.png differ diff --git a/public/images/emoji/google/aerial_tramway.png b/public/images/emoji/google/aerial_tramway.png index 07871e4ca..8ebcc10e0 100644 Binary files a/public/images/emoji/google/aerial_tramway.png and b/public/images/emoji/google/aerial_tramway.png differ diff --git a/public/images/emoji/google/airplane.png b/public/images/emoji/google/airplane.png index 590bbb55e..46a71b71b 100644 Binary files a/public/images/emoji/google/airplane.png and b/public/images/emoji/google/airplane.png differ diff --git a/public/images/emoji/google/airplane_arriving.png b/public/images/emoji/google/airplane_arriving.png index a385ba007..8e3428aef 100644 Binary files a/public/images/emoji/google/airplane_arriving.png and b/public/images/emoji/google/airplane_arriving.png differ diff --git a/public/images/emoji/google/airplane_departure.png b/public/images/emoji/google/airplane_departure.png index 30dd2054c..d67825941 100644 Binary files a/public/images/emoji/google/airplane_departure.png and b/public/images/emoji/google/airplane_departure.png differ diff --git a/public/images/emoji/google/airplane_small.png b/public/images/emoji/google/airplane_small.png index 4f97922d5..4bd5d32ed 100644 Binary files a/public/images/emoji/google/airplane_small.png and b/public/images/emoji/google/airplane_small.png differ diff --git a/public/images/emoji/google/alarm_clock.png b/public/images/emoji/google/alarm_clock.png index 632b0424e..f3824527d 100644 Binary files a/public/images/emoji/google/alarm_clock.png and b/public/images/emoji/google/alarm_clock.png differ diff --git a/public/images/emoji/google/alembic.png b/public/images/emoji/google/alembic.png index 553d1ceef..5f3b4ccbc 100644 Binary files a/public/images/emoji/google/alembic.png and b/public/images/emoji/google/alembic.png differ diff --git a/public/images/emoji/google/alien.png b/public/images/emoji/google/alien.png index 60bb9bea4..372f90bd8 100644 Binary files a/public/images/emoji/google/alien.png and b/public/images/emoji/google/alien.png differ diff --git a/public/images/emoji/google/ambulance.png b/public/images/emoji/google/ambulance.png index 68991eeae..172c3db9f 100644 Binary files a/public/images/emoji/google/ambulance.png and b/public/images/emoji/google/ambulance.png differ diff --git a/public/images/emoji/google/amphora.png b/public/images/emoji/google/amphora.png index 58998b83d..2691b9b9d 100644 Binary files a/public/images/emoji/google/amphora.png and b/public/images/emoji/google/amphora.png differ diff --git a/public/images/emoji/google/anchor.png b/public/images/emoji/google/anchor.png index 2bd235886..d667de555 100644 Binary files a/public/images/emoji/google/anchor.png and b/public/images/emoji/google/anchor.png differ diff --git a/public/images/emoji/google/angel.png b/public/images/emoji/google/angel.png index 5d8a17049..8104a636e 100644 Binary files a/public/images/emoji/google/angel.png and b/public/images/emoji/google/angel.png differ diff --git a/public/images/emoji/google/anger.png b/public/images/emoji/google/anger.png index a2d05d4d0..fafb67c5f 100644 Binary files a/public/images/emoji/google/anger.png and b/public/images/emoji/google/anger.png differ diff --git a/public/images/emoji/google/anger_right.png b/public/images/emoji/google/anger_right.png index fed984143..285492d7b 100644 Binary files a/public/images/emoji/google/anger_right.png and b/public/images/emoji/google/anger_right.png differ diff --git a/public/images/emoji/google/angry.png b/public/images/emoji/google/angry.png index 808bfa883..92e2ce9c3 100644 Binary files a/public/images/emoji/google/angry.png and b/public/images/emoji/google/angry.png differ diff --git a/public/images/emoji/google/anguished.png b/public/images/emoji/google/anguished.png index 6b0d286ac..249f6a06d 100644 Binary files a/public/images/emoji/google/anguished.png and b/public/images/emoji/google/anguished.png differ diff --git a/public/images/emoji/google/ant.png b/public/images/emoji/google/ant.png index 3ca2872f5..68ba00aa1 100644 Binary files a/public/images/emoji/google/ant.png and b/public/images/emoji/google/ant.png differ diff --git a/public/images/emoji/google/apple.png b/public/images/emoji/google/apple.png index 7f004c550..5b035b15a 100644 Binary files a/public/images/emoji/google/apple.png and b/public/images/emoji/google/apple.png differ diff --git a/public/images/emoji/google/aquarius.png b/public/images/emoji/google/aquarius.png index a1a67191c..b4c86aeb1 100644 Binary files a/public/images/emoji/google/aquarius.png and b/public/images/emoji/google/aquarius.png differ diff --git a/public/images/emoji/google/archery.png b/public/images/emoji/google/archery.png new file mode 100644 index 000000000..dceea7eab Binary files /dev/null and b/public/images/emoji/google/archery.png differ diff --git a/public/images/emoji/google/aries.png b/public/images/emoji/google/aries.png index dc433cdae..06ee1dc3a 100644 Binary files a/public/images/emoji/google/aries.png and b/public/images/emoji/google/aries.png differ diff --git a/public/images/emoji/google/arrow_backward.png b/public/images/emoji/google/arrow_backward.png index 64f02f4d7..f583ff4bc 100644 Binary files a/public/images/emoji/google/arrow_backward.png and b/public/images/emoji/google/arrow_backward.png differ diff --git a/public/images/emoji/google/arrow_double_down.png b/public/images/emoji/google/arrow_double_down.png index 5810ec2b1..0da8e08c4 100644 Binary files a/public/images/emoji/google/arrow_double_down.png and b/public/images/emoji/google/arrow_double_down.png differ diff --git a/public/images/emoji/google/arrow_double_up.png b/public/images/emoji/google/arrow_double_up.png index becf04cb7..4d7dd0398 100644 Binary files a/public/images/emoji/google/arrow_double_up.png and b/public/images/emoji/google/arrow_double_up.png differ diff --git a/public/images/emoji/google/arrow_down.png b/public/images/emoji/google/arrow_down.png index 987b8233b..8f324377e 100644 Binary files a/public/images/emoji/google/arrow_down.png and b/public/images/emoji/google/arrow_down.png differ diff --git a/public/images/emoji/google/arrow_down_small.png b/public/images/emoji/google/arrow_down_small.png index 6ee59cfe2..0f528cca2 100644 Binary files a/public/images/emoji/google/arrow_down_small.png and b/public/images/emoji/google/arrow_down_small.png differ diff --git a/public/images/emoji/google/arrow_forward.png b/public/images/emoji/google/arrow_forward.png index 9688e7216..440d4525a 100644 Binary files a/public/images/emoji/google/arrow_forward.png and b/public/images/emoji/google/arrow_forward.png differ diff --git a/public/images/emoji/google/arrow_heading_down.png b/public/images/emoji/google/arrow_heading_down.png index 5f68e5735..b3f6fc59e 100644 Binary files a/public/images/emoji/google/arrow_heading_down.png and b/public/images/emoji/google/arrow_heading_down.png differ diff --git a/public/images/emoji/google/arrow_heading_up.png b/public/images/emoji/google/arrow_heading_up.png index 4c3dc2dc6..22606f8e0 100644 Binary files a/public/images/emoji/google/arrow_heading_up.png and b/public/images/emoji/google/arrow_heading_up.png differ diff --git a/public/images/emoji/google/arrow_left.png b/public/images/emoji/google/arrow_left.png index 5d4097379..08926f344 100644 Binary files a/public/images/emoji/google/arrow_left.png and b/public/images/emoji/google/arrow_left.png differ diff --git a/public/images/emoji/google/arrow_lower_left.png b/public/images/emoji/google/arrow_lower_left.png index 7375a23ec..16105a839 100644 Binary files a/public/images/emoji/google/arrow_lower_left.png and b/public/images/emoji/google/arrow_lower_left.png differ diff --git a/public/images/emoji/google/arrow_lower_right.png b/public/images/emoji/google/arrow_lower_right.png index 38375b1c6..5afb3fbfd 100644 Binary files a/public/images/emoji/google/arrow_lower_right.png and b/public/images/emoji/google/arrow_lower_right.png differ diff --git a/public/images/emoji/google/arrow_right.png b/public/images/emoji/google/arrow_right.png index 2bd204836..b0648934b 100644 Binary files a/public/images/emoji/google/arrow_right.png and b/public/images/emoji/google/arrow_right.png differ diff --git a/public/images/emoji/google/arrow_right_hook.png b/public/images/emoji/google/arrow_right_hook.png index 0d5f99b63..263856473 100644 Binary files a/public/images/emoji/google/arrow_right_hook.png and b/public/images/emoji/google/arrow_right_hook.png differ diff --git a/public/images/emoji/google/arrow_up.png b/public/images/emoji/google/arrow_up.png index 2c6d34d34..f4543a4b4 100644 Binary files a/public/images/emoji/google/arrow_up.png and b/public/images/emoji/google/arrow_up.png differ diff --git a/public/images/emoji/google/arrow_up_down.png b/public/images/emoji/google/arrow_up_down.png index af690e2cc..769849038 100644 Binary files a/public/images/emoji/google/arrow_up_down.png and b/public/images/emoji/google/arrow_up_down.png differ diff --git a/public/images/emoji/google/arrow_up_small.png b/public/images/emoji/google/arrow_up_small.png index d6a29ff78..f36b293e1 100644 Binary files a/public/images/emoji/google/arrow_up_small.png and b/public/images/emoji/google/arrow_up_small.png differ diff --git a/public/images/emoji/google/arrow_upper_left.png b/public/images/emoji/google/arrow_upper_left.png index f8f15e756..63ad11cdb 100644 Binary files a/public/images/emoji/google/arrow_upper_left.png and b/public/images/emoji/google/arrow_upper_left.png differ diff --git a/public/images/emoji/google/arrow_upper_right.png b/public/images/emoji/google/arrow_upper_right.png index ca054bfcd..f00a16a1e 100644 Binary files a/public/images/emoji/google/arrow_upper_right.png and b/public/images/emoji/google/arrow_upper_right.png differ diff --git a/public/images/emoji/google/arrows_clockwise.png b/public/images/emoji/google/arrows_clockwise.png index bdfc3f2b7..9d94d6ecd 100644 Binary files a/public/images/emoji/google/arrows_clockwise.png and b/public/images/emoji/google/arrows_clockwise.png differ diff --git a/public/images/emoji/google/arrows_counterclockwise.png b/public/images/emoji/google/arrows_counterclockwise.png index cb0b629e2..a20d7ee61 100644 Binary files a/public/images/emoji/google/arrows_counterclockwise.png and b/public/images/emoji/google/arrows_counterclockwise.png differ diff --git a/public/images/emoji/google/art.png b/public/images/emoji/google/art.png index c9bb008b4..75e4ae2ce 100644 Binary files a/public/images/emoji/google/art.png and b/public/images/emoji/google/art.png differ diff --git a/public/images/emoji/google/articulated_lorry.png b/public/images/emoji/google/articulated_lorry.png index 10e9f77ab..ff204d376 100644 Binary files a/public/images/emoji/google/articulated_lorry.png and b/public/images/emoji/google/articulated_lorry.png differ diff --git a/public/images/emoji/google/astonished.png b/public/images/emoji/google/astonished.png index e5030a800..70d16f32f 100644 Binary files a/public/images/emoji/google/astonished.png and b/public/images/emoji/google/astonished.png differ diff --git a/public/images/emoji/google/athletic_shoe.png b/public/images/emoji/google/athletic_shoe.png index 7feed258c..313f37fdb 100644 Binary files a/public/images/emoji/google/athletic_shoe.png and b/public/images/emoji/google/athletic_shoe.png differ diff --git a/public/images/emoji/google/atm.png b/public/images/emoji/google/atm.png index cadafadde..095871f6c 100644 Binary files a/public/images/emoji/google/atm.png and b/public/images/emoji/google/atm.png differ diff --git a/public/images/emoji/google/atom.png b/public/images/emoji/google/atom.png index 7b2e8e2de..f535028c7 100644 Binary files a/public/images/emoji/google/atom.png and b/public/images/emoji/google/atom.png differ diff --git a/public/images/emoji/google/atom_symbol.png b/public/images/emoji/google/atom_symbol.png new file mode 100644 index 000000000..f535028c7 Binary files /dev/null and b/public/images/emoji/google/atom_symbol.png differ diff --git a/public/images/emoji/google/b.png b/public/images/emoji/google/b.png index 4755a5468..1d1da3a15 100644 Binary files a/public/images/emoji/google/b.png and b/public/images/emoji/google/b.png differ diff --git a/public/images/emoji/google/baby.png b/public/images/emoji/google/baby.png index aa78d030e..7f0efa421 100644 Binary files a/public/images/emoji/google/baby.png and b/public/images/emoji/google/baby.png differ diff --git a/public/images/emoji/google/baby_bottle.png b/public/images/emoji/google/baby_bottle.png index 5c10cbd6a..d2b0b9421 100644 Binary files a/public/images/emoji/google/baby_bottle.png and b/public/images/emoji/google/baby_bottle.png differ diff --git a/public/images/emoji/google/baby_chick.png b/public/images/emoji/google/baby_chick.png index 70bb2b084..54d0a9f87 100644 Binary files a/public/images/emoji/google/baby_chick.png and b/public/images/emoji/google/baby_chick.png differ diff --git a/public/images/emoji/google/baby_symbol.png b/public/images/emoji/google/baby_symbol.png index c4bdf0753..49f0ac2a1 100644 Binary files a/public/images/emoji/google/baby_symbol.png and b/public/images/emoji/google/baby_symbol.png differ diff --git a/public/images/emoji/google/back.png b/public/images/emoji/google/back.png index 8794b675c..10e93a3fd 100644 Binary files a/public/images/emoji/google/back.png and b/public/images/emoji/google/back.png differ diff --git a/public/images/emoji/google/badminton.png b/public/images/emoji/google/badminton.png index 30d0a7021..29e58535f 100644 Binary files a/public/images/emoji/google/badminton.png and b/public/images/emoji/google/badminton.png differ diff --git a/public/images/emoji/google/baggage_claim.png b/public/images/emoji/google/baggage_claim.png index 91080aed9..4662c0749 100644 Binary files a/public/images/emoji/google/baggage_claim.png and b/public/images/emoji/google/baggage_claim.png differ diff --git a/public/images/emoji/google/balloon.png b/public/images/emoji/google/balloon.png index 9f4b4ff5e..f0c1cdf23 100644 Binary files a/public/images/emoji/google/balloon.png and b/public/images/emoji/google/balloon.png differ diff --git a/public/images/emoji/google/ballot_box.png b/public/images/emoji/google/ballot_box.png index 1b2a590b0..e38572e93 100644 Binary files a/public/images/emoji/google/ballot_box.png and b/public/images/emoji/google/ballot_box.png differ diff --git a/public/images/emoji/google/ballot_box_with_ballot.png b/public/images/emoji/google/ballot_box_with_ballot.png new file mode 100644 index 000000000..e38572e93 Binary files /dev/null and b/public/images/emoji/google/ballot_box_with_ballot.png differ diff --git a/public/images/emoji/google/ballot_box_with_check.png b/public/images/emoji/google/ballot_box_with_check.png index 1ec06c13d..624556e4b 100644 Binary files a/public/images/emoji/google/ballot_box_with_check.png and b/public/images/emoji/google/ballot_box_with_check.png differ diff --git a/public/images/emoji/google/bamboo.png b/public/images/emoji/google/bamboo.png index a51358374..c16dbf58b 100644 Binary files a/public/images/emoji/google/bamboo.png and b/public/images/emoji/google/bamboo.png differ diff --git a/public/images/emoji/google/banana.png b/public/images/emoji/google/banana.png index 320999179..0956b72a7 100644 Binary files a/public/images/emoji/google/banana.png and b/public/images/emoji/google/banana.png differ diff --git a/public/images/emoji/google/bangbang.png b/public/images/emoji/google/bangbang.png index a1403b452..fbf009bda 100644 Binary files a/public/images/emoji/google/bangbang.png and b/public/images/emoji/google/bangbang.png differ diff --git a/public/images/emoji/google/bank.png b/public/images/emoji/google/bank.png index 4ce4e876f..a64db4083 100644 Binary files a/public/images/emoji/google/bank.png and b/public/images/emoji/google/bank.png differ diff --git a/public/images/emoji/google/bar_chart.png b/public/images/emoji/google/bar_chart.png index bc5baf20b..e12b95e0c 100644 Binary files a/public/images/emoji/google/bar_chart.png and b/public/images/emoji/google/bar_chart.png differ diff --git a/public/images/emoji/google/barber.png b/public/images/emoji/google/barber.png index c4af50c15..4e4a9ef79 100644 Binary files a/public/images/emoji/google/barber.png and b/public/images/emoji/google/barber.png differ diff --git a/public/images/emoji/google/baseball.png b/public/images/emoji/google/baseball.png index b703d1e25..a00806ab5 100644 Binary files a/public/images/emoji/google/baseball.png and b/public/images/emoji/google/baseball.png differ diff --git a/public/images/emoji/google/basketball.png b/public/images/emoji/google/basketball.png index 2b45f6711..9e4997efc 100644 Binary files a/public/images/emoji/google/basketball.png and b/public/images/emoji/google/basketball.png differ diff --git a/public/images/emoji/google/basketball_player.png b/public/images/emoji/google/basketball_player.png index 17d02ddbd..13cb1dcc7 100644 Binary files a/public/images/emoji/google/basketball_player.png and b/public/images/emoji/google/basketball_player.png differ diff --git a/public/images/emoji/google/bath.png b/public/images/emoji/google/bath.png index e2e60ffa7..7710113f8 100644 Binary files a/public/images/emoji/google/bath.png and b/public/images/emoji/google/bath.png differ diff --git a/public/images/emoji/google/bathtub.png b/public/images/emoji/google/bathtub.png index 8ad673e42..9b73db28a 100644 Binary files a/public/images/emoji/google/bathtub.png and b/public/images/emoji/google/bathtub.png differ diff --git a/public/images/emoji/google/battery.png b/public/images/emoji/google/battery.png index 958edf0e3..d808953c8 100644 Binary files a/public/images/emoji/google/battery.png and b/public/images/emoji/google/battery.png differ diff --git a/public/images/emoji/google/beach.png b/public/images/emoji/google/beach.png index 9bb4009a4..df2c0101b 100644 Binary files a/public/images/emoji/google/beach.png and b/public/images/emoji/google/beach.png differ diff --git a/public/images/emoji/google/beach_umbrella.png b/public/images/emoji/google/beach_umbrella.png index 4e54263e1..f23d6f604 100644 Binary files a/public/images/emoji/google/beach_umbrella.png and b/public/images/emoji/google/beach_umbrella.png differ diff --git a/public/images/emoji/google/beach_with_umbrella.png b/public/images/emoji/google/beach_with_umbrella.png new file mode 100644 index 000000000..df2c0101b Binary files /dev/null and b/public/images/emoji/google/beach_with_umbrella.png differ diff --git a/public/images/emoji/google/bear.png b/public/images/emoji/google/bear.png index 30ad90182..932e720ba 100644 Binary files a/public/images/emoji/google/bear.png and b/public/images/emoji/google/bear.png differ diff --git a/public/images/emoji/google/bed.png b/public/images/emoji/google/bed.png index 20fcedb2a..9f53173a0 100644 Binary files a/public/images/emoji/google/bed.png and b/public/images/emoji/google/bed.png differ diff --git a/public/images/emoji/google/bee.png b/public/images/emoji/google/bee.png index 085e17362..168af47a5 100644 Binary files a/public/images/emoji/google/bee.png and b/public/images/emoji/google/bee.png differ diff --git a/public/images/emoji/google/beer.png b/public/images/emoji/google/beer.png index cd9c413ac..b19ebbf90 100644 Binary files a/public/images/emoji/google/beer.png and b/public/images/emoji/google/beer.png differ diff --git a/public/images/emoji/google/beers.png b/public/images/emoji/google/beers.png index 25c23ed6f..07919b0e3 100644 Binary files a/public/images/emoji/google/beers.png and b/public/images/emoji/google/beers.png differ diff --git a/public/images/emoji/google/beetle.png b/public/images/emoji/google/beetle.png index ed6a46efa..3dc6cdb7d 100644 Binary files a/public/images/emoji/google/beetle.png and b/public/images/emoji/google/beetle.png differ diff --git a/public/images/emoji/google/beginner.png b/public/images/emoji/google/beginner.png index b58346eb9..09306fda0 100644 Binary files a/public/images/emoji/google/beginner.png and b/public/images/emoji/google/beginner.png differ diff --git a/public/images/emoji/google/bell.png b/public/images/emoji/google/bell.png index 2c625afed..e02bd2477 100644 Binary files a/public/images/emoji/google/bell.png and b/public/images/emoji/google/bell.png differ diff --git a/public/images/emoji/google/bellhop.png b/public/images/emoji/google/bellhop.png index b9b876ebd..582fb0f6a 100644 Binary files a/public/images/emoji/google/bellhop.png and b/public/images/emoji/google/bellhop.png differ diff --git a/public/images/emoji/google/bellhop_bell.png b/public/images/emoji/google/bellhop_bell.png new file mode 100644 index 000000000..582fb0f6a Binary files /dev/null and b/public/images/emoji/google/bellhop_bell.png differ diff --git a/public/images/emoji/google/bento.png b/public/images/emoji/google/bento.png index 02dddedad..2180fc500 100644 Binary files a/public/images/emoji/google/bento.png and b/public/images/emoji/google/bento.png differ diff --git a/public/images/emoji/google/bicyclist.png b/public/images/emoji/google/bicyclist.png index 3aa909348..5ef117103 100644 Binary files a/public/images/emoji/google/bicyclist.png and b/public/images/emoji/google/bicyclist.png differ diff --git a/public/images/emoji/google/bike.png b/public/images/emoji/google/bike.png index 665034511..6c9ac0294 100644 Binary files a/public/images/emoji/google/bike.png and b/public/images/emoji/google/bike.png differ diff --git a/public/images/emoji/google/bikini.png b/public/images/emoji/google/bikini.png index a7d73e1c9..1c8b7f544 100644 Binary files a/public/images/emoji/google/bikini.png and b/public/images/emoji/google/bikini.png differ diff --git a/public/images/emoji/google/biohazard.png b/public/images/emoji/google/biohazard.png index deae4dd8a..98ecbc5df 100644 Binary files a/public/images/emoji/google/biohazard.png and b/public/images/emoji/google/biohazard.png differ diff --git a/public/images/emoji/google/biohazard_sign.png b/public/images/emoji/google/biohazard_sign.png new file mode 100644 index 000000000..98ecbc5df Binary files /dev/null and b/public/images/emoji/google/biohazard_sign.png differ diff --git a/public/images/emoji/google/bird.png b/public/images/emoji/google/bird.png index 9ed01a6d9..85626b6c3 100644 Binary files a/public/images/emoji/google/bird.png and b/public/images/emoji/google/bird.png differ diff --git a/public/images/emoji/google/birthday.png b/public/images/emoji/google/birthday.png index f049edaf9..392518cf3 100644 Binary files a/public/images/emoji/google/birthday.png and b/public/images/emoji/google/birthday.png differ diff --git a/public/images/emoji/google/black_circle.png b/public/images/emoji/google/black_circle.png index 726b22179..9cb8a2949 100644 Binary files a/public/images/emoji/google/black_circle.png and b/public/images/emoji/google/black_circle.png differ diff --git a/public/images/emoji/google/black_joker.png b/public/images/emoji/google/black_joker.png index 2435a4302..db372fcab 100644 Binary files a/public/images/emoji/google/black_joker.png and b/public/images/emoji/google/black_joker.png differ diff --git a/public/images/emoji/google/black_large_square.png b/public/images/emoji/google/black_large_square.png index e7d99e7c3..b74a8c0b7 100644 Binary files a/public/images/emoji/google/black_large_square.png and b/public/images/emoji/google/black_large_square.png differ diff --git a/public/images/emoji/google/black_medium_small_square.png b/public/images/emoji/google/black_medium_small_square.png index c1883976f..4edf9c41f 100644 Binary files a/public/images/emoji/google/black_medium_small_square.png and b/public/images/emoji/google/black_medium_small_square.png differ diff --git a/public/images/emoji/google/black_medium_square.png b/public/images/emoji/google/black_medium_square.png index 5b56cfa02..bc3ecd4b2 100644 Binary files a/public/images/emoji/google/black_medium_square.png and b/public/images/emoji/google/black_medium_square.png differ diff --git a/public/images/emoji/google/black_nib.png b/public/images/emoji/google/black_nib.png index 019c29a6b..1a50fa2b5 100644 Binary files a/public/images/emoji/google/black_nib.png and b/public/images/emoji/google/black_nib.png differ diff --git a/public/images/emoji/google/black_small_square.png b/public/images/emoji/google/black_small_square.png index 09aba5f4c..95b7ff704 100644 Binary files a/public/images/emoji/google/black_small_square.png and b/public/images/emoji/google/black_small_square.png differ diff --git a/public/images/emoji/google/black_square_button.png b/public/images/emoji/google/black_square_button.png index 382fdda15..20f794590 100644 Binary files a/public/images/emoji/google/black_square_button.png and b/public/images/emoji/google/black_square_button.png differ diff --git a/public/images/emoji/google/blossom.png b/public/images/emoji/google/blossom.png index 41b3a095c..cd2643294 100644 Binary files a/public/images/emoji/google/blossom.png and b/public/images/emoji/google/blossom.png differ diff --git a/public/images/emoji/google/blowfish.png b/public/images/emoji/google/blowfish.png index 118e975bd..d8b6b284e 100644 Binary files a/public/images/emoji/google/blowfish.png and b/public/images/emoji/google/blowfish.png differ diff --git a/public/images/emoji/google/blue_book.png b/public/images/emoji/google/blue_book.png index 88a796bf0..f36987228 100644 Binary files a/public/images/emoji/google/blue_book.png and b/public/images/emoji/google/blue_book.png differ diff --git a/public/images/emoji/google/blue_car.png b/public/images/emoji/google/blue_car.png index 5b9937ba3..abdf8f80f 100644 Binary files a/public/images/emoji/google/blue_car.png and b/public/images/emoji/google/blue_car.png differ diff --git a/public/images/emoji/google/blue_heart.png b/public/images/emoji/google/blue_heart.png index 644534cbd..f94467707 100644 Binary files a/public/images/emoji/google/blue_heart.png and b/public/images/emoji/google/blue_heart.png differ diff --git a/public/images/emoji/google/blush.png b/public/images/emoji/google/blush.png index c72711d39..f01b27b4a 100644 Binary files a/public/images/emoji/google/blush.png and b/public/images/emoji/google/blush.png differ diff --git a/public/images/emoji/google/boar.png b/public/images/emoji/google/boar.png index ea874cd62..ced8c03a5 100644 Binary files a/public/images/emoji/google/boar.png and b/public/images/emoji/google/boar.png differ diff --git a/public/images/emoji/google/boat.png b/public/images/emoji/google/boat.png deleted file mode 100644 index 2369ef064..000000000 Binary files a/public/images/emoji/google/boat.png and /dev/null differ diff --git a/public/images/emoji/google/bomb.png b/public/images/emoji/google/bomb.png index 684b01f20..632540aae 100644 Binary files a/public/images/emoji/google/bomb.png and b/public/images/emoji/google/bomb.png differ diff --git a/public/images/emoji/google/book.png b/public/images/emoji/google/book.png index e72d50108..ac277b2a5 100644 Binary files a/public/images/emoji/google/book.png and b/public/images/emoji/google/book.png differ diff --git a/public/images/emoji/google/bookmark.png b/public/images/emoji/google/bookmark.png index 2a5b37d3c..44814dfcf 100644 Binary files a/public/images/emoji/google/bookmark.png and b/public/images/emoji/google/bookmark.png differ diff --git a/public/images/emoji/google/bookmark_tabs.png b/public/images/emoji/google/bookmark_tabs.png index 824d820fd..cd1d7ab78 100644 Binary files a/public/images/emoji/google/bookmark_tabs.png and b/public/images/emoji/google/bookmark_tabs.png differ diff --git a/public/images/emoji/google/books.png b/public/images/emoji/google/books.png index 865981a6c..1478bfad9 100644 Binary files a/public/images/emoji/google/books.png and b/public/images/emoji/google/books.png differ diff --git a/public/images/emoji/google/boom.png b/public/images/emoji/google/boom.png index dbce2a6e4..76edc4c34 100644 Binary files a/public/images/emoji/google/boom.png and b/public/images/emoji/google/boom.png differ diff --git a/public/images/emoji/google/boot.png b/public/images/emoji/google/boot.png index f2e643a29..eb0347064 100644 Binary files a/public/images/emoji/google/boot.png and b/public/images/emoji/google/boot.png differ diff --git a/public/images/emoji/google/bottle_with_popping_cork.png b/public/images/emoji/google/bottle_with_popping_cork.png new file mode 100644 index 000000000..5cf41ff03 Binary files /dev/null and b/public/images/emoji/google/bottle_with_popping_cork.png differ diff --git a/public/images/emoji/google/bouquet.png b/public/images/emoji/google/bouquet.png index c4df65f7f..64ba6b601 100644 Binary files a/public/images/emoji/google/bouquet.png and b/public/images/emoji/google/bouquet.png differ diff --git a/public/images/emoji/google/bow.png b/public/images/emoji/google/bow.png index 5790ce30a..bd18e0ae6 100644 Binary files a/public/images/emoji/google/bow.png and b/public/images/emoji/google/bow.png differ diff --git a/public/images/emoji/google/bow_and_arrow.png b/public/images/emoji/google/bow_and_arrow.png index d49fc2cd5..dceea7eab 100644 Binary files a/public/images/emoji/google/bow_and_arrow.png and b/public/images/emoji/google/bow_and_arrow.png differ diff --git a/public/images/emoji/google/bowling.png b/public/images/emoji/google/bowling.png index 5ec51fc51..e39f72ddb 100644 Binary files a/public/images/emoji/google/bowling.png and b/public/images/emoji/google/bowling.png differ diff --git a/public/images/emoji/google/boy.png b/public/images/emoji/google/boy.png index c5e7078de..9a0810d5f 100644 Binary files a/public/images/emoji/google/boy.png and b/public/images/emoji/google/boy.png differ diff --git a/public/images/emoji/google/bread.png b/public/images/emoji/google/bread.png index 5752e97db..db9365adb 100644 Binary files a/public/images/emoji/google/bread.png and b/public/images/emoji/google/bread.png differ diff --git a/public/images/emoji/google/bride_with_veil.png b/public/images/emoji/google/bride_with_veil.png index 96510b046..95ac30e14 100644 Binary files a/public/images/emoji/google/bride_with_veil.png and b/public/images/emoji/google/bride_with_veil.png differ diff --git a/public/images/emoji/google/bridge_at_night.png b/public/images/emoji/google/bridge_at_night.png index 982c03a51..c2db12fa2 100644 Binary files a/public/images/emoji/google/bridge_at_night.png and b/public/images/emoji/google/bridge_at_night.png differ diff --git a/public/images/emoji/google/briefcase.png b/public/images/emoji/google/briefcase.png index 5d70aa841..b384dc9d6 100644 Binary files a/public/images/emoji/google/briefcase.png and b/public/images/emoji/google/briefcase.png differ diff --git a/public/images/emoji/google/broken_heart.png b/public/images/emoji/google/broken_heart.png index d7b4f27f4..df439f804 100644 Binary files a/public/images/emoji/google/broken_heart.png and b/public/images/emoji/google/broken_heart.png differ diff --git a/public/images/emoji/google/bug.png b/public/images/emoji/google/bug.png index 0670a643e..96ef9230a 100644 Binary files a/public/images/emoji/google/bug.png and b/public/images/emoji/google/bug.png differ diff --git a/public/images/emoji/google/building_construction.png b/public/images/emoji/google/building_construction.png new file mode 100644 index 000000000..78e30b4b2 Binary files /dev/null and b/public/images/emoji/google/building_construction.png differ diff --git a/public/images/emoji/google/bulb.png b/public/images/emoji/google/bulb.png index fca03c562..1ff72c2b9 100644 Binary files a/public/images/emoji/google/bulb.png and b/public/images/emoji/google/bulb.png differ diff --git a/public/images/emoji/google/bullettrain_front.png b/public/images/emoji/google/bullettrain_front.png index 6a386fdfc..9e70b3b2c 100644 Binary files a/public/images/emoji/google/bullettrain_front.png and b/public/images/emoji/google/bullettrain_front.png differ diff --git a/public/images/emoji/google/bullettrain_side.png b/public/images/emoji/google/bullettrain_side.png index b3b4a5e63..b257266ae 100644 Binary files a/public/images/emoji/google/bullettrain_side.png and b/public/images/emoji/google/bullettrain_side.png differ diff --git a/public/images/emoji/google/burrito.png b/public/images/emoji/google/burrito.png index 844a16b1c..cde9352f1 100644 Binary files a/public/images/emoji/google/burrito.png and b/public/images/emoji/google/burrito.png differ diff --git a/public/images/emoji/google/bus.png b/public/images/emoji/google/bus.png index 243d07c85..599eca6f1 100644 Binary files a/public/images/emoji/google/bus.png and b/public/images/emoji/google/bus.png differ diff --git a/public/images/emoji/google/busstop.png b/public/images/emoji/google/busstop.png index 1f775a19c..bf9c299cc 100644 Binary files a/public/images/emoji/google/busstop.png and b/public/images/emoji/google/busstop.png differ diff --git a/public/images/emoji/google/bust_in_silhouette.png b/public/images/emoji/google/bust_in_silhouette.png index 60d13b7a3..bc9922839 100644 Binary files a/public/images/emoji/google/bust_in_silhouette.png and b/public/images/emoji/google/bust_in_silhouette.png differ diff --git a/public/images/emoji/google/busts_in_silhouette.png b/public/images/emoji/google/busts_in_silhouette.png index afe7f6e38..677dcb13c 100644 Binary files a/public/images/emoji/google/busts_in_silhouette.png and b/public/images/emoji/google/busts_in_silhouette.png differ diff --git a/public/images/emoji/google/cactus.png b/public/images/emoji/google/cactus.png index 201af2257..5d0ca1b59 100644 Binary files a/public/images/emoji/google/cactus.png and b/public/images/emoji/google/cactus.png differ diff --git a/public/images/emoji/google/cake.png b/public/images/emoji/google/cake.png index 66e74863f..1cdb35299 100644 Binary files a/public/images/emoji/google/cake.png and b/public/images/emoji/google/cake.png differ diff --git a/public/images/emoji/google/calendar.png b/public/images/emoji/google/calendar.png index bada128f1..fe5a43976 100644 Binary files a/public/images/emoji/google/calendar.png and b/public/images/emoji/google/calendar.png differ diff --git a/public/images/emoji/google/calendar_spiral.png b/public/images/emoji/google/calendar_spiral.png index bd6dd7125..4f13ffb5f 100644 Binary files a/public/images/emoji/google/calendar_spiral.png and b/public/images/emoji/google/calendar_spiral.png differ diff --git a/public/images/emoji/google/calling.png b/public/images/emoji/google/calling.png index 283c2f275..69d80b6b2 100644 Binary files a/public/images/emoji/google/calling.png and b/public/images/emoji/google/calling.png differ diff --git a/public/images/emoji/google/camel.png b/public/images/emoji/google/camel.png index 1925d5aa4..715d722cd 100644 Binary files a/public/images/emoji/google/camel.png and b/public/images/emoji/google/camel.png differ diff --git a/public/images/emoji/google/camera.png b/public/images/emoji/google/camera.png index 35b181811..8483a62d9 100644 Binary files a/public/images/emoji/google/camera.png and b/public/images/emoji/google/camera.png differ diff --git a/public/images/emoji/google/camera_with_flash.png b/public/images/emoji/google/camera_with_flash.png index 6530f83f2..9e898cde1 100644 Binary files a/public/images/emoji/google/camera_with_flash.png and b/public/images/emoji/google/camera_with_flash.png differ diff --git a/public/images/emoji/google/camping.png b/public/images/emoji/google/camping.png index 93415ad3c..20cf5bd60 100644 Binary files a/public/images/emoji/google/camping.png and b/public/images/emoji/google/camping.png differ diff --git a/public/images/emoji/google/cancer.png b/public/images/emoji/google/cancer.png index 7cf4ecf42..213603612 100644 Binary files a/public/images/emoji/google/cancer.png and b/public/images/emoji/google/cancer.png differ diff --git a/public/images/emoji/google/candle.png b/public/images/emoji/google/candle.png index d39a73297..7978fccce 100644 Binary files a/public/images/emoji/google/candle.png and b/public/images/emoji/google/candle.png differ diff --git a/public/images/emoji/google/candy.png b/public/images/emoji/google/candy.png index 5042d719c..d235a92b7 100644 Binary files a/public/images/emoji/google/candy.png and b/public/images/emoji/google/candy.png differ diff --git a/public/images/emoji/google/capital_abcd.png b/public/images/emoji/google/capital_abcd.png index c9e93a2b9..62c8b9fe5 100644 Binary files a/public/images/emoji/google/capital_abcd.png and b/public/images/emoji/google/capital_abcd.png differ diff --git a/public/images/emoji/google/capricorn.png b/public/images/emoji/google/capricorn.png index dba8530a7..b99a7d1b7 100644 Binary files a/public/images/emoji/google/capricorn.png and b/public/images/emoji/google/capricorn.png differ diff --git a/public/images/emoji/google/car.png b/public/images/emoji/google/car.png deleted file mode 100644 index e71c81d38..000000000 Binary files a/public/images/emoji/google/car.png and /dev/null differ diff --git a/public/images/emoji/google/card_box.png b/public/images/emoji/google/card_box.png index 99e43b255..85c914bb1 100644 Binary files a/public/images/emoji/google/card_box.png and b/public/images/emoji/google/card_box.png differ diff --git a/public/images/emoji/google/card_file_box.png b/public/images/emoji/google/card_file_box.png new file mode 100644 index 000000000..85c914bb1 Binary files /dev/null and b/public/images/emoji/google/card_file_box.png differ diff --git a/public/images/emoji/google/card_index.png b/public/images/emoji/google/card_index.png index 4988f3aa6..d98708218 100644 Binary files a/public/images/emoji/google/card_index.png and b/public/images/emoji/google/card_index.png differ diff --git a/public/images/emoji/google/card_index_dividers.png b/public/images/emoji/google/card_index_dividers.png new file mode 100644 index 000000000..62dea0dd6 Binary files /dev/null and b/public/images/emoji/google/card_index_dividers.png differ diff --git a/public/images/emoji/google/carousel_horse.png b/public/images/emoji/google/carousel_horse.png index c1dc86895..1a1da2713 100644 Binary files a/public/images/emoji/google/carousel_horse.png and b/public/images/emoji/google/carousel_horse.png differ diff --git a/public/images/emoji/google/cat.png b/public/images/emoji/google/cat.png index bc5f33259..78d6f9206 100644 Binary files a/public/images/emoji/google/cat.png and b/public/images/emoji/google/cat.png differ diff --git a/public/images/emoji/google/cat2.png b/public/images/emoji/google/cat2.png index 591a2262c..5a5ceb0e6 100644 Binary files a/public/images/emoji/google/cat2.png and b/public/images/emoji/google/cat2.png differ diff --git a/public/images/emoji/google/cd.png b/public/images/emoji/google/cd.png index e561f0e79..a5334c3ac 100644 Binary files a/public/images/emoji/google/cd.png and b/public/images/emoji/google/cd.png differ diff --git a/public/images/emoji/google/chains.png b/public/images/emoji/google/chains.png index b351a69dd..30c3e8888 100644 Binary files a/public/images/emoji/google/chains.png and b/public/images/emoji/google/chains.png differ diff --git a/public/images/emoji/google/champagne.png b/public/images/emoji/google/champagne.png index e42cfacfe..5cf41ff03 100644 Binary files a/public/images/emoji/google/champagne.png and b/public/images/emoji/google/champagne.png differ diff --git a/public/images/emoji/google/chart.png b/public/images/emoji/google/chart.png index a50dc913e..d66c094b4 100644 Binary files a/public/images/emoji/google/chart.png and b/public/images/emoji/google/chart.png differ diff --git a/public/images/emoji/google/chart_with_downwards_trend.png b/public/images/emoji/google/chart_with_downwards_trend.png index e9fb1b90c..377075e9c 100644 Binary files a/public/images/emoji/google/chart_with_downwards_trend.png and b/public/images/emoji/google/chart_with_downwards_trend.png differ diff --git a/public/images/emoji/google/chart_with_upwards_trend.png b/public/images/emoji/google/chart_with_upwards_trend.png index feb0b31ce..282ef9034 100644 Binary files a/public/images/emoji/google/chart_with_upwards_trend.png and b/public/images/emoji/google/chart_with_upwards_trend.png differ diff --git a/public/images/emoji/google/checkered_flag.png b/public/images/emoji/google/checkered_flag.png index d2007275a..c9b232ed0 100644 Binary files a/public/images/emoji/google/checkered_flag.png and b/public/images/emoji/google/checkered_flag.png differ diff --git a/public/images/emoji/google/cheese.png b/public/images/emoji/google/cheese.png index b41475b40..e66ad08ba 100644 Binary files a/public/images/emoji/google/cheese.png and b/public/images/emoji/google/cheese.png differ diff --git a/public/images/emoji/google/cheese_wedge.png b/public/images/emoji/google/cheese_wedge.png new file mode 100644 index 000000000..e66ad08ba Binary files /dev/null and b/public/images/emoji/google/cheese_wedge.png differ diff --git a/public/images/emoji/google/cherries.png b/public/images/emoji/google/cherries.png index fdc90b4d4..e1931e295 100644 Binary files a/public/images/emoji/google/cherries.png and b/public/images/emoji/google/cherries.png differ diff --git a/public/images/emoji/google/cherry_blossom.png b/public/images/emoji/google/cherry_blossom.png index b3e099ac7..4a142df68 100644 Binary files a/public/images/emoji/google/cherry_blossom.png and b/public/images/emoji/google/cherry_blossom.png differ diff --git a/public/images/emoji/google/chestnut.png b/public/images/emoji/google/chestnut.png index c85efeb30..4a6266aa0 100644 Binary files a/public/images/emoji/google/chestnut.png and b/public/images/emoji/google/chestnut.png differ diff --git a/public/images/emoji/google/chicken.png b/public/images/emoji/google/chicken.png index d00dbfed2..53c11c8cb 100644 Binary files a/public/images/emoji/google/chicken.png and b/public/images/emoji/google/chicken.png differ diff --git a/public/images/emoji/google/children_crossing.png b/public/images/emoji/google/children_crossing.png index 0920af0f0..f83ecee8e 100644 Binary files a/public/images/emoji/google/children_crossing.png and b/public/images/emoji/google/children_crossing.png differ diff --git a/public/images/emoji/google/chipmunk.png b/public/images/emoji/google/chipmunk.png index 3e582e29d..56529ca04 100644 Binary files a/public/images/emoji/google/chipmunk.png and b/public/images/emoji/google/chipmunk.png differ diff --git a/public/images/emoji/google/chocolate_bar.png b/public/images/emoji/google/chocolate_bar.png index f63b907b1..8ebd8fe93 100644 Binary files a/public/images/emoji/google/chocolate_bar.png and b/public/images/emoji/google/chocolate_bar.png differ diff --git a/public/images/emoji/google/christmas_tree.png b/public/images/emoji/google/christmas_tree.png index 27b037c0e..4ddc26af5 100644 Binary files a/public/images/emoji/google/christmas_tree.png and b/public/images/emoji/google/christmas_tree.png differ diff --git a/public/images/emoji/google/church.png b/public/images/emoji/google/church.png index 906239b16..855bf9c3c 100644 Binary files a/public/images/emoji/google/church.png and b/public/images/emoji/google/church.png differ diff --git a/public/images/emoji/google/cinema.png b/public/images/emoji/google/cinema.png index 483e26ef2..912c36a6e 100644 Binary files a/public/images/emoji/google/cinema.png and b/public/images/emoji/google/cinema.png differ diff --git a/public/images/emoji/google/circus_tent.png b/public/images/emoji/google/circus_tent.png index e892050f3..fc0995ea1 100644 Binary files a/public/images/emoji/google/circus_tent.png and b/public/images/emoji/google/circus_tent.png differ diff --git a/public/images/emoji/google/city_dusk.png b/public/images/emoji/google/city_dusk.png index 1d5e0b932..11677c941 100644 Binary files a/public/images/emoji/google/city_dusk.png and b/public/images/emoji/google/city_dusk.png differ diff --git a/public/images/emoji/google/city_sunrise.png b/public/images/emoji/google/city_sunrise.png index 16f81d08f..606d49c2d 100644 Binary files a/public/images/emoji/google/city_sunrise.png and b/public/images/emoji/google/city_sunrise.png differ diff --git a/public/images/emoji/google/city_sunset.png b/public/images/emoji/google/city_sunset.png index 9c88ae267..606d49c2d 100644 Binary files a/public/images/emoji/google/city_sunset.png and b/public/images/emoji/google/city_sunset.png differ diff --git a/public/images/emoji/google/cityscape.png b/public/images/emoji/google/cityscape.png index e42dd1941..218ea8e5f 100644 Binary files a/public/images/emoji/google/cityscape.png and b/public/images/emoji/google/cityscape.png differ diff --git a/public/images/emoji/google/cl.png b/public/images/emoji/google/cl.png index 438dfa006..20e0d1d09 100644 Binary files a/public/images/emoji/google/cl.png and b/public/images/emoji/google/cl.png differ diff --git a/public/images/emoji/google/clap.png b/public/images/emoji/google/clap.png index 86cce9e73..1def8c44e 100644 Binary files a/public/images/emoji/google/clap.png and b/public/images/emoji/google/clap.png differ diff --git a/public/images/emoji/google/clapper.png b/public/images/emoji/google/clapper.png index 6f7e94a2f..b8f9f807f 100644 Binary files a/public/images/emoji/google/clapper.png and b/public/images/emoji/google/clapper.png differ diff --git a/public/images/emoji/google/classical_building.png b/public/images/emoji/google/classical_building.png index 7c52f6c98..7c8c45438 100644 Binary files a/public/images/emoji/google/classical_building.png and b/public/images/emoji/google/classical_building.png differ diff --git a/public/images/emoji/google/clipboard.png b/public/images/emoji/google/clipboard.png index 3a168e3a7..c9af21fc9 100644 Binary files a/public/images/emoji/google/clipboard.png and b/public/images/emoji/google/clipboard.png differ diff --git a/public/images/emoji/google/clock.png b/public/images/emoji/google/clock.png index a01e801f2..48c0e38d4 100644 Binary files a/public/images/emoji/google/clock.png and b/public/images/emoji/google/clock.png differ diff --git a/public/images/emoji/google/clock1.png b/public/images/emoji/google/clock1.png index 64e1d54a1..5f0b1d88a 100644 Binary files a/public/images/emoji/google/clock1.png and b/public/images/emoji/google/clock1.png differ diff --git a/public/images/emoji/google/clock10.png b/public/images/emoji/google/clock10.png index 4b5f5ec1f..2942520aa 100644 Binary files a/public/images/emoji/google/clock10.png and b/public/images/emoji/google/clock10.png differ diff --git a/public/images/emoji/google/clock1030.png b/public/images/emoji/google/clock1030.png index 8f0ae6a41..b4bad6b1d 100644 Binary files a/public/images/emoji/google/clock1030.png and b/public/images/emoji/google/clock1030.png differ diff --git a/public/images/emoji/google/clock11.png b/public/images/emoji/google/clock11.png index 06f98a3ae..bc422c6be 100644 Binary files a/public/images/emoji/google/clock11.png and b/public/images/emoji/google/clock11.png differ diff --git a/public/images/emoji/google/clock1130.png b/public/images/emoji/google/clock1130.png index ab89cee0f..4c4c06b94 100644 Binary files a/public/images/emoji/google/clock1130.png and b/public/images/emoji/google/clock1130.png differ diff --git a/public/images/emoji/google/clock12.png b/public/images/emoji/google/clock12.png index 3dc89db1c..d7733bc61 100644 Binary files a/public/images/emoji/google/clock12.png and b/public/images/emoji/google/clock12.png differ diff --git a/public/images/emoji/google/clock1230.png b/public/images/emoji/google/clock1230.png index 4a6bc3aeb..a1c71c939 100644 Binary files a/public/images/emoji/google/clock1230.png and b/public/images/emoji/google/clock1230.png differ diff --git a/public/images/emoji/google/clock130.png b/public/images/emoji/google/clock130.png index de70eca2e..8c6496020 100644 Binary files a/public/images/emoji/google/clock130.png and b/public/images/emoji/google/clock130.png differ diff --git a/public/images/emoji/google/clock2.png b/public/images/emoji/google/clock2.png index 10e66683b..20d6e843a 100644 Binary files a/public/images/emoji/google/clock2.png and b/public/images/emoji/google/clock2.png differ diff --git a/public/images/emoji/google/clock230.png b/public/images/emoji/google/clock230.png index bd570cdbd..c04c03079 100644 Binary files a/public/images/emoji/google/clock230.png and b/public/images/emoji/google/clock230.png differ diff --git a/public/images/emoji/google/clock3.png b/public/images/emoji/google/clock3.png index 630c1e59e..190e78425 100644 Binary files a/public/images/emoji/google/clock3.png and b/public/images/emoji/google/clock3.png differ diff --git a/public/images/emoji/google/clock330.png b/public/images/emoji/google/clock330.png index 908626c40..5e878c3c2 100644 Binary files a/public/images/emoji/google/clock330.png and b/public/images/emoji/google/clock330.png differ diff --git a/public/images/emoji/google/clock4.png b/public/images/emoji/google/clock4.png index 13ca9e435..b4df6cfde 100644 Binary files a/public/images/emoji/google/clock4.png and b/public/images/emoji/google/clock4.png differ diff --git a/public/images/emoji/google/clock430.png b/public/images/emoji/google/clock430.png index 4c535207d..33e2cf894 100644 Binary files a/public/images/emoji/google/clock430.png and b/public/images/emoji/google/clock430.png differ diff --git a/public/images/emoji/google/clock5.png b/public/images/emoji/google/clock5.png index 7c6abe7f4..70cfdce46 100644 Binary files a/public/images/emoji/google/clock5.png and b/public/images/emoji/google/clock5.png differ diff --git a/public/images/emoji/google/clock530.png b/public/images/emoji/google/clock530.png index e353f09a0..f7f5a6e19 100644 Binary files a/public/images/emoji/google/clock530.png and b/public/images/emoji/google/clock530.png differ diff --git a/public/images/emoji/google/clock6.png b/public/images/emoji/google/clock6.png index ee236d96b..a71efd9da 100644 Binary files a/public/images/emoji/google/clock6.png and b/public/images/emoji/google/clock6.png differ diff --git a/public/images/emoji/google/clock630.png b/public/images/emoji/google/clock630.png index d4e78c458..95149d000 100644 Binary files a/public/images/emoji/google/clock630.png and b/public/images/emoji/google/clock630.png differ diff --git a/public/images/emoji/google/clock7.png b/public/images/emoji/google/clock7.png index 9674f8910..54bc95e8b 100644 Binary files a/public/images/emoji/google/clock7.png and b/public/images/emoji/google/clock7.png differ diff --git a/public/images/emoji/google/clock730.png b/public/images/emoji/google/clock730.png index 6ec4f02dd..224474591 100644 Binary files a/public/images/emoji/google/clock730.png and b/public/images/emoji/google/clock730.png differ diff --git a/public/images/emoji/google/clock8.png b/public/images/emoji/google/clock8.png index cb7fa439d..72da307e3 100644 Binary files a/public/images/emoji/google/clock8.png and b/public/images/emoji/google/clock8.png differ diff --git a/public/images/emoji/google/clock830.png b/public/images/emoji/google/clock830.png index 7eee85991..c36b0798b 100644 Binary files a/public/images/emoji/google/clock830.png and b/public/images/emoji/google/clock830.png differ diff --git a/public/images/emoji/google/clock9.png b/public/images/emoji/google/clock9.png index 3f328d5b7..1aba4a893 100644 Binary files a/public/images/emoji/google/clock9.png and b/public/images/emoji/google/clock9.png differ diff --git a/public/images/emoji/google/clock930.png b/public/images/emoji/google/clock930.png index e89ce6d23..1e7acda19 100644 Binary files a/public/images/emoji/google/clock930.png and b/public/images/emoji/google/clock930.png differ diff --git a/public/images/emoji/google/closed_book.png b/public/images/emoji/google/closed_book.png index 9e8f17a70..b28245ac4 100644 Binary files a/public/images/emoji/google/closed_book.png and b/public/images/emoji/google/closed_book.png differ diff --git a/public/images/emoji/google/closed_lock_with_key.png b/public/images/emoji/google/closed_lock_with_key.png index 9d574d88f..6fc692ab1 100644 Binary files a/public/images/emoji/google/closed_lock_with_key.png and b/public/images/emoji/google/closed_lock_with_key.png differ diff --git a/public/images/emoji/google/closed_umbrella.png b/public/images/emoji/google/closed_umbrella.png index cc98f3fb6..6b2cdf59e 100644 Binary files a/public/images/emoji/google/closed_umbrella.png and b/public/images/emoji/google/closed_umbrella.png differ diff --git a/public/images/emoji/google/cloud.png b/public/images/emoji/google/cloud.png index ad171cb93..d11cf974a 100644 Binary files a/public/images/emoji/google/cloud.png and b/public/images/emoji/google/cloud.png differ diff --git a/public/images/emoji/google/cloud_lightning.png b/public/images/emoji/google/cloud_lightning.png index 7928332ac..189e4a6a9 100644 Binary files a/public/images/emoji/google/cloud_lightning.png and b/public/images/emoji/google/cloud_lightning.png differ diff --git a/public/images/emoji/google/cloud_rain.png b/public/images/emoji/google/cloud_rain.png index 9c98ad6c6..1b32b3716 100644 Binary files a/public/images/emoji/google/cloud_rain.png and b/public/images/emoji/google/cloud_rain.png differ diff --git a/public/images/emoji/google/cloud_snow.png b/public/images/emoji/google/cloud_snow.png index 06159ea0e..02d9e2ddb 100644 Binary files a/public/images/emoji/google/cloud_snow.png and b/public/images/emoji/google/cloud_snow.png differ diff --git a/public/images/emoji/google/cloud_tornado.png b/public/images/emoji/google/cloud_tornado.png index 3cd4cfb51..fb8684e1c 100644 Binary files a/public/images/emoji/google/cloud_tornado.png and b/public/images/emoji/google/cloud_tornado.png differ diff --git a/public/images/emoji/google/cloud_with_lightning.png b/public/images/emoji/google/cloud_with_lightning.png new file mode 100644 index 000000000..189e4a6a9 Binary files /dev/null and b/public/images/emoji/google/cloud_with_lightning.png differ diff --git a/public/images/emoji/google/cloud_with_rain.png b/public/images/emoji/google/cloud_with_rain.png new file mode 100644 index 000000000..1b32b3716 Binary files /dev/null and b/public/images/emoji/google/cloud_with_rain.png differ diff --git a/public/images/emoji/google/cloud_with_snow.png b/public/images/emoji/google/cloud_with_snow.png new file mode 100644 index 000000000..02d9e2ddb Binary files /dev/null and b/public/images/emoji/google/cloud_with_snow.png differ diff --git a/public/images/emoji/google/cloud_with_tornado.png b/public/images/emoji/google/cloud_with_tornado.png new file mode 100644 index 000000000..fb8684e1c Binary files /dev/null and b/public/images/emoji/google/cloud_with_tornado.png differ diff --git a/public/images/emoji/google/clubs.png b/public/images/emoji/google/clubs.png index ff8e6aa9c..2efcb695b 100644 Binary files a/public/images/emoji/google/clubs.png and b/public/images/emoji/google/clubs.png differ diff --git a/public/images/emoji/google/cn.png b/public/images/emoji/google/cn.png index e3d59bb29..38d240d56 100644 Binary files a/public/images/emoji/google/cn.png and b/public/images/emoji/google/cn.png differ diff --git a/public/images/emoji/google/cocktail.png b/public/images/emoji/google/cocktail.png index 23a5920b2..0174cbf98 100644 Binary files a/public/images/emoji/google/cocktail.png and b/public/images/emoji/google/cocktail.png differ diff --git a/public/images/emoji/google/coffee.png b/public/images/emoji/google/coffee.png index 1d0b431d9..ccf5a36de 100644 Binary files a/public/images/emoji/google/coffee.png and b/public/images/emoji/google/coffee.png differ diff --git a/public/images/emoji/google/coffin.png b/public/images/emoji/google/coffin.png index 07777d3fd..ac77ae071 100644 Binary files a/public/images/emoji/google/coffin.png and b/public/images/emoji/google/coffin.png differ diff --git a/public/images/emoji/google/cold_sweat.png b/public/images/emoji/google/cold_sweat.png index fe5af1e26..956924946 100644 Binary files a/public/images/emoji/google/cold_sweat.png and b/public/images/emoji/google/cold_sweat.png differ diff --git a/public/images/emoji/google/collision.png b/public/images/emoji/google/collision.png deleted file mode 100644 index ceb728289..000000000 Binary files a/public/images/emoji/google/collision.png and /dev/null differ diff --git a/public/images/emoji/google/comet.png b/public/images/emoji/google/comet.png index 9cad61148..34c92afd6 100644 Binary files a/public/images/emoji/google/comet.png and b/public/images/emoji/google/comet.png differ diff --git a/public/images/emoji/google/compression.png b/public/images/emoji/google/compression.png index ac7dd4ca7..99709b6d7 100644 Binary files a/public/images/emoji/google/compression.png and b/public/images/emoji/google/compression.png differ diff --git a/public/images/emoji/google/computer.png b/public/images/emoji/google/computer.png index 2a46e89ee..fbd02827c 100644 Binary files a/public/images/emoji/google/computer.png and b/public/images/emoji/google/computer.png differ diff --git a/public/images/emoji/google/confetti_ball.png b/public/images/emoji/google/confetti_ball.png index 3c43c625c..c6afa366a 100644 Binary files a/public/images/emoji/google/confetti_ball.png and b/public/images/emoji/google/confetti_ball.png differ diff --git a/public/images/emoji/google/confounded.png b/public/images/emoji/google/confounded.png index 597e08fe7..1b55bad17 100644 Binary files a/public/images/emoji/google/confounded.png and b/public/images/emoji/google/confounded.png differ diff --git a/public/images/emoji/google/confused.png b/public/images/emoji/google/confused.png index d870aa4d9..4d382d619 100644 Binary files a/public/images/emoji/google/confused.png and b/public/images/emoji/google/confused.png differ diff --git a/public/images/emoji/google/congratulations.png b/public/images/emoji/google/congratulations.png index 85c40aabf..9e5ab9c4f 100644 Binary files a/public/images/emoji/google/congratulations.png and b/public/images/emoji/google/congratulations.png differ diff --git a/public/images/emoji/google/construction.png b/public/images/emoji/google/construction.png index 433dc1c65..3b53d8743 100644 Binary files a/public/images/emoji/google/construction.png and b/public/images/emoji/google/construction.png differ diff --git a/public/images/emoji/google/construction_site.png b/public/images/emoji/google/construction_site.png index 2b27bfb89..78e30b4b2 100644 Binary files a/public/images/emoji/google/construction_site.png and b/public/images/emoji/google/construction_site.png differ diff --git a/public/images/emoji/google/construction_worker.png b/public/images/emoji/google/construction_worker.png index 420d08043..4888f08a4 100644 Binary files a/public/images/emoji/google/construction_worker.png and b/public/images/emoji/google/construction_worker.png differ diff --git a/public/images/emoji/google/control_knobs.png b/public/images/emoji/google/control_knobs.png index 01aa45bcf..8b5f91766 100644 Binary files a/public/images/emoji/google/control_knobs.png and b/public/images/emoji/google/control_knobs.png differ diff --git a/public/images/emoji/google/convenience_store.png b/public/images/emoji/google/convenience_store.png index dad0f4235..20a2659be 100644 Binary files a/public/images/emoji/google/convenience_store.png and b/public/images/emoji/google/convenience_store.png differ diff --git a/public/images/emoji/google/cookie.png b/public/images/emoji/google/cookie.png index 7a0ebc5aa..d7699382b 100644 Binary files a/public/images/emoji/google/cookie.png and b/public/images/emoji/google/cookie.png differ diff --git a/public/images/emoji/google/cool.png b/public/images/emoji/google/cool.png index 4f6889458..edb2e1a4f 100644 Binary files a/public/images/emoji/google/cool.png and b/public/images/emoji/google/cool.png differ diff --git a/public/images/emoji/google/cop.png b/public/images/emoji/google/cop.png index 0c4332d98..5705d19c1 100644 Binary files a/public/images/emoji/google/cop.png and b/public/images/emoji/google/cop.png differ diff --git a/public/images/emoji/google/copyright.png b/public/images/emoji/google/copyright.png index 84ea10322..68d8f2a6b 100644 Binary files a/public/images/emoji/google/copyright.png and b/public/images/emoji/google/copyright.png differ diff --git a/public/images/emoji/google/corn.png b/public/images/emoji/google/corn.png index fdcce5df6..cb4010c53 100644 Binary files a/public/images/emoji/google/corn.png and b/public/images/emoji/google/corn.png differ diff --git a/public/images/emoji/google/couch.png b/public/images/emoji/google/couch.png index b5628b020..c74cf74d7 100644 Binary files a/public/images/emoji/google/couch.png and b/public/images/emoji/google/couch.png differ diff --git a/public/images/emoji/google/couch_and_lamp.png b/public/images/emoji/google/couch_and_lamp.png new file mode 100644 index 000000000..c74cf74d7 Binary files /dev/null and b/public/images/emoji/google/couch_and_lamp.png differ diff --git a/public/images/emoji/google/couple.png b/public/images/emoji/google/couple.png index 525a95b81..7708bf843 100644 Binary files a/public/images/emoji/google/couple.png and b/public/images/emoji/google/couple.png differ diff --git a/public/images/emoji/google/couple_with_heart.png b/public/images/emoji/google/couple_with_heart.png index 77f57dabe..731e413a6 100644 Binary files a/public/images/emoji/google/couple_with_heart.png and b/public/images/emoji/google/couple_with_heart.png differ diff --git a/public/images/emoji/google/couplekiss.png b/public/images/emoji/google/couplekiss.png index f55fc515c..f4c6a502d 100644 Binary files a/public/images/emoji/google/couplekiss.png and b/public/images/emoji/google/couplekiss.png differ diff --git a/public/images/emoji/google/cow.png b/public/images/emoji/google/cow.png index d59488063..cdf132178 100644 Binary files a/public/images/emoji/google/cow.png and b/public/images/emoji/google/cow.png differ diff --git a/public/images/emoji/google/cow2.png b/public/images/emoji/google/cow2.png index 1fe12b4ee..996889ffd 100644 Binary files a/public/images/emoji/google/cow2.png and b/public/images/emoji/google/cow2.png differ diff --git a/public/images/emoji/google/crab.png b/public/images/emoji/google/crab.png index 37b318042..57e06b8fa 100644 Binary files a/public/images/emoji/google/crab.png and b/public/images/emoji/google/crab.png differ diff --git a/public/images/emoji/google/crayon.png b/public/images/emoji/google/crayon.png index 0096c9c63..0ef86da10 100644 Binary files a/public/images/emoji/google/crayon.png and b/public/images/emoji/google/crayon.png differ diff --git a/public/images/emoji/google/credit_card.png b/public/images/emoji/google/credit_card.png index cfe301946..8c694147d 100644 Binary files a/public/images/emoji/google/credit_card.png and b/public/images/emoji/google/credit_card.png differ diff --git a/public/images/emoji/google/crescent_moon.png b/public/images/emoji/google/crescent_moon.png index b9451b810..780a07cbc 100644 Binary files a/public/images/emoji/google/crescent_moon.png and b/public/images/emoji/google/crescent_moon.png differ diff --git a/public/images/emoji/google/cricket.png b/public/images/emoji/google/cricket.png index 300b76d57..a6bbc03a9 100644 Binary files a/public/images/emoji/google/cricket.png and b/public/images/emoji/google/cricket.png differ diff --git a/public/images/emoji/google/cricket_bat_ball.png b/public/images/emoji/google/cricket_bat_ball.png new file mode 100644 index 000000000..a6bbc03a9 Binary files /dev/null and b/public/images/emoji/google/cricket_bat_ball.png differ diff --git a/public/images/emoji/google/crocodile.png b/public/images/emoji/google/crocodile.png index e5164c2c1..94e0504c4 100644 Binary files a/public/images/emoji/google/crocodile.png and b/public/images/emoji/google/crocodile.png differ diff --git a/public/images/emoji/google/cross.png b/public/images/emoji/google/cross.png index 1529863df..52d188499 100644 Binary files a/public/images/emoji/google/cross.png and b/public/images/emoji/google/cross.png differ diff --git a/public/images/emoji/google/crossed_flags.png b/public/images/emoji/google/crossed_flags.png index cf00a174c..f1ad338c6 100644 Binary files a/public/images/emoji/google/crossed_flags.png and b/public/images/emoji/google/crossed_flags.png differ diff --git a/public/images/emoji/google/crossed_swords.png b/public/images/emoji/google/crossed_swords.png index 636eb7e8e..97f8e0d9a 100644 Binary files a/public/images/emoji/google/crossed_swords.png and b/public/images/emoji/google/crossed_swords.png differ diff --git a/public/images/emoji/google/crown.png b/public/images/emoji/google/crown.png index 06cb90525..bb53ee146 100644 Binary files a/public/images/emoji/google/crown.png and b/public/images/emoji/google/crown.png differ diff --git a/public/images/emoji/google/cruise_ship.png b/public/images/emoji/google/cruise_ship.png index b9360e8ed..b0ce2c2f5 100644 Binary files a/public/images/emoji/google/cruise_ship.png and b/public/images/emoji/google/cruise_ship.png differ diff --git a/public/images/emoji/google/cry.png b/public/images/emoji/google/cry.png index 9e39b4a8b..995b04766 100644 Binary files a/public/images/emoji/google/cry.png and b/public/images/emoji/google/cry.png differ diff --git a/public/images/emoji/google/crying_cat_face.png b/public/images/emoji/google/crying_cat_face.png index 971fcd020..453949b17 100644 Binary files a/public/images/emoji/google/crying_cat_face.png and b/public/images/emoji/google/crying_cat_face.png differ diff --git a/public/images/emoji/google/crystal_ball.png b/public/images/emoji/google/crystal_ball.png index 015eb2994..f8abc41b2 100644 Binary files a/public/images/emoji/google/crystal_ball.png and b/public/images/emoji/google/crystal_ball.png differ diff --git a/public/images/emoji/google/cupid.png b/public/images/emoji/google/cupid.png index ab572072b..0088a51e6 100644 Binary files a/public/images/emoji/google/cupid.png and b/public/images/emoji/google/cupid.png differ diff --git a/public/images/emoji/google/curly_loop.png b/public/images/emoji/google/curly_loop.png index af104d9e8..bb05a9bbb 100644 Binary files a/public/images/emoji/google/curly_loop.png and b/public/images/emoji/google/curly_loop.png differ diff --git a/public/images/emoji/google/currency_exchange.png b/public/images/emoji/google/currency_exchange.png index c3387572e..d5e954da5 100644 Binary files a/public/images/emoji/google/currency_exchange.png and b/public/images/emoji/google/currency_exchange.png differ diff --git a/public/images/emoji/google/curry.png b/public/images/emoji/google/curry.png index 87be46d1d..85563c8a9 100644 Binary files a/public/images/emoji/google/curry.png and b/public/images/emoji/google/curry.png differ diff --git a/public/images/emoji/google/custard.png b/public/images/emoji/google/custard.png index b87a67924..1117f9bc8 100644 Binary files a/public/images/emoji/google/custard.png and b/public/images/emoji/google/custard.png differ diff --git a/public/images/emoji/google/customs.png b/public/images/emoji/google/customs.png index 80437fd43..8010e7360 100644 Binary files a/public/images/emoji/google/customs.png and b/public/images/emoji/google/customs.png differ diff --git a/public/images/emoji/google/cyclone.png b/public/images/emoji/google/cyclone.png index a61ce8cdb..9707a7d36 100644 Binary files a/public/images/emoji/google/cyclone.png and b/public/images/emoji/google/cyclone.png differ diff --git a/public/images/emoji/google/dagger.png b/public/images/emoji/google/dagger.png index 6a4b31e00..2500c5cd4 100644 Binary files a/public/images/emoji/google/dagger.png and b/public/images/emoji/google/dagger.png differ diff --git a/public/images/emoji/google/dagger_knife.png b/public/images/emoji/google/dagger_knife.png new file mode 100644 index 000000000..2500c5cd4 Binary files /dev/null and b/public/images/emoji/google/dagger_knife.png differ diff --git a/public/images/emoji/google/dancer.png b/public/images/emoji/google/dancer.png index 91b262526..af065d1d4 100644 Binary files a/public/images/emoji/google/dancer.png and b/public/images/emoji/google/dancer.png differ diff --git a/public/images/emoji/google/dancers.png b/public/images/emoji/google/dancers.png index 88633f21b..a7c9a1072 100644 Binary files a/public/images/emoji/google/dancers.png and b/public/images/emoji/google/dancers.png differ diff --git a/public/images/emoji/google/dango.png b/public/images/emoji/google/dango.png index d1ed6deab..e5747de1c 100644 Binary files a/public/images/emoji/google/dango.png and b/public/images/emoji/google/dango.png differ diff --git a/public/images/emoji/google/dark_sunglasses.png b/public/images/emoji/google/dark_sunglasses.png index ded25ea1d..3ad3db6dc 100644 Binary files a/public/images/emoji/google/dark_sunglasses.png and b/public/images/emoji/google/dark_sunglasses.png differ diff --git a/public/images/emoji/google/dart.png b/public/images/emoji/google/dart.png index 4f5c794a7..6e706955b 100644 Binary files a/public/images/emoji/google/dart.png and b/public/images/emoji/google/dart.png differ diff --git a/public/images/emoji/google/dash.png b/public/images/emoji/google/dash.png index 1504802ec..55f2eba46 100644 Binary files a/public/images/emoji/google/dash.png and b/public/images/emoji/google/dash.png differ diff --git a/public/images/emoji/google/date.png b/public/images/emoji/google/date.png index 22a90b06e..0131586e5 100644 Binary files a/public/images/emoji/google/date.png and b/public/images/emoji/google/date.png differ diff --git a/public/images/emoji/google/de.png b/public/images/emoji/google/de.png index b864c8346..d9a749790 100644 Binary files a/public/images/emoji/google/de.png and b/public/images/emoji/google/de.png differ diff --git a/public/images/emoji/google/deciduous_tree.png b/public/images/emoji/google/deciduous_tree.png index 6ec2c3913..87b85c98e 100644 Binary files a/public/images/emoji/google/deciduous_tree.png and b/public/images/emoji/google/deciduous_tree.png differ diff --git a/public/images/emoji/google/department_store.png b/public/images/emoji/google/department_store.png index 3df6a3f66..4b95e08e8 100644 Binary files a/public/images/emoji/google/department_store.png and b/public/images/emoji/google/department_store.png differ diff --git a/public/images/emoji/google/derelict_house_building.png b/public/images/emoji/google/derelict_house_building.png new file mode 100644 index 000000000..b1d5a7d81 Binary files /dev/null and b/public/images/emoji/google/derelict_house_building.png differ diff --git a/public/images/emoji/google/desert.png b/public/images/emoji/google/desert.png index beac9e023..4d08770a4 100644 Binary files a/public/images/emoji/google/desert.png and b/public/images/emoji/google/desert.png differ diff --git a/public/images/emoji/google/desert_island.png b/public/images/emoji/google/desert_island.png new file mode 100644 index 000000000..33b1d3883 Binary files /dev/null and b/public/images/emoji/google/desert_island.png differ diff --git a/public/images/emoji/google/desktop.png b/public/images/emoji/google/desktop.png index 7aa0819ee..89b4ce566 100644 Binary files a/public/images/emoji/google/desktop.png and b/public/images/emoji/google/desktop.png differ diff --git a/public/images/emoji/google/desktop_computer.png b/public/images/emoji/google/desktop_computer.png new file mode 100644 index 000000000..89b4ce566 Binary files /dev/null and b/public/images/emoji/google/desktop_computer.png differ diff --git a/public/images/emoji/google/diamond_shape_with_a_dot_inside.png b/public/images/emoji/google/diamond_shape_with_a_dot_inside.png index ec534864c..834392295 100644 Binary files a/public/images/emoji/google/diamond_shape_with_a_dot_inside.png and b/public/images/emoji/google/diamond_shape_with_a_dot_inside.png differ diff --git a/public/images/emoji/google/diamonds.png b/public/images/emoji/google/diamonds.png index f5cfcc7d3..5e706802d 100644 Binary files a/public/images/emoji/google/diamonds.png and b/public/images/emoji/google/diamonds.png differ diff --git a/public/images/emoji/google/disappointed.png b/public/images/emoji/google/disappointed.png index ce2be1ed0..ec08ac2e3 100644 Binary files a/public/images/emoji/google/disappointed.png and b/public/images/emoji/google/disappointed.png differ diff --git a/public/images/emoji/google/disappointed_relieved.png b/public/images/emoji/google/disappointed_relieved.png index 1e4811d97..e492b2339 100644 Binary files a/public/images/emoji/google/disappointed_relieved.png and b/public/images/emoji/google/disappointed_relieved.png differ diff --git a/public/images/emoji/google/dividers.png b/public/images/emoji/google/dividers.png index b526d0e34..62dea0dd6 100644 Binary files a/public/images/emoji/google/dividers.png and b/public/images/emoji/google/dividers.png differ diff --git a/public/images/emoji/google/dizzy.png b/public/images/emoji/google/dizzy.png index b1c445f4f..8e869e9ce 100644 Binary files a/public/images/emoji/google/dizzy.png and b/public/images/emoji/google/dizzy.png differ diff --git a/public/images/emoji/google/dizzy_face.png b/public/images/emoji/google/dizzy_face.png index 4a4185c59..ccf14a1e7 100644 Binary files a/public/images/emoji/google/dizzy_face.png and b/public/images/emoji/google/dizzy_face.png differ diff --git a/public/images/emoji/google/do_not_litter.png b/public/images/emoji/google/do_not_litter.png index 30b467529..301e48896 100644 Binary files a/public/images/emoji/google/do_not_litter.png and b/public/images/emoji/google/do_not_litter.png differ diff --git a/public/images/emoji/google/dog.png b/public/images/emoji/google/dog.png index b3f37a1eb..4245e1dca 100644 Binary files a/public/images/emoji/google/dog.png and b/public/images/emoji/google/dog.png differ diff --git a/public/images/emoji/google/dog2.png b/public/images/emoji/google/dog2.png index 18bf2b7b2..7db40e2f5 100644 Binary files a/public/images/emoji/google/dog2.png and b/public/images/emoji/google/dog2.png differ diff --git a/public/images/emoji/google/dollar.png b/public/images/emoji/google/dollar.png index e5b0e5574..f97db4712 100644 Binary files a/public/images/emoji/google/dollar.png and b/public/images/emoji/google/dollar.png differ diff --git a/public/images/emoji/google/dolls.png b/public/images/emoji/google/dolls.png index 25e61036b..a06aadbfb 100644 Binary files a/public/images/emoji/google/dolls.png and b/public/images/emoji/google/dolls.png differ diff --git a/public/images/emoji/google/dolphin.png b/public/images/emoji/google/dolphin.png index 71e5a1e12..dc7a84f5b 100644 Binary files a/public/images/emoji/google/dolphin.png and b/public/images/emoji/google/dolphin.png differ diff --git a/public/images/emoji/google/door.png b/public/images/emoji/google/door.png index 8ddea5b80..e7f6f891e 100644 Binary files a/public/images/emoji/google/door.png and b/public/images/emoji/google/door.png differ diff --git a/public/images/emoji/google/double_vertical_bar.png b/public/images/emoji/google/double_vertical_bar.png new file mode 100644 index 000000000..1be5733ff Binary files /dev/null and b/public/images/emoji/google/double_vertical_bar.png differ diff --git a/public/images/emoji/google/doughnut.png b/public/images/emoji/google/doughnut.png index d5c91b0eb..e7ce32abf 100644 Binary files a/public/images/emoji/google/doughnut.png and b/public/images/emoji/google/doughnut.png differ diff --git a/public/images/emoji/google/dove.png b/public/images/emoji/google/dove.png index 4095825d7..0800e98fc 100644 Binary files a/public/images/emoji/google/dove.png and b/public/images/emoji/google/dove.png differ diff --git a/public/images/emoji/google/dove_of_peace.png b/public/images/emoji/google/dove_of_peace.png new file mode 100644 index 000000000..0800e98fc Binary files /dev/null and b/public/images/emoji/google/dove_of_peace.png differ diff --git a/public/images/emoji/google/dragon.png b/public/images/emoji/google/dragon.png index 7c91df615..34538757f 100644 Binary files a/public/images/emoji/google/dragon.png and b/public/images/emoji/google/dragon.png differ diff --git a/public/images/emoji/google/dragon_face.png b/public/images/emoji/google/dragon_face.png index 2c27cf94a..df3d493b0 100644 Binary files a/public/images/emoji/google/dragon_face.png and b/public/images/emoji/google/dragon_face.png differ diff --git a/public/images/emoji/google/dress.png b/public/images/emoji/google/dress.png index 24db16027..7417f2a52 100644 Binary files a/public/images/emoji/google/dress.png and b/public/images/emoji/google/dress.png differ diff --git a/public/images/emoji/google/dromedary_camel.png b/public/images/emoji/google/dromedary_camel.png index 1b54b5630..22c3919b6 100644 Binary files a/public/images/emoji/google/dromedary_camel.png and b/public/images/emoji/google/dromedary_camel.png differ diff --git a/public/images/emoji/google/droplet.png b/public/images/emoji/google/droplet.png index 5b597b84b..c4802b957 100644 Binary files a/public/images/emoji/google/droplet.png and b/public/images/emoji/google/droplet.png differ diff --git a/public/images/emoji/google/dvd.png b/public/images/emoji/google/dvd.png index 2fbce4b08..26a93b845 100644 Binary files a/public/images/emoji/google/dvd.png and b/public/images/emoji/google/dvd.png differ diff --git a/public/images/emoji/google/e-mail.png b/public/images/emoji/google/e-mail.png index d1126e076..955d563ad 100644 Binary files a/public/images/emoji/google/e-mail.png and b/public/images/emoji/google/e-mail.png differ diff --git a/public/images/emoji/google/ear.png b/public/images/emoji/google/ear.png index cf084db03..3e3b72f7c 100644 Binary files a/public/images/emoji/google/ear.png and b/public/images/emoji/google/ear.png differ diff --git a/public/images/emoji/google/ear_of_rice.png b/public/images/emoji/google/ear_of_rice.png index da2b428e1..57f2375a4 100644 Binary files a/public/images/emoji/google/ear_of_rice.png and b/public/images/emoji/google/ear_of_rice.png differ diff --git a/public/images/emoji/google/earth_africa.png b/public/images/emoji/google/earth_africa.png index 6d3c7e5f3..0bc15d9d9 100644 Binary files a/public/images/emoji/google/earth_africa.png and b/public/images/emoji/google/earth_africa.png differ diff --git a/public/images/emoji/google/earth_americas.png b/public/images/emoji/google/earth_americas.png index de3ceedeb..438db709e 100644 Binary files a/public/images/emoji/google/earth_americas.png and b/public/images/emoji/google/earth_americas.png differ diff --git a/public/images/emoji/google/earth_asia.png b/public/images/emoji/google/earth_asia.png index 9d85f1c7f..906d0ebd4 100644 Binary files a/public/images/emoji/google/earth_asia.png and b/public/images/emoji/google/earth_asia.png differ diff --git a/public/images/emoji/google/egg.png b/public/images/emoji/google/egg.png index 485549454..0e0d3c300 100644 Binary files a/public/images/emoji/google/egg.png and b/public/images/emoji/google/egg.png differ diff --git a/public/images/emoji/google/eggplant.png b/public/images/emoji/google/eggplant.png index b6c3bf4b0..b874c4df3 100644 Binary files a/public/images/emoji/google/eggplant.png and b/public/images/emoji/google/eggplant.png differ diff --git a/public/images/emoji/google/eight.png b/public/images/emoji/google/eight.png index 9eb32d719..e69de29bb 100644 Binary files a/public/images/emoji/google/eight.png and b/public/images/emoji/google/eight.png differ diff --git a/public/images/emoji/google/eight_pointed_black_star.png b/public/images/emoji/google/eight_pointed_black_star.png index 7a225ae4b..bec12ec20 100644 Binary files a/public/images/emoji/google/eight_pointed_black_star.png and b/public/images/emoji/google/eight_pointed_black_star.png differ diff --git a/public/images/emoji/google/eight_spoked_asterisk.png b/public/images/emoji/google/eight_spoked_asterisk.png index 9a4b6eab3..85fdfd575 100644 Binary files a/public/images/emoji/google/eight_spoked_asterisk.png and b/public/images/emoji/google/eight_spoked_asterisk.png differ diff --git a/public/images/emoji/google/electric_plug.png b/public/images/emoji/google/electric_plug.png index 40ac792bc..4ded67190 100644 Binary files a/public/images/emoji/google/electric_plug.png and b/public/images/emoji/google/electric_plug.png differ diff --git a/public/images/emoji/google/elephant.png b/public/images/emoji/google/elephant.png index d125a44a7..e4dd62f7b 100644 Binary files a/public/images/emoji/google/elephant.png and b/public/images/emoji/google/elephant.png differ diff --git a/public/images/emoji/google/email.png b/public/images/emoji/google/email.png index 79f937989..955d563ad 100644 Binary files a/public/images/emoji/google/email.png and b/public/images/emoji/google/email.png differ diff --git a/public/images/emoji/google/end.png b/public/images/emoji/google/end.png index ec2ee2f68..3f510fab9 100644 Binary files a/public/images/emoji/google/end.png and b/public/images/emoji/google/end.png differ diff --git a/public/images/emoji/google/envelope.png b/public/images/emoji/google/envelope.png index 1dd98cc6a..da007e47b 100644 Binary files a/public/images/emoji/google/envelope.png and b/public/images/emoji/google/envelope.png differ diff --git a/public/images/emoji/google/envelope_with_arrow.png b/public/images/emoji/google/envelope_with_arrow.png index 7ea961a58..4edfec027 100644 Binary files a/public/images/emoji/google/envelope_with_arrow.png and b/public/images/emoji/google/envelope_with_arrow.png differ diff --git a/public/images/emoji/google/es.png b/public/images/emoji/google/es.png index bb27b5fca..72747290e 100644 Binary files a/public/images/emoji/google/es.png and b/public/images/emoji/google/es.png differ diff --git a/public/images/emoji/google/euro.png b/public/images/emoji/google/euro.png index f51f3bb2b..ba5430c97 100644 Binary files a/public/images/emoji/google/euro.png and b/public/images/emoji/google/euro.png differ diff --git a/public/images/emoji/google/european_castle.png b/public/images/emoji/google/european_castle.png index 3001aed5f..d3e76515d 100644 Binary files a/public/images/emoji/google/european_castle.png and b/public/images/emoji/google/european_castle.png differ diff --git a/public/images/emoji/google/european_post_office.png b/public/images/emoji/google/european_post_office.png index 707f240be..8572abd27 100644 Binary files a/public/images/emoji/google/european_post_office.png and b/public/images/emoji/google/european_post_office.png differ diff --git a/public/images/emoji/google/evergreen_tree.png b/public/images/emoji/google/evergreen_tree.png index ee1e89b1d..0487eca65 100644 Binary files a/public/images/emoji/google/evergreen_tree.png and b/public/images/emoji/google/evergreen_tree.png differ diff --git a/public/images/emoji/google/exclamation.png b/public/images/emoji/google/exclamation.png index df79bb3bb..2c8d249fd 100644 Binary files a/public/images/emoji/google/exclamation.png and b/public/images/emoji/google/exclamation.png differ diff --git a/public/images/emoji/google/expressionless.png b/public/images/emoji/google/expressionless.png index ffa0f8b01..b3e2fa154 100644 Binary files a/public/images/emoji/google/expressionless.png and b/public/images/emoji/google/expressionless.png differ diff --git a/public/images/emoji/google/eye.png b/public/images/emoji/google/eye.png index 61e901e6c..2cf73b566 100644 Binary files a/public/images/emoji/google/eye.png and b/public/images/emoji/google/eye.png differ diff --git a/public/images/emoji/google/eyeglasses.png b/public/images/emoji/google/eyeglasses.png index f4173f9de..a42b7f7a8 100644 Binary files a/public/images/emoji/google/eyeglasses.png and b/public/images/emoji/google/eyeglasses.png differ diff --git a/public/images/emoji/google/eyes.png b/public/images/emoji/google/eyes.png index 158af01c8..564625901 100644 Binary files a/public/images/emoji/google/eyes.png and b/public/images/emoji/google/eyes.png differ diff --git a/public/images/emoji/google/face_with_head_bandage.png b/public/images/emoji/google/face_with_head_bandage.png new file mode 100644 index 000000000..d892078bb Binary files /dev/null and b/public/images/emoji/google/face_with_head_bandage.png differ diff --git a/public/images/emoji/google/face_with_rolling_eyes.png b/public/images/emoji/google/face_with_rolling_eyes.png new file mode 100644 index 000000000..10153f06a Binary files /dev/null and b/public/images/emoji/google/face_with_rolling_eyes.png differ diff --git a/public/images/emoji/google/face_with_thermometer.png b/public/images/emoji/google/face_with_thermometer.png new file mode 100644 index 000000000..3a7ba22f8 Binary files /dev/null and b/public/images/emoji/google/face_with_thermometer.png differ diff --git a/public/images/emoji/google/facepunch.png b/public/images/emoji/google/facepunch.png deleted file mode 100644 index 45f6d8e99..000000000 Binary files a/public/images/emoji/google/facepunch.png and /dev/null differ diff --git a/public/images/emoji/google/factory.png b/public/images/emoji/google/factory.png index 6e261a0aa..dea1ecb59 100644 Binary files a/public/images/emoji/google/factory.png and b/public/images/emoji/google/factory.png differ diff --git a/public/images/emoji/google/fallen_leaf.png b/public/images/emoji/google/fallen_leaf.png index 03ac796f0..be64a4068 100644 Binary files a/public/images/emoji/google/fallen_leaf.png and b/public/images/emoji/google/fallen_leaf.png differ diff --git a/public/images/emoji/google/family.png b/public/images/emoji/google/family.png deleted file mode 100644 index 8dbcb3af0..000000000 Binary files a/public/images/emoji/google/family.png and /dev/null differ diff --git a/public/images/emoji/google/family_man_woman_boys.png b/public/images/emoji/google/family_man_woman_boys.png new file mode 100644 index 000000000..0157653ec Binary files /dev/null and b/public/images/emoji/google/family_man_woman_boys.png differ diff --git a/public/images/emoji/google/family_man_woman_girl.png b/public/images/emoji/google/family_man_woman_girl.png new file mode 100644 index 000000000..a61f473a9 Binary files /dev/null and b/public/images/emoji/google/family_man_woman_girl.png differ diff --git a/public/images/emoji/google/family_man_woman_girl_boy.png b/public/images/emoji/google/family_man_woman_girl_boy.png new file mode 100644 index 000000000..72f8f605a Binary files /dev/null and b/public/images/emoji/google/family_man_woman_girl_boy.png differ diff --git a/public/images/emoji/google/family_man_woman_girls.png b/public/images/emoji/google/family_man_woman_girls.png new file mode 100644 index 000000000..4fb883a07 Binary files /dev/null and b/public/images/emoji/google/family_man_woman_girls.png differ diff --git a/public/images/emoji/google/family_men_boy.png b/public/images/emoji/google/family_men_boy.png new file mode 100644 index 000000000..c51367732 Binary files /dev/null and b/public/images/emoji/google/family_men_boy.png differ diff --git a/public/images/emoji/google/family_men_boys.png b/public/images/emoji/google/family_men_boys.png new file mode 100644 index 000000000..caf6cf70d Binary files /dev/null and b/public/images/emoji/google/family_men_boys.png differ diff --git a/public/images/emoji/google/family_men_girl.png b/public/images/emoji/google/family_men_girl.png new file mode 100644 index 000000000..d52960b09 Binary files /dev/null and b/public/images/emoji/google/family_men_girl.png differ diff --git a/public/images/emoji/google/family_men_girl_boy.png b/public/images/emoji/google/family_men_girl_boy.png new file mode 100644 index 000000000..6325e4bc1 Binary files /dev/null and b/public/images/emoji/google/family_men_girl_boy.png differ diff --git a/public/images/emoji/google/family_men_girls.png b/public/images/emoji/google/family_men_girls.png new file mode 100644 index 000000000..bfe7c4971 Binary files /dev/null and b/public/images/emoji/google/family_men_girls.png differ diff --git a/public/images/emoji/google/family_women_boy.png b/public/images/emoji/google/family_women_boy.png new file mode 100644 index 000000000..e23e4f890 Binary files /dev/null and b/public/images/emoji/google/family_women_boy.png differ diff --git a/public/images/emoji/google/family_women_boys.png b/public/images/emoji/google/family_women_boys.png new file mode 100644 index 000000000..8954240ad Binary files /dev/null and b/public/images/emoji/google/family_women_boys.png differ diff --git a/public/images/emoji/google/family_women_girl.png b/public/images/emoji/google/family_women_girl.png new file mode 100644 index 000000000..120e1a1f7 Binary files /dev/null and b/public/images/emoji/google/family_women_girl.png differ diff --git a/public/images/emoji/google/family_women_girl_boy.png b/public/images/emoji/google/family_women_girl_boy.png new file mode 100644 index 000000000..bc585a356 Binary files /dev/null and b/public/images/emoji/google/family_women_girl_boy.png differ diff --git a/public/images/emoji/google/family_women_girls.png b/public/images/emoji/google/family_women_girls.png new file mode 100644 index 000000000..4c40bb8c6 Binary files /dev/null and b/public/images/emoji/google/family_women_girls.png differ diff --git a/public/images/emoji/google/fast_forward.png b/public/images/emoji/google/fast_forward.png index a82c83957..3e7a98a8b 100644 Binary files a/public/images/emoji/google/fast_forward.png and b/public/images/emoji/google/fast_forward.png differ diff --git a/public/images/emoji/google/fax.png b/public/images/emoji/google/fax.png index dee4ae696..ece233348 100644 Binary files a/public/images/emoji/google/fax.png and b/public/images/emoji/google/fax.png differ diff --git a/public/images/emoji/google/fearful.png b/public/images/emoji/google/fearful.png index 942763960..47ad29bc3 100644 Binary files a/public/images/emoji/google/fearful.png and b/public/images/emoji/google/fearful.png differ diff --git a/public/images/emoji/google/feet.png b/public/images/emoji/google/feet.png index 5d61e5a91..1fdef7609 100644 Binary files a/public/images/emoji/google/feet.png and b/public/images/emoji/google/feet.png differ diff --git a/public/images/emoji/google/female_couple_with_heart.png b/public/images/emoji/google/female_couple_with_heart.png new file mode 100644 index 000000000..d8fb5100d Binary files /dev/null and b/public/images/emoji/google/female_couple_with_heart.png differ diff --git a/public/images/emoji/google/female_couplekiss.png b/public/images/emoji/google/female_couplekiss.png new file mode 100644 index 000000000..c5b25dd64 Binary files /dev/null and b/public/images/emoji/google/female_couplekiss.png differ diff --git a/public/images/emoji/google/ferris_wheel.png b/public/images/emoji/google/ferris_wheel.png index a9ea6443d..642c816e9 100644 Binary files a/public/images/emoji/google/ferris_wheel.png and b/public/images/emoji/google/ferris_wheel.png differ diff --git a/public/images/emoji/google/ferry.png b/public/images/emoji/google/ferry.png index 06b935371..0c420440c 100644 Binary files a/public/images/emoji/google/ferry.png and b/public/images/emoji/google/ferry.png differ diff --git a/public/images/emoji/google/field_hockey.png b/public/images/emoji/google/field_hockey.png index 7213afedc..117e8174b 100644 Binary files a/public/images/emoji/google/field_hockey.png and b/public/images/emoji/google/field_hockey.png differ diff --git a/public/images/emoji/google/file_cabinet.png b/public/images/emoji/google/file_cabinet.png index c19764867..613fc5b84 100644 Binary files a/public/images/emoji/google/file_cabinet.png and b/public/images/emoji/google/file_cabinet.png differ diff --git a/public/images/emoji/google/file_folder.png b/public/images/emoji/google/file_folder.png index 25911ee75..5fac9ae16 100644 Binary files a/public/images/emoji/google/file_folder.png and b/public/images/emoji/google/file_folder.png differ diff --git a/public/images/emoji/google/film_frames.png b/public/images/emoji/google/film_frames.png index d3a79feff..38d1a529a 100644 Binary files a/public/images/emoji/google/film_frames.png and b/public/images/emoji/google/film_frames.png differ diff --git a/public/images/emoji/google/film_projector.png b/public/images/emoji/google/film_projector.png new file mode 100644 index 000000000..b626d6088 Binary files /dev/null and b/public/images/emoji/google/film_projector.png differ diff --git a/public/images/emoji/google/fire.png b/public/images/emoji/google/fire.png index 86f9a41be..c593b37d0 100644 Binary files a/public/images/emoji/google/fire.png and b/public/images/emoji/google/fire.png differ diff --git a/public/images/emoji/google/fire_engine.png b/public/images/emoji/google/fire_engine.png index 21fd9aa2d..4cf96e819 100644 Binary files a/public/images/emoji/google/fire_engine.png and b/public/images/emoji/google/fire_engine.png differ diff --git a/public/images/emoji/google/fireworks.png b/public/images/emoji/google/fireworks.png index 32ec3428b..85fc93af7 100644 Binary files a/public/images/emoji/google/fireworks.png and b/public/images/emoji/google/fireworks.png differ diff --git a/public/images/emoji/google/first_quarter_moon.png b/public/images/emoji/google/first_quarter_moon.png index 4b898f4a8..468d7c192 100644 Binary files a/public/images/emoji/google/first_quarter_moon.png and b/public/images/emoji/google/first_quarter_moon.png differ diff --git a/public/images/emoji/google/first_quarter_moon_with_face.png b/public/images/emoji/google/first_quarter_moon_with_face.png index 47ade0f61..54da77edb 100644 Binary files a/public/images/emoji/google/first_quarter_moon_with_face.png and b/public/images/emoji/google/first_quarter_moon_with_face.png differ diff --git a/public/images/emoji/google/fish.png b/public/images/emoji/google/fish.png index 51d6c794c..ae44b8ba2 100644 Binary files a/public/images/emoji/google/fish.png and b/public/images/emoji/google/fish.png differ diff --git a/public/images/emoji/google/fish_cake.png b/public/images/emoji/google/fish_cake.png index 0b8438183..271f4894c 100644 Binary files a/public/images/emoji/google/fish_cake.png and b/public/images/emoji/google/fish_cake.png differ diff --git a/public/images/emoji/google/fishing_pole_and_fish.png b/public/images/emoji/google/fishing_pole_and_fish.png index 986c4dffc..3a6f85cb2 100644 Binary files a/public/images/emoji/google/fishing_pole_and_fish.png and b/public/images/emoji/google/fishing_pole_and_fish.png differ diff --git a/public/images/emoji/google/fist.png b/public/images/emoji/google/fist.png index 2d310d45e..57d88a62c 100644 Binary files a/public/images/emoji/google/fist.png and b/public/images/emoji/google/fist.png differ diff --git a/public/images/emoji/google/five.png b/public/images/emoji/google/five.png index 8e317fbdf..e69de29bb 100644 Binary files a/public/images/emoji/google/five.png and b/public/images/emoji/google/five.png differ diff --git a/public/images/emoji/google/flag_black.png b/public/images/emoji/google/flag_black.png index 01ecfa275..de072bca6 100644 Binary files a/public/images/emoji/google/flag_black.png and b/public/images/emoji/google/flag_black.png differ diff --git a/public/images/emoji/google/flag_cn.png b/public/images/emoji/google/flag_cn.png index 2d9c3dad8..38d240d56 100644 Binary files a/public/images/emoji/google/flag_cn.png and b/public/images/emoji/google/flag_cn.png differ diff --git a/public/images/emoji/google/flag_de.png b/public/images/emoji/google/flag_de.png index 0baf83652..d9a749790 100644 Binary files a/public/images/emoji/google/flag_de.png and b/public/images/emoji/google/flag_de.png differ diff --git a/public/images/emoji/google/flag_es.png b/public/images/emoji/google/flag_es.png index e04765d6b..72747290e 100644 Binary files a/public/images/emoji/google/flag_es.png and b/public/images/emoji/google/flag_es.png differ diff --git a/public/images/emoji/google/flag_fr.png b/public/images/emoji/google/flag_fr.png index 674b50805..6c144e0c7 100644 Binary files a/public/images/emoji/google/flag_fr.png and b/public/images/emoji/google/flag_fr.png differ diff --git a/public/images/emoji/google/flag_gb.png b/public/images/emoji/google/flag_gb.png index c5c919ada..ef65da3b9 100644 Binary files a/public/images/emoji/google/flag_gb.png and b/public/images/emoji/google/flag_gb.png differ diff --git a/public/images/emoji/google/flag_it.png b/public/images/emoji/google/flag_it.png index 7d98f9801..cfbd4125e 100644 Binary files a/public/images/emoji/google/flag_it.png and b/public/images/emoji/google/flag_it.png differ diff --git a/public/images/emoji/google/flag_jp.png b/public/images/emoji/google/flag_jp.png index a04b719f8..99129fe55 100644 Binary files a/public/images/emoji/google/flag_jp.png and b/public/images/emoji/google/flag_jp.png differ diff --git a/public/images/emoji/google/flag_kr.png b/public/images/emoji/google/flag_kr.png index 12b9ab125..efb95e4ba 100644 Binary files a/public/images/emoji/google/flag_kr.png and b/public/images/emoji/google/flag_kr.png differ diff --git a/public/images/emoji/google/flag_ru.png b/public/images/emoji/google/flag_ru.png index 5121b0cac..f85a73fd4 100644 Binary files a/public/images/emoji/google/flag_ru.png and b/public/images/emoji/google/flag_ru.png differ diff --git a/public/images/emoji/google/flag_us.png b/public/images/emoji/google/flag_us.png index 9ad26a668..253e481c1 100644 Binary files a/public/images/emoji/google/flag_us.png and b/public/images/emoji/google/flag_us.png differ diff --git a/public/images/emoji/google/flag_white.png b/public/images/emoji/google/flag_white.png index 4afc58a15..ce4e23c8c 100644 Binary files a/public/images/emoji/google/flag_white.png and b/public/images/emoji/google/flag_white.png differ diff --git a/public/images/emoji/google/flags.png b/public/images/emoji/google/flags.png index 5da081289..c1c384d49 100644 Binary files a/public/images/emoji/google/flags.png and b/public/images/emoji/google/flags.png differ diff --git a/public/images/emoji/google/flame.png b/public/images/emoji/google/flame.png new file mode 100644 index 000000000..c593b37d0 Binary files /dev/null and b/public/images/emoji/google/flame.png differ diff --git a/public/images/emoji/google/flashlight.png b/public/images/emoji/google/flashlight.png index b2bb6d034..04a48b04d 100644 Binary files a/public/images/emoji/google/flashlight.png and b/public/images/emoji/google/flashlight.png differ diff --git a/public/images/emoji/google/fleur-de-lis.png b/public/images/emoji/google/fleur-de-lis.png index 726a9dbfc..cb6333c5d 100644 Binary files a/public/images/emoji/google/fleur-de-lis.png and b/public/images/emoji/google/fleur-de-lis.png differ diff --git a/public/images/emoji/google/flipper.png b/public/images/emoji/google/flipper.png deleted file mode 100644 index ce56603cf..000000000 Binary files a/public/images/emoji/google/flipper.png and /dev/null differ diff --git a/public/images/emoji/google/floppy_disk.png b/public/images/emoji/google/floppy_disk.png index ec5b90961..b82782875 100644 Binary files a/public/images/emoji/google/floppy_disk.png and b/public/images/emoji/google/floppy_disk.png differ diff --git a/public/images/emoji/google/flower_playing_cards.png b/public/images/emoji/google/flower_playing_cards.png index 803eb64d5..a875efa76 100644 Binary files a/public/images/emoji/google/flower_playing_cards.png and b/public/images/emoji/google/flower_playing_cards.png differ diff --git a/public/images/emoji/google/flushed.png b/public/images/emoji/google/flushed.png index 2d71b31dd..a5d1a69b8 100644 Binary files a/public/images/emoji/google/flushed.png and b/public/images/emoji/google/flushed.png differ diff --git a/public/images/emoji/google/fog.png b/public/images/emoji/google/fog.png index 99c75ed75..dada10061 100644 Binary files a/public/images/emoji/google/fog.png and b/public/images/emoji/google/fog.png differ diff --git a/public/images/emoji/google/foggy.png b/public/images/emoji/google/foggy.png index 6ba401449..61e526bf8 100644 Binary files a/public/images/emoji/google/foggy.png and b/public/images/emoji/google/foggy.png differ diff --git a/public/images/emoji/google/football.png b/public/images/emoji/google/football.png index dc6a62656..d7bbeb349 100644 Binary files a/public/images/emoji/google/football.png and b/public/images/emoji/google/football.png differ diff --git a/public/images/emoji/google/footprints.png b/public/images/emoji/google/footprints.png index f64a2c195..aec34d338 100644 Binary files a/public/images/emoji/google/footprints.png and b/public/images/emoji/google/footprints.png differ diff --git a/public/images/emoji/google/fork_and_knife.png b/public/images/emoji/google/fork_and_knife.png index d155de605..687069308 100644 Binary files a/public/images/emoji/google/fork_and_knife.png and b/public/images/emoji/google/fork_and_knife.png differ diff --git a/public/images/emoji/google/fork_and_knife_with_plate.png b/public/images/emoji/google/fork_and_knife_with_plate.png new file mode 100644 index 000000000..07989f148 Binary files /dev/null and b/public/images/emoji/google/fork_and_knife_with_plate.png differ diff --git a/public/images/emoji/google/fork_knife_plate.png b/public/images/emoji/google/fork_knife_plate.png index 752247318..07989f148 100644 Binary files a/public/images/emoji/google/fork_knife_plate.png and b/public/images/emoji/google/fork_knife_plate.png differ diff --git a/public/images/emoji/google/fountain.png b/public/images/emoji/google/fountain.png index cbfed287a..dce123c02 100644 Binary files a/public/images/emoji/google/fountain.png and b/public/images/emoji/google/fountain.png differ diff --git a/public/images/emoji/google/four.png b/public/images/emoji/google/four.png index ee489fc2d..e69de29bb 100644 Binary files a/public/images/emoji/google/four.png and b/public/images/emoji/google/four.png differ diff --git a/public/images/emoji/google/four_leaf_clover.png b/public/images/emoji/google/four_leaf_clover.png index ef78f0f30..a9b4209ba 100644 Binary files a/public/images/emoji/google/four_leaf_clover.png and b/public/images/emoji/google/four_leaf_clover.png differ diff --git a/public/images/emoji/google/fr.png b/public/images/emoji/google/fr.png index ccdfe4448..6c144e0c7 100644 Binary files a/public/images/emoji/google/fr.png and b/public/images/emoji/google/fr.png differ diff --git a/public/images/emoji/google/frame_photo.png b/public/images/emoji/google/frame_photo.png index 247243590..5b57c11bc 100644 Binary files a/public/images/emoji/google/frame_photo.png and b/public/images/emoji/google/frame_photo.png differ diff --git a/public/images/emoji/google/frame_with_picture.png b/public/images/emoji/google/frame_with_picture.png new file mode 100644 index 000000000..5b57c11bc Binary files /dev/null and b/public/images/emoji/google/frame_with_picture.png differ diff --git a/public/images/emoji/google/free.png b/public/images/emoji/google/free.png index a18e75c65..fd7ed85f9 100644 Binary files a/public/images/emoji/google/free.png and b/public/images/emoji/google/free.png differ diff --git a/public/images/emoji/google/fried_shrimp.png b/public/images/emoji/google/fried_shrimp.png index ea4a2424b..bdb350d52 100644 Binary files a/public/images/emoji/google/fried_shrimp.png and b/public/images/emoji/google/fried_shrimp.png differ diff --git a/public/images/emoji/google/fries.png b/public/images/emoji/google/fries.png index e91910d65..68359ecb1 100644 Binary files a/public/images/emoji/google/fries.png and b/public/images/emoji/google/fries.png differ diff --git a/public/images/emoji/google/frog.png b/public/images/emoji/google/frog.png index fdf48f452..017e47cfb 100644 Binary files a/public/images/emoji/google/frog.png and b/public/images/emoji/google/frog.png differ diff --git a/public/images/emoji/google/frowning.png b/public/images/emoji/google/frowning.png index 063a52872..353c945e6 100644 Binary files a/public/images/emoji/google/frowning.png and b/public/images/emoji/google/frowning.png differ diff --git a/public/images/emoji/google/frowning2.png b/public/images/emoji/google/frowning2.png index 60077a561..db9c6af5b 100644 Binary files a/public/images/emoji/google/frowning2.png and b/public/images/emoji/google/frowning2.png differ diff --git a/public/images/emoji/google/fuelpump.png b/public/images/emoji/google/fuelpump.png index 86bcb3e97..e706e7405 100644 Binary files a/public/images/emoji/google/fuelpump.png and b/public/images/emoji/google/fuelpump.png differ diff --git a/public/images/emoji/google/full_moon.png b/public/images/emoji/google/full_moon.png index 72778cce2..a010820c1 100644 Binary files a/public/images/emoji/google/full_moon.png and b/public/images/emoji/google/full_moon.png differ diff --git a/public/images/emoji/google/full_moon_with_face.png b/public/images/emoji/google/full_moon_with_face.png index 0a723ef0c..cf8f51c59 100644 Binary files a/public/images/emoji/google/full_moon_with_face.png and b/public/images/emoji/google/full_moon_with_face.png differ diff --git a/public/images/emoji/google/funeral_urn.png b/public/images/emoji/google/funeral_urn.png new file mode 100644 index 000000000..eff08b3c1 Binary files /dev/null and b/public/images/emoji/google/funeral_urn.png differ diff --git a/public/images/emoji/google/game_die.png b/public/images/emoji/google/game_die.png index 5fb4140ae..744ce2cc5 100644 Binary files a/public/images/emoji/google/game_die.png and b/public/images/emoji/google/game_die.png differ diff --git a/public/images/emoji/google/gb.png b/public/images/emoji/google/gb.png index 2d95d264e..ef65da3b9 100644 Binary files a/public/images/emoji/google/gb.png and b/public/images/emoji/google/gb.png differ diff --git a/public/images/emoji/google/gear.png b/public/images/emoji/google/gear.png index 79dd801a1..5ce6ac16e 100644 Binary files a/public/images/emoji/google/gear.png and b/public/images/emoji/google/gear.png differ diff --git a/public/images/emoji/google/gem.png b/public/images/emoji/google/gem.png index 08a50ae8e..a57b9123e 100644 Binary files a/public/images/emoji/google/gem.png and b/public/images/emoji/google/gem.png differ diff --git a/public/images/emoji/google/gemini.png b/public/images/emoji/google/gemini.png index 08c0d1b73..3d848fe12 100644 Binary files a/public/images/emoji/google/gemini.png and b/public/images/emoji/google/gemini.png differ diff --git a/public/images/emoji/google/ghost.png b/public/images/emoji/google/ghost.png index ec8795bdd..0008f99cb 100644 Binary files a/public/images/emoji/google/ghost.png and b/public/images/emoji/google/ghost.png differ diff --git a/public/images/emoji/google/gift.png b/public/images/emoji/google/gift.png index bd21768b0..c9c6762ea 100644 Binary files a/public/images/emoji/google/gift.png and b/public/images/emoji/google/gift.png differ diff --git a/public/images/emoji/google/gift_heart.png b/public/images/emoji/google/gift_heart.png index c95882d87..4df8b5064 100644 Binary files a/public/images/emoji/google/gift_heart.png and b/public/images/emoji/google/gift_heart.png differ diff --git a/public/images/emoji/google/girl.png b/public/images/emoji/google/girl.png index 657c5d3e6..daad02a92 100644 Binary files a/public/images/emoji/google/girl.png and b/public/images/emoji/google/girl.png differ diff --git a/public/images/emoji/google/globe_with_meridians.png b/public/images/emoji/google/globe_with_meridians.png index e62c3b541..9150bf454 100644 Binary files a/public/images/emoji/google/globe_with_meridians.png and b/public/images/emoji/google/globe_with_meridians.png differ diff --git a/public/images/emoji/google/goat.png b/public/images/emoji/google/goat.png index 0802de0db..524dba56c 100644 Binary files a/public/images/emoji/google/goat.png and b/public/images/emoji/google/goat.png differ diff --git a/public/images/emoji/google/golf.png b/public/images/emoji/google/golf.png index 73c0d85af..b90c033a3 100644 Binary files a/public/images/emoji/google/golf.png and b/public/images/emoji/google/golf.png differ diff --git a/public/images/emoji/google/golfer.png b/public/images/emoji/google/golfer.png index 2aff3e9dc..47f54f7c7 100644 Binary files a/public/images/emoji/google/golfer.png and b/public/images/emoji/google/golfer.png differ diff --git a/public/images/emoji/google/grandma.png b/public/images/emoji/google/grandma.png new file mode 100644 index 000000000..1261df7c0 Binary files /dev/null and b/public/images/emoji/google/grandma.png differ diff --git a/public/images/emoji/google/grapes.png b/public/images/emoji/google/grapes.png index e59791a89..979432e79 100644 Binary files a/public/images/emoji/google/grapes.png and b/public/images/emoji/google/grapes.png differ diff --git a/public/images/emoji/google/green_apple.png b/public/images/emoji/google/green_apple.png index 72fd07535..11177352a 100644 Binary files a/public/images/emoji/google/green_apple.png and b/public/images/emoji/google/green_apple.png differ diff --git a/public/images/emoji/google/green_book.png b/public/images/emoji/google/green_book.png index 9f4fbe489..3193363bb 100644 Binary files a/public/images/emoji/google/green_book.png and b/public/images/emoji/google/green_book.png differ diff --git a/public/images/emoji/google/green_heart.png b/public/images/emoji/google/green_heart.png index 2f4796895..c69336dcf 100644 Binary files a/public/images/emoji/google/green_heart.png and b/public/images/emoji/google/green_heart.png differ diff --git a/public/images/emoji/google/grey_exclamation.png b/public/images/emoji/google/grey_exclamation.png index ec8a804ac..fc2539653 100644 Binary files a/public/images/emoji/google/grey_exclamation.png and b/public/images/emoji/google/grey_exclamation.png differ diff --git a/public/images/emoji/google/grey_question.png b/public/images/emoji/google/grey_question.png index 77639461f..b0a37e84b 100644 Binary files a/public/images/emoji/google/grey_question.png and b/public/images/emoji/google/grey_question.png differ diff --git a/public/images/emoji/google/grimacing.png b/public/images/emoji/google/grimacing.png index 42739cb5f..edb29c644 100644 Binary files a/public/images/emoji/google/grimacing.png and b/public/images/emoji/google/grimacing.png differ diff --git a/public/images/emoji/google/grin.png b/public/images/emoji/google/grin.png index dc9e2f2e8..6405328b4 100644 Binary files a/public/images/emoji/google/grin.png and b/public/images/emoji/google/grin.png differ diff --git a/public/images/emoji/google/grinning.png b/public/images/emoji/google/grinning.png index e54bb4a97..224cbcf38 100644 Binary files a/public/images/emoji/google/grinning.png and b/public/images/emoji/google/grinning.png differ diff --git a/public/images/emoji/google/guardsman.png b/public/images/emoji/google/guardsman.png index a70b2e9d3..1e3569ce9 100644 Binary files a/public/images/emoji/google/guardsman.png and b/public/images/emoji/google/guardsman.png differ diff --git a/public/images/emoji/google/guitar.png b/public/images/emoji/google/guitar.png index 967fe0139..e16552866 100644 Binary files a/public/images/emoji/google/guitar.png and b/public/images/emoji/google/guitar.png differ diff --git a/public/images/emoji/google/gun.png b/public/images/emoji/google/gun.png index 07ec0583e..7f91f26f0 100644 Binary files a/public/images/emoji/google/gun.png and b/public/images/emoji/google/gun.png differ diff --git a/public/images/emoji/google/haircut.png b/public/images/emoji/google/haircut.png index 0dc029f37..da92b36a5 100644 Binary files a/public/images/emoji/google/haircut.png and b/public/images/emoji/google/haircut.png differ diff --git a/public/images/emoji/google/hamburger.png b/public/images/emoji/google/hamburger.png index 06f26d555..937576c4d 100644 Binary files a/public/images/emoji/google/hamburger.png and b/public/images/emoji/google/hamburger.png differ diff --git a/public/images/emoji/google/hammer.png b/public/images/emoji/google/hammer.png index ecd23351a..c192eebd5 100644 Binary files a/public/images/emoji/google/hammer.png and b/public/images/emoji/google/hammer.png differ diff --git a/public/images/emoji/google/hammer_and_pick.png b/public/images/emoji/google/hammer_and_pick.png new file mode 100644 index 000000000..bbbd5b299 Binary files /dev/null and b/public/images/emoji/google/hammer_and_pick.png differ diff --git a/public/images/emoji/google/hammer_and_wrench.png b/public/images/emoji/google/hammer_and_wrench.png new file mode 100644 index 000000000..1be385628 Binary files /dev/null and b/public/images/emoji/google/hammer_and_wrench.png differ diff --git a/public/images/emoji/google/hammer_pick.png b/public/images/emoji/google/hammer_pick.png index 58690f462..bbbd5b299 100644 Binary files a/public/images/emoji/google/hammer_pick.png and b/public/images/emoji/google/hammer_pick.png differ diff --git a/public/images/emoji/google/hamster.png b/public/images/emoji/google/hamster.png index ac0d08a39..31d4ef6ea 100644 Binary files a/public/images/emoji/google/hamster.png and b/public/images/emoji/google/hamster.png differ diff --git a/public/images/emoji/google/hand.png b/public/images/emoji/google/hand.png deleted file mode 100644 index ed4c684b3..000000000 Binary files a/public/images/emoji/google/hand.png and /dev/null differ diff --git a/public/images/emoji/google/hand_splayed.png b/public/images/emoji/google/hand_splayed.png index 140e5edf6..52ded94d5 100644 Binary files a/public/images/emoji/google/hand_splayed.png and b/public/images/emoji/google/hand_splayed.png differ diff --git a/public/images/emoji/google/handbag.png b/public/images/emoji/google/handbag.png index a4c147c5d..ff93dff40 100644 Binary files a/public/images/emoji/google/handbag.png and b/public/images/emoji/google/handbag.png differ diff --git a/public/images/emoji/google/hankey.png b/public/images/emoji/google/hankey.png index 3912c82cc..87d786696 100644 Binary files a/public/images/emoji/google/hankey.png and b/public/images/emoji/google/hankey.png differ diff --git a/public/images/emoji/google/hash.png b/public/images/emoji/google/hash.png index a73cf231c..e69de29bb 100644 Binary files a/public/images/emoji/google/hash.png and b/public/images/emoji/google/hash.png differ diff --git a/public/images/emoji/google/hatched_chick.png b/public/images/emoji/google/hatched_chick.png index 1ae0ade06..f416dc137 100644 Binary files a/public/images/emoji/google/hatched_chick.png and b/public/images/emoji/google/hatched_chick.png differ diff --git a/public/images/emoji/google/hatching_chick.png b/public/images/emoji/google/hatching_chick.png index 2b7e628fd..5b53b566f 100644 Binary files a/public/images/emoji/google/hatching_chick.png and b/public/images/emoji/google/hatching_chick.png differ diff --git a/public/images/emoji/google/head_bandage.png b/public/images/emoji/google/head_bandage.png index bb6358bd8..d892078bb 100644 Binary files a/public/images/emoji/google/head_bandage.png and b/public/images/emoji/google/head_bandage.png differ diff --git a/public/images/emoji/google/headphones.png b/public/images/emoji/google/headphones.png index 1a9a10122..8641079a6 100644 Binary files a/public/images/emoji/google/headphones.png and b/public/images/emoji/google/headphones.png differ diff --git a/public/images/emoji/google/hear_no_evil.png b/public/images/emoji/google/hear_no_evil.png index 8d96c71f2..2d68bb677 100644 Binary files a/public/images/emoji/google/hear_no_evil.png and b/public/images/emoji/google/hear_no_evil.png differ diff --git a/public/images/emoji/google/heart.png b/public/images/emoji/google/heart.png index 3550fd247..2324dbaab 100644 Binary files a/public/images/emoji/google/heart.png and b/public/images/emoji/google/heart.png differ diff --git a/public/images/emoji/google/heart_decoration.png b/public/images/emoji/google/heart_decoration.png index 65462f838..2b8efa17f 100644 Binary files a/public/images/emoji/google/heart_decoration.png and b/public/images/emoji/google/heart_decoration.png differ diff --git a/public/images/emoji/google/heart_exclamation.png b/public/images/emoji/google/heart_exclamation.png index 4bcc04326..401dfd498 100644 Binary files a/public/images/emoji/google/heart_exclamation.png and b/public/images/emoji/google/heart_exclamation.png differ diff --git a/public/images/emoji/google/heart_eyes.png b/public/images/emoji/google/heart_eyes.png index 51aa37289..fee2c7f7a 100644 Binary files a/public/images/emoji/google/heart_eyes.png and b/public/images/emoji/google/heart_eyes.png differ diff --git a/public/images/emoji/google/heart_eyes_cat.png b/public/images/emoji/google/heart_eyes_cat.png index 4ab4cea80..2912c9aa5 100644 Binary files a/public/images/emoji/google/heart_eyes_cat.png and b/public/images/emoji/google/heart_eyes_cat.png differ diff --git a/public/images/emoji/google/heartbeat.png b/public/images/emoji/google/heartbeat.png index bd7a37fa8..8f50f8a8d 100644 Binary files a/public/images/emoji/google/heartbeat.png and b/public/images/emoji/google/heartbeat.png differ diff --git a/public/images/emoji/google/heartpulse.png b/public/images/emoji/google/heartpulse.png index 936e3a4ea..33bd13436 100644 Binary files a/public/images/emoji/google/heartpulse.png and b/public/images/emoji/google/heartpulse.png differ diff --git a/public/images/emoji/google/hearts.png b/public/images/emoji/google/hearts.png index 74b13fd89..3f0472ff6 100644 Binary files a/public/images/emoji/google/hearts.png and b/public/images/emoji/google/hearts.png differ diff --git a/public/images/emoji/google/heavy_check_mark.png b/public/images/emoji/google/heavy_check_mark.png index 6c4e0997a..7243e553c 100644 Binary files a/public/images/emoji/google/heavy_check_mark.png and b/public/images/emoji/google/heavy_check_mark.png differ diff --git a/public/images/emoji/google/heavy_division_sign.png b/public/images/emoji/google/heavy_division_sign.png index 68bcaf32b..311230dfd 100644 Binary files a/public/images/emoji/google/heavy_division_sign.png and b/public/images/emoji/google/heavy_division_sign.png differ diff --git a/public/images/emoji/google/heavy_dollar_sign.png b/public/images/emoji/google/heavy_dollar_sign.png index 7b112aaf0..67b6826b9 100644 Binary files a/public/images/emoji/google/heavy_dollar_sign.png and b/public/images/emoji/google/heavy_dollar_sign.png differ diff --git a/public/images/emoji/google/heavy_exclamation_mark.png b/public/images/emoji/google/heavy_exclamation_mark.png deleted file mode 100644 index e90e7435a..000000000 Binary files a/public/images/emoji/google/heavy_exclamation_mark.png and /dev/null differ diff --git a/public/images/emoji/google/heavy_heart_exclamation_mark_ornament.png b/public/images/emoji/google/heavy_heart_exclamation_mark_ornament.png new file mode 100644 index 000000000..401dfd498 Binary files /dev/null and b/public/images/emoji/google/heavy_heart_exclamation_mark_ornament.png differ diff --git a/public/images/emoji/google/heavy_minus_sign.png b/public/images/emoji/google/heavy_minus_sign.png index 1b2f6483a..b6cd1991d 100644 Binary files a/public/images/emoji/google/heavy_minus_sign.png and b/public/images/emoji/google/heavy_minus_sign.png differ diff --git a/public/images/emoji/google/heavy_multiplication_x.png b/public/images/emoji/google/heavy_multiplication_x.png index a80ebeecd..557185c7f 100644 Binary files a/public/images/emoji/google/heavy_multiplication_x.png and b/public/images/emoji/google/heavy_multiplication_x.png differ diff --git a/public/images/emoji/google/heavy_plus_sign.png b/public/images/emoji/google/heavy_plus_sign.png index 69ad22b6b..8d10c30ca 100644 Binary files a/public/images/emoji/google/heavy_plus_sign.png and b/public/images/emoji/google/heavy_plus_sign.png differ diff --git a/public/images/emoji/google/helicopter.png b/public/images/emoji/google/helicopter.png index 3019369a3..eb88f52eb 100644 Binary files a/public/images/emoji/google/helicopter.png and b/public/images/emoji/google/helicopter.png differ diff --git a/public/images/emoji/google/helmet_with_cross.png b/public/images/emoji/google/helmet_with_cross.png index 7b60b84c7..721340bfb 100644 Binary files a/public/images/emoji/google/helmet_with_cross.png and b/public/images/emoji/google/helmet_with_cross.png differ diff --git a/public/images/emoji/google/helmet_with_white_cross.png b/public/images/emoji/google/helmet_with_white_cross.png new file mode 100644 index 000000000..721340bfb Binary files /dev/null and b/public/images/emoji/google/helmet_with_white_cross.png differ diff --git a/public/images/emoji/google/herb.png b/public/images/emoji/google/herb.png index 2583dd74d..ebad8c7ec 100644 Binary files a/public/images/emoji/google/herb.png and b/public/images/emoji/google/herb.png differ diff --git a/public/images/emoji/google/hibiscus.png b/public/images/emoji/google/hibiscus.png index d9190803a..ab12e0640 100644 Binary files a/public/images/emoji/google/hibiscus.png and b/public/images/emoji/google/hibiscus.png differ diff --git a/public/images/emoji/google/high_brightness.png b/public/images/emoji/google/high_brightness.png index f277c5543..b338f5842 100644 Binary files a/public/images/emoji/google/high_brightness.png and b/public/images/emoji/google/high_brightness.png differ diff --git a/public/images/emoji/google/high_heel.png b/public/images/emoji/google/high_heel.png index 7115e66fd..ee79f03d2 100644 Binary files a/public/images/emoji/google/high_heel.png and b/public/images/emoji/google/high_heel.png differ diff --git a/public/images/emoji/google/hocho.png b/public/images/emoji/google/hocho.png deleted file mode 100644 index 90849d0c2..000000000 Binary files a/public/images/emoji/google/hocho.png and /dev/null differ diff --git a/public/images/emoji/google/hockey.png b/public/images/emoji/google/hockey.png index a224a9d86..ab84461bf 100644 Binary files a/public/images/emoji/google/hockey.png and b/public/images/emoji/google/hockey.png differ diff --git a/public/images/emoji/google/hole.png b/public/images/emoji/google/hole.png index a74093e97..d2f6a9a22 100644 Binary files a/public/images/emoji/google/hole.png and b/public/images/emoji/google/hole.png differ diff --git a/public/images/emoji/google/homes.png b/public/images/emoji/google/homes.png index 330612a23..e1a055998 100644 Binary files a/public/images/emoji/google/homes.png and b/public/images/emoji/google/homes.png differ diff --git a/public/images/emoji/google/honey_pot.png b/public/images/emoji/google/honey_pot.png index fda115044..d3255542b 100644 Binary files a/public/images/emoji/google/honey_pot.png and b/public/images/emoji/google/honey_pot.png differ diff --git a/public/images/emoji/google/honeybee.png b/public/images/emoji/google/honeybee.png deleted file mode 100644 index 2a231acea..000000000 Binary files a/public/images/emoji/google/honeybee.png and /dev/null differ diff --git a/public/images/emoji/google/horse.png b/public/images/emoji/google/horse.png index b0b22de64..bfa6fe215 100644 Binary files a/public/images/emoji/google/horse.png and b/public/images/emoji/google/horse.png differ diff --git a/public/images/emoji/google/horse_racing.png b/public/images/emoji/google/horse_racing.png index 78ec2d3bd..b21643894 100644 Binary files a/public/images/emoji/google/horse_racing.png and b/public/images/emoji/google/horse_racing.png differ diff --git a/public/images/emoji/google/hospital.png b/public/images/emoji/google/hospital.png index 2f8979731..683ae2af0 100644 Binary files a/public/images/emoji/google/hospital.png and b/public/images/emoji/google/hospital.png differ diff --git a/public/images/emoji/google/hot_dog.png b/public/images/emoji/google/hot_dog.png new file mode 100644 index 000000000..0e58953ff Binary files /dev/null and b/public/images/emoji/google/hot_dog.png differ diff --git a/public/images/emoji/google/hot_pepper.png b/public/images/emoji/google/hot_pepper.png index 4b96b8998..083ac3477 100644 Binary files a/public/images/emoji/google/hot_pepper.png and b/public/images/emoji/google/hot_pepper.png differ diff --git a/public/images/emoji/google/hotdog.png b/public/images/emoji/google/hotdog.png index 9b656e4e6..0e58953ff 100644 Binary files a/public/images/emoji/google/hotdog.png and b/public/images/emoji/google/hotdog.png differ diff --git a/public/images/emoji/google/hotel.png b/public/images/emoji/google/hotel.png index 14eede3a2..83bf093ca 100644 Binary files a/public/images/emoji/google/hotel.png and b/public/images/emoji/google/hotel.png differ diff --git a/public/images/emoji/google/hotsprings.png b/public/images/emoji/google/hotsprings.png index 23d75c922..f0f4f65c8 100644 Binary files a/public/images/emoji/google/hotsprings.png and b/public/images/emoji/google/hotsprings.png differ diff --git a/public/images/emoji/google/hourglass.png b/public/images/emoji/google/hourglass.png index 39c29d491..ecac60ebd 100644 Binary files a/public/images/emoji/google/hourglass.png and b/public/images/emoji/google/hourglass.png differ diff --git a/public/images/emoji/google/hourglass_flowing_sand.png b/public/images/emoji/google/hourglass_flowing_sand.png index 9f5e7e505..1952a366b 100644 Binary files a/public/images/emoji/google/hourglass_flowing_sand.png and b/public/images/emoji/google/hourglass_flowing_sand.png differ diff --git a/public/images/emoji/google/house.png b/public/images/emoji/google/house.png index a6f3144f1..34100cce7 100644 Binary files a/public/images/emoji/google/house.png and b/public/images/emoji/google/house.png differ diff --git a/public/images/emoji/google/house_abandoned.png b/public/images/emoji/google/house_abandoned.png index 65339656f..b1d5a7d81 100644 Binary files a/public/images/emoji/google/house_abandoned.png and b/public/images/emoji/google/house_abandoned.png differ diff --git a/public/images/emoji/google/house_buildings.png b/public/images/emoji/google/house_buildings.png new file mode 100644 index 000000000..e1a055998 Binary files /dev/null and b/public/images/emoji/google/house_buildings.png differ diff --git a/public/images/emoji/google/house_with_garden.png b/public/images/emoji/google/house_with_garden.png index adadb4739..e38cfb45e 100644 Binary files a/public/images/emoji/google/house_with_garden.png and b/public/images/emoji/google/house_with_garden.png differ diff --git a/public/images/emoji/google/hugging.png b/public/images/emoji/google/hugging.png index f96f020cb..6ac0f6417 100644 Binary files a/public/images/emoji/google/hugging.png and b/public/images/emoji/google/hugging.png differ diff --git a/public/images/emoji/google/hugging_face.png b/public/images/emoji/google/hugging_face.png new file mode 100644 index 000000000..6ac0f6417 Binary files /dev/null and b/public/images/emoji/google/hugging_face.png differ diff --git a/public/images/emoji/google/hushed.png b/public/images/emoji/google/hushed.png index 86fdf9fbd..1062006e8 100644 Binary files a/public/images/emoji/google/hushed.png and b/public/images/emoji/google/hushed.png differ diff --git a/public/images/emoji/google/ice_cream.png b/public/images/emoji/google/ice_cream.png index df83a39d5..30b30cde5 100644 Binary files a/public/images/emoji/google/ice_cream.png and b/public/images/emoji/google/ice_cream.png differ diff --git a/public/images/emoji/google/ice_skate.png b/public/images/emoji/google/ice_skate.png index 9c4c849ca..9c2b6c799 100644 Binary files a/public/images/emoji/google/ice_skate.png and b/public/images/emoji/google/ice_skate.png differ diff --git a/public/images/emoji/google/icecream.png b/public/images/emoji/google/icecream.png index 2cd79344e..50d5dca0e 100644 Binary files a/public/images/emoji/google/icecream.png and b/public/images/emoji/google/icecream.png differ diff --git a/public/images/emoji/google/id.png b/public/images/emoji/google/id.png index 026d3324d..0d1f0e1bc 100644 Binary files a/public/images/emoji/google/id.png and b/public/images/emoji/google/id.png differ diff --git a/public/images/emoji/google/ideograph_advantage.png b/public/images/emoji/google/ideograph_advantage.png index 229142ea2..9eb6c340d 100644 Binary files a/public/images/emoji/google/ideograph_advantage.png and b/public/images/emoji/google/ideograph_advantage.png differ diff --git a/public/images/emoji/google/imp.png b/public/images/emoji/google/imp.png index 4b697d3df..c5cca5145 100644 Binary files a/public/images/emoji/google/imp.png and b/public/images/emoji/google/imp.png differ diff --git a/public/images/emoji/google/inbox_tray.png b/public/images/emoji/google/inbox_tray.png index bebd89887..67148d2ce 100644 Binary files a/public/images/emoji/google/inbox_tray.png and b/public/images/emoji/google/inbox_tray.png differ diff --git a/public/images/emoji/google/incoming_envelope.png b/public/images/emoji/google/incoming_envelope.png index 19e8ba0ff..92fcce777 100644 Binary files a/public/images/emoji/google/incoming_envelope.png and b/public/images/emoji/google/incoming_envelope.png differ diff --git a/public/images/emoji/google/information_desk_person.png b/public/images/emoji/google/information_desk_person.png index 8a4c6670b..3d4361ed6 100644 Binary files a/public/images/emoji/google/information_desk_person.png and b/public/images/emoji/google/information_desk_person.png differ diff --git a/public/images/emoji/google/information_source.png b/public/images/emoji/google/information_source.png index ee134fdf1..d982dbd27 100644 Binary files a/public/images/emoji/google/information_source.png and b/public/images/emoji/google/information_source.png differ diff --git a/public/images/emoji/google/innocent.png b/public/images/emoji/google/innocent.png index 77e7a0196..234a5deaa 100644 Binary files a/public/images/emoji/google/innocent.png and b/public/images/emoji/google/innocent.png differ diff --git a/public/images/emoji/google/interrobang.png b/public/images/emoji/google/interrobang.png index b714e671c..e96f13955 100644 Binary files a/public/images/emoji/google/interrobang.png and b/public/images/emoji/google/interrobang.png differ diff --git a/public/images/emoji/google/iphone.png b/public/images/emoji/google/iphone.png index 437398edb..97ca7c4f7 100644 Binary files a/public/images/emoji/google/iphone.png and b/public/images/emoji/google/iphone.png differ diff --git a/public/images/emoji/google/island.png b/public/images/emoji/google/island.png index eb33977cf..33b1d3883 100644 Binary files a/public/images/emoji/google/island.png and b/public/images/emoji/google/island.png differ diff --git a/public/images/emoji/google/it.png b/public/images/emoji/google/it.png index 7520581a8..cfbd4125e 100644 Binary files a/public/images/emoji/google/it.png and b/public/images/emoji/google/it.png differ diff --git a/public/images/emoji/google/izakaya_lantern.png b/public/images/emoji/google/izakaya_lantern.png index 7bd1c654e..92063b97f 100644 Binary files a/public/images/emoji/google/izakaya_lantern.png and b/public/images/emoji/google/izakaya_lantern.png differ diff --git a/public/images/emoji/google/jack_o_lantern.png b/public/images/emoji/google/jack_o_lantern.png index 914378740..52e74c78e 100644 Binary files a/public/images/emoji/google/jack_o_lantern.png and b/public/images/emoji/google/jack_o_lantern.png differ diff --git a/public/images/emoji/google/japan.png b/public/images/emoji/google/japan.png index 76230c563..a7754cc73 100644 Binary files a/public/images/emoji/google/japan.png and b/public/images/emoji/google/japan.png differ diff --git a/public/images/emoji/google/japanese_castle.png b/public/images/emoji/google/japanese_castle.png index 1e102b965..9b19a8393 100644 Binary files a/public/images/emoji/google/japanese_castle.png and b/public/images/emoji/google/japanese_castle.png differ diff --git a/public/images/emoji/google/japanese_goblin.png b/public/images/emoji/google/japanese_goblin.png index bebc1050c..9d0a77f23 100644 Binary files a/public/images/emoji/google/japanese_goblin.png and b/public/images/emoji/google/japanese_goblin.png differ diff --git a/public/images/emoji/google/japanese_ogre.png b/public/images/emoji/google/japanese_ogre.png index 367e69d5c..d24dffd0e 100644 Binary files a/public/images/emoji/google/japanese_ogre.png and b/public/images/emoji/google/japanese_ogre.png differ diff --git a/public/images/emoji/google/jeans.png b/public/images/emoji/google/jeans.png index 49eaf8ce7..bfe464bb3 100644 Binary files a/public/images/emoji/google/jeans.png and b/public/images/emoji/google/jeans.png differ diff --git a/public/images/emoji/google/joy.png b/public/images/emoji/google/joy.png index 7f74024ca..249ad7e8f 100644 Binary files a/public/images/emoji/google/joy.png and b/public/images/emoji/google/joy.png differ diff --git a/public/images/emoji/google/joy_cat.png b/public/images/emoji/google/joy_cat.png index faad80daa..3e7ae5090 100644 Binary files a/public/images/emoji/google/joy_cat.png and b/public/images/emoji/google/joy_cat.png differ diff --git a/public/images/emoji/google/joystick.png b/public/images/emoji/google/joystick.png index a2891008d..f8183693f 100644 Binary files a/public/images/emoji/google/joystick.png and b/public/images/emoji/google/joystick.png differ diff --git a/public/images/emoji/google/jp.png b/public/images/emoji/google/jp.png index 3fcaf8765..99129fe55 100644 Binary files a/public/images/emoji/google/jp.png and b/public/images/emoji/google/jp.png differ diff --git a/public/images/emoji/google/kaaba.png b/public/images/emoji/google/kaaba.png index ea2a60b17..a74ce5d86 100644 Binary files a/public/images/emoji/google/kaaba.png and b/public/images/emoji/google/kaaba.png differ diff --git a/public/images/emoji/google/key.png b/public/images/emoji/google/key.png index 08e53f8f3..05d1ca9b2 100644 Binary files a/public/images/emoji/google/key.png and b/public/images/emoji/google/key.png differ diff --git a/public/images/emoji/google/key2.png b/public/images/emoji/google/key2.png index 37bbcbb7c..87121fe10 100644 Binary files a/public/images/emoji/google/key2.png and b/public/images/emoji/google/key2.png differ diff --git a/public/images/emoji/google/keyboard.png b/public/images/emoji/google/keyboard.png index 5c7ad2144..197caff4e 100644 Binary files a/public/images/emoji/google/keyboard.png and b/public/images/emoji/google/keyboard.png differ diff --git a/public/images/emoji/google/keycap_star.png b/public/images/emoji/google/keycap_star.png new file mode 100644 index 000000000..e69de29bb diff --git a/public/images/emoji/google/keycap_ten.png b/public/images/emoji/google/keycap_ten.png deleted file mode 100644 index 0af251002..000000000 Binary files a/public/images/emoji/google/keycap_ten.png and /dev/null differ diff --git a/public/images/emoji/google/kimono.png b/public/images/emoji/google/kimono.png index 9cbc8d3fa..a8161adf1 100644 Binary files a/public/images/emoji/google/kimono.png and b/public/images/emoji/google/kimono.png differ diff --git a/public/images/emoji/google/kiss.png b/public/images/emoji/google/kiss.png index 97acd7450..4c74c59e2 100644 Binary files a/public/images/emoji/google/kiss.png and b/public/images/emoji/google/kiss.png differ diff --git a/public/images/emoji/google/kissing.png b/public/images/emoji/google/kissing.png index daa2507b3..4d9b82e74 100644 Binary files a/public/images/emoji/google/kissing.png and b/public/images/emoji/google/kissing.png differ diff --git a/public/images/emoji/google/kissing_cat.png b/public/images/emoji/google/kissing_cat.png index cd38fd808..bbe8c4a97 100644 Binary files a/public/images/emoji/google/kissing_cat.png and b/public/images/emoji/google/kissing_cat.png differ diff --git a/public/images/emoji/google/kissing_closed_eyes.png b/public/images/emoji/google/kissing_closed_eyes.png index 3c59419d3..12079862c 100644 Binary files a/public/images/emoji/google/kissing_closed_eyes.png and b/public/images/emoji/google/kissing_closed_eyes.png differ diff --git a/public/images/emoji/google/kissing_heart.png b/public/images/emoji/google/kissing_heart.png index b7658004a..139ce489a 100644 Binary files a/public/images/emoji/google/kissing_heart.png and b/public/images/emoji/google/kissing_heart.png differ diff --git a/public/images/emoji/google/kissing_smiling_eyes.png b/public/images/emoji/google/kissing_smiling_eyes.png index 912f049e6..d69b5d304 100644 Binary files a/public/images/emoji/google/kissing_smiling_eyes.png and b/public/images/emoji/google/kissing_smiling_eyes.png differ diff --git a/public/images/emoji/google/knife.png b/public/images/emoji/google/knife.png index 487e32d53..88cee6096 100644 Binary files a/public/images/emoji/google/knife.png and b/public/images/emoji/google/knife.png differ diff --git a/public/images/emoji/google/koala.png b/public/images/emoji/google/koala.png index c7c560612..70b131e06 100644 Binary files a/public/images/emoji/google/koala.png and b/public/images/emoji/google/koala.png differ diff --git a/public/images/emoji/google/koko.png b/public/images/emoji/google/koko.png index e7bcc19e9..ddaf0447d 100644 Binary files a/public/images/emoji/google/koko.png and b/public/images/emoji/google/koko.png differ diff --git a/public/images/emoji/google/kr.png b/public/images/emoji/google/kr.png index d295bbea9..efb95e4ba 100644 Binary files a/public/images/emoji/google/kr.png and b/public/images/emoji/google/kr.png differ diff --git a/public/images/emoji/google/label.png b/public/images/emoji/google/label.png index 61c4f8021..c3043450a 100644 Binary files a/public/images/emoji/google/label.png and b/public/images/emoji/google/label.png differ diff --git a/public/images/emoji/google/lantern.png b/public/images/emoji/google/lantern.png deleted file mode 100644 index a029a5f3e..000000000 Binary files a/public/images/emoji/google/lantern.png and /dev/null differ diff --git a/public/images/emoji/google/large_blue_circle.png b/public/images/emoji/google/large_blue_circle.png index 76a607af7..2a6802482 100644 Binary files a/public/images/emoji/google/large_blue_circle.png and b/public/images/emoji/google/large_blue_circle.png differ diff --git a/public/images/emoji/google/large_blue_diamond.png b/public/images/emoji/google/large_blue_diamond.png index cc1402967..fc3f5b7c4 100644 Binary files a/public/images/emoji/google/large_blue_diamond.png and b/public/images/emoji/google/large_blue_diamond.png differ diff --git a/public/images/emoji/google/large_orange_diamond.png b/public/images/emoji/google/large_orange_diamond.png index c54db095b..b652d7795 100644 Binary files a/public/images/emoji/google/large_orange_diamond.png and b/public/images/emoji/google/large_orange_diamond.png differ diff --git a/public/images/emoji/google/last_quarter_moon.png b/public/images/emoji/google/last_quarter_moon.png index fa4883c2f..c6ad0a2dc 100644 Binary files a/public/images/emoji/google/last_quarter_moon.png and b/public/images/emoji/google/last_quarter_moon.png differ diff --git a/public/images/emoji/google/last_quarter_moon_with_face.png b/public/images/emoji/google/last_quarter_moon_with_face.png index 9157f1ec0..96bd71127 100644 Binary files a/public/images/emoji/google/last_quarter_moon_with_face.png and b/public/images/emoji/google/last_quarter_moon_with_face.png differ diff --git a/public/images/emoji/google/latin_cross.png b/public/images/emoji/google/latin_cross.png new file mode 100644 index 000000000..52d188499 Binary files /dev/null and b/public/images/emoji/google/latin_cross.png differ diff --git a/public/images/emoji/google/laughing.png b/public/images/emoji/google/laughing.png index 3322a94d5..04d29aa6a 100644 Binary files a/public/images/emoji/google/laughing.png and b/public/images/emoji/google/laughing.png differ diff --git a/public/images/emoji/google/leaves.png b/public/images/emoji/google/leaves.png index eb7b39a34..764114eaa 100644 Binary files a/public/images/emoji/google/leaves.png and b/public/images/emoji/google/leaves.png differ diff --git a/public/images/emoji/google/ledger.png b/public/images/emoji/google/ledger.png index 83871873d..e709f538b 100644 Binary files a/public/images/emoji/google/ledger.png and b/public/images/emoji/google/ledger.png differ diff --git a/public/images/emoji/google/left_luggage.png b/public/images/emoji/google/left_luggage.png index 0bc3a87c0..47ad0e4f6 100644 Binary files a/public/images/emoji/google/left_luggage.png and b/public/images/emoji/google/left_luggage.png differ diff --git a/public/images/emoji/google/left_right_arrow.png b/public/images/emoji/google/left_right_arrow.png index dfbc74289..29d18abc7 100644 Binary files a/public/images/emoji/google/left_right_arrow.png and b/public/images/emoji/google/left_right_arrow.png differ diff --git a/public/images/emoji/google/left_speech_bubble.png b/public/images/emoji/google/left_speech_bubble.png new file mode 100644 index 000000000..450d8beaf Binary files /dev/null and b/public/images/emoji/google/left_speech_bubble.png differ diff --git a/public/images/emoji/google/leftwards_arrow_with_hook.png b/public/images/emoji/google/leftwards_arrow_with_hook.png index 582b558d6..2cefb3203 100644 Binary files a/public/images/emoji/google/leftwards_arrow_with_hook.png and b/public/images/emoji/google/leftwards_arrow_with_hook.png differ diff --git a/public/images/emoji/google/lemon.png b/public/images/emoji/google/lemon.png index 7e3d176d1..7cac69f07 100644 Binary files a/public/images/emoji/google/lemon.png and b/public/images/emoji/google/lemon.png differ diff --git a/public/images/emoji/google/leo.png b/public/images/emoji/google/leo.png index d3cdae276..99325408e 100644 Binary files a/public/images/emoji/google/leo.png and b/public/images/emoji/google/leo.png differ diff --git a/public/images/emoji/google/leopard.png b/public/images/emoji/google/leopard.png index fb4d13fa9..c781a5b62 100644 Binary files a/public/images/emoji/google/leopard.png and b/public/images/emoji/google/leopard.png differ diff --git a/public/images/emoji/google/level_slider.png b/public/images/emoji/google/level_slider.png index 74adedad3..c255df10f 100644 Binary files a/public/images/emoji/google/level_slider.png and b/public/images/emoji/google/level_slider.png differ diff --git a/public/images/emoji/google/levitate.png b/public/images/emoji/google/levitate.png index b257d1b65..aafbbc2d8 100644 Binary files a/public/images/emoji/google/levitate.png and b/public/images/emoji/google/levitate.png differ diff --git a/public/images/emoji/google/libra.png b/public/images/emoji/google/libra.png index 7be3dc103..4d0a2c452 100644 Binary files a/public/images/emoji/google/libra.png and b/public/images/emoji/google/libra.png differ diff --git a/public/images/emoji/google/lifter.png b/public/images/emoji/google/lifter.png index 52dd8c972..eb5882317 100644 Binary files a/public/images/emoji/google/lifter.png and b/public/images/emoji/google/lifter.png differ diff --git a/public/images/emoji/google/light_rail.png b/public/images/emoji/google/light_rail.png index 1fa53d6e8..09251b093 100644 Binary files a/public/images/emoji/google/light_rail.png and b/public/images/emoji/google/light_rail.png differ diff --git a/public/images/emoji/google/link.png b/public/images/emoji/google/link.png index 214c4a13e..cb0154572 100644 Binary files a/public/images/emoji/google/link.png and b/public/images/emoji/google/link.png differ diff --git a/public/images/emoji/google/linked_paperclips.png b/public/images/emoji/google/linked_paperclips.png new file mode 100644 index 000000000..e34ff5ad2 Binary files /dev/null and b/public/images/emoji/google/linked_paperclips.png differ diff --git a/public/images/emoji/google/lion.png b/public/images/emoji/google/lion.png new file mode 100644 index 000000000..cccce7234 Binary files /dev/null and b/public/images/emoji/google/lion.png differ diff --git a/public/images/emoji/google/lion_face.png b/public/images/emoji/google/lion_face.png index 18ec861a2..cccce7234 100644 Binary files a/public/images/emoji/google/lion_face.png and b/public/images/emoji/google/lion_face.png differ diff --git a/public/images/emoji/google/lips.png b/public/images/emoji/google/lips.png index 75ecaa098..193841abd 100644 Binary files a/public/images/emoji/google/lips.png and b/public/images/emoji/google/lips.png differ diff --git a/public/images/emoji/google/lipstick.png b/public/images/emoji/google/lipstick.png index 5cf284d3b..57431fd46 100644 Binary files a/public/images/emoji/google/lipstick.png and b/public/images/emoji/google/lipstick.png differ diff --git a/public/images/emoji/google/lock.png b/public/images/emoji/google/lock.png index e0ec08eb4..50a713c2a 100644 Binary files a/public/images/emoji/google/lock.png and b/public/images/emoji/google/lock.png differ diff --git a/public/images/emoji/google/lock_with_ink_pen.png b/public/images/emoji/google/lock_with_ink_pen.png index cb96a0147..c228e63bd 100644 Binary files a/public/images/emoji/google/lock_with_ink_pen.png and b/public/images/emoji/google/lock_with_ink_pen.png differ diff --git a/public/images/emoji/google/lollipop.png b/public/images/emoji/google/lollipop.png index d854078cf..fd51bc72c 100644 Binary files a/public/images/emoji/google/lollipop.png and b/public/images/emoji/google/lollipop.png differ diff --git a/public/images/emoji/google/loop.png b/public/images/emoji/google/loop.png index 8c3af6be1..eb371562d 100644 Binary files a/public/images/emoji/google/loop.png and b/public/images/emoji/google/loop.png differ diff --git a/public/images/emoji/google/loud_sound.png b/public/images/emoji/google/loud_sound.png index b229fb8d2..1d5da87a4 100644 Binary files a/public/images/emoji/google/loud_sound.png and b/public/images/emoji/google/loud_sound.png differ diff --git a/public/images/emoji/google/loudspeaker.png b/public/images/emoji/google/loudspeaker.png index e06a68770..2702982fc 100644 Binary files a/public/images/emoji/google/loudspeaker.png and b/public/images/emoji/google/loudspeaker.png differ diff --git a/public/images/emoji/google/love_hotel.png b/public/images/emoji/google/love_hotel.png index 8c08c50af..3172fe6ca 100644 Binary files a/public/images/emoji/google/love_hotel.png and b/public/images/emoji/google/love_hotel.png differ diff --git a/public/images/emoji/google/love_letter.png b/public/images/emoji/google/love_letter.png index 2afa8a4d7..d2d29b710 100644 Binary files a/public/images/emoji/google/love_letter.png and b/public/images/emoji/google/love_letter.png differ diff --git a/public/images/emoji/google/low_brightness.png b/public/images/emoji/google/low_brightness.png index 9296a5d8c..21d19226e 100644 Binary files a/public/images/emoji/google/low_brightness.png and b/public/images/emoji/google/low_brightness.png differ diff --git a/public/images/emoji/google/lower_left_ballpoint_pen.png b/public/images/emoji/google/lower_left_ballpoint_pen.png new file mode 100644 index 000000000..11acae0cd Binary files /dev/null and b/public/images/emoji/google/lower_left_ballpoint_pen.png differ diff --git a/public/images/emoji/google/lower_left_crayon.png b/public/images/emoji/google/lower_left_crayon.png new file mode 100644 index 000000000..0ef86da10 Binary files /dev/null and b/public/images/emoji/google/lower_left_crayon.png differ diff --git a/public/images/emoji/google/lower_left_fountain_pen.png b/public/images/emoji/google/lower_left_fountain_pen.png new file mode 100644 index 000000000..4af057ce4 Binary files /dev/null and b/public/images/emoji/google/lower_left_fountain_pen.png differ diff --git a/public/images/emoji/google/lower_left_paintbrush.png b/public/images/emoji/google/lower_left_paintbrush.png new file mode 100644 index 000000000..81b26f22f Binary files /dev/null and b/public/images/emoji/google/lower_left_paintbrush.png differ diff --git a/public/images/emoji/google/m.png b/public/images/emoji/google/m.png index d1f2c32d5..6c7b44352 100644 Binary files a/public/images/emoji/google/m.png and b/public/images/emoji/google/m.png differ diff --git a/public/images/emoji/google/mag.png b/public/images/emoji/google/mag.png index 309cb7284..3d58da8d6 100644 Binary files a/public/images/emoji/google/mag.png and b/public/images/emoji/google/mag.png differ diff --git a/public/images/emoji/google/mag_right.png b/public/images/emoji/google/mag_right.png index a079fc679..6217ffa8f 100644 Binary files a/public/images/emoji/google/mag_right.png and b/public/images/emoji/google/mag_right.png differ diff --git a/public/images/emoji/google/mahjong.png b/public/images/emoji/google/mahjong.png index 902c11448..e00e0879e 100644 Binary files a/public/images/emoji/google/mahjong.png and b/public/images/emoji/google/mahjong.png differ diff --git a/public/images/emoji/google/mailbox.png b/public/images/emoji/google/mailbox.png index f87a2a9e7..3036e4fff 100644 Binary files a/public/images/emoji/google/mailbox.png and b/public/images/emoji/google/mailbox.png differ diff --git a/public/images/emoji/google/mailbox_closed.png b/public/images/emoji/google/mailbox_closed.png index ee036d205..2a9678b58 100644 Binary files a/public/images/emoji/google/mailbox_closed.png and b/public/images/emoji/google/mailbox_closed.png differ diff --git a/public/images/emoji/google/mailbox_with_mail.png b/public/images/emoji/google/mailbox_with_mail.png index 2dfada603..6539904a2 100644 Binary files a/public/images/emoji/google/mailbox_with_mail.png and b/public/images/emoji/google/mailbox_with_mail.png differ diff --git a/public/images/emoji/google/mailbox_with_no_mail.png b/public/images/emoji/google/mailbox_with_no_mail.png index fb074fddf..d5fb10082 100644 Binary files a/public/images/emoji/google/mailbox_with_no_mail.png and b/public/images/emoji/google/mailbox_with_no_mail.png differ diff --git a/public/images/emoji/google/male_couple_with_heart.png b/public/images/emoji/google/male_couple_with_heart.png new file mode 100644 index 000000000..ca9411798 Binary files /dev/null and b/public/images/emoji/google/male_couple_with_heart.png differ diff --git a/public/images/emoji/google/male_couplekiss.png b/public/images/emoji/google/male_couplekiss.png new file mode 100644 index 000000000..b0c3a0b62 Binary files /dev/null and b/public/images/emoji/google/male_couplekiss.png differ diff --git a/public/images/emoji/google/man.png b/public/images/emoji/google/man.png index 4632c7e96..f2d68401e 100644 Binary files a/public/images/emoji/google/man.png and b/public/images/emoji/google/man.png differ diff --git a/public/images/emoji/google/man_in_business_suit_levitating.png b/public/images/emoji/google/man_in_business_suit_levitating.png new file mode 100644 index 000000000..aafbbc2d8 Binary files /dev/null and b/public/images/emoji/google/man_in_business_suit_levitating.png differ diff --git a/public/images/emoji/google/man_with_gua_pi_mao.png b/public/images/emoji/google/man_with_gua_pi_mao.png index 0f08b4991..e7e0d94a7 100644 Binary files a/public/images/emoji/google/man_with_gua_pi_mao.png and b/public/images/emoji/google/man_with_gua_pi_mao.png differ diff --git a/public/images/emoji/google/man_with_turban.png b/public/images/emoji/google/man_with_turban.png index 6493923d9..87efccfb4 100644 Binary files a/public/images/emoji/google/man_with_turban.png and b/public/images/emoji/google/man_with_turban.png differ diff --git a/public/images/emoji/google/mans_shoe.png b/public/images/emoji/google/mans_shoe.png index a0d8f3baa..afb7c8086 100644 Binary files a/public/images/emoji/google/mans_shoe.png and b/public/images/emoji/google/mans_shoe.png differ diff --git a/public/images/emoji/google/mantlepiece_clock.png b/public/images/emoji/google/mantlepiece_clock.png new file mode 100644 index 000000000..48c0e38d4 Binary files /dev/null and b/public/images/emoji/google/mantlepiece_clock.png differ diff --git a/public/images/emoji/google/map.png b/public/images/emoji/google/map.png index 47a97c65b..fc4cfafe8 100644 Binary files a/public/images/emoji/google/map.png and b/public/images/emoji/google/map.png differ diff --git a/public/images/emoji/google/maple_leaf.png b/public/images/emoji/google/maple_leaf.png index 83e2cf274..0f61101ee 100644 Binary files a/public/images/emoji/google/maple_leaf.png and b/public/images/emoji/google/maple_leaf.png differ diff --git a/public/images/emoji/google/mask.png b/public/images/emoji/google/mask.png index c6b14221d..568141e9c 100644 Binary files a/public/images/emoji/google/mask.png and b/public/images/emoji/google/mask.png differ diff --git a/public/images/emoji/google/massage.png b/public/images/emoji/google/massage.png index cf62537be..346fdeb2e 100644 Binary files a/public/images/emoji/google/massage.png and b/public/images/emoji/google/massage.png differ diff --git a/public/images/emoji/google/meat_on_bone.png b/public/images/emoji/google/meat_on_bone.png index 0ea8452a3..181d0dc4d 100644 Binary files a/public/images/emoji/google/meat_on_bone.png and b/public/images/emoji/google/meat_on_bone.png differ diff --git a/public/images/emoji/google/medal.png b/public/images/emoji/google/medal.png index 01f0e9af7..165827b17 100644 Binary files a/public/images/emoji/google/medal.png and b/public/images/emoji/google/medal.png differ diff --git a/public/images/emoji/google/mega.png b/public/images/emoji/google/mega.png index 9b564b083..e717c0593 100644 Binary files a/public/images/emoji/google/mega.png and b/public/images/emoji/google/mega.png differ diff --git a/public/images/emoji/google/melon.png b/public/images/emoji/google/melon.png index 715babd81..9ddb3c63b 100644 Binary files a/public/images/emoji/google/melon.png and b/public/images/emoji/google/melon.png differ diff --git a/public/images/emoji/google/memo.png b/public/images/emoji/google/memo.png deleted file mode 100644 index 2021c6c8e..000000000 Binary files a/public/images/emoji/google/memo.png and /dev/null differ diff --git a/public/images/emoji/google/menorah.png b/public/images/emoji/google/menorah.png index d618e60f6..a479d99b3 100644 Binary files a/public/images/emoji/google/menorah.png and b/public/images/emoji/google/menorah.png differ diff --git a/public/images/emoji/google/mens.png b/public/images/emoji/google/mens.png index 5285eabaa..640db6a49 100644 Binary files a/public/images/emoji/google/mens.png and b/public/images/emoji/google/mens.png differ diff --git a/public/images/emoji/google/metal.png b/public/images/emoji/google/metal.png index fe5ca6ecb..d8d0c23c3 100644 Binary files a/public/images/emoji/google/metal.png and b/public/images/emoji/google/metal.png differ diff --git a/public/images/emoji/google/metro.png b/public/images/emoji/google/metro.png index 03878c752..23f7d98ac 100644 Binary files a/public/images/emoji/google/metro.png and b/public/images/emoji/google/metro.png differ diff --git a/public/images/emoji/google/microphone.png b/public/images/emoji/google/microphone.png index b70134b33..af52cbe10 100644 Binary files a/public/images/emoji/google/microphone.png and b/public/images/emoji/google/microphone.png differ diff --git a/public/images/emoji/google/microphone2.png b/public/images/emoji/google/microphone2.png index 4a772830d..bb2539903 100644 Binary files a/public/images/emoji/google/microphone2.png and b/public/images/emoji/google/microphone2.png differ diff --git a/public/images/emoji/google/microscope.png b/public/images/emoji/google/microscope.png index 1ccf25960..ac71bf49b 100644 Binary files a/public/images/emoji/google/microscope.png and b/public/images/emoji/google/microscope.png differ diff --git a/public/images/emoji/google/middle_finger.png b/public/images/emoji/google/middle_finger.png index 7bab9e62d..abeb7fe2f 100644 Binary files a/public/images/emoji/google/middle_finger.png and b/public/images/emoji/google/middle_finger.png differ diff --git a/public/images/emoji/google/military_medal.png b/public/images/emoji/google/military_medal.png index 905a83892..07db5ac13 100644 Binary files a/public/images/emoji/google/military_medal.png and b/public/images/emoji/google/military_medal.png differ diff --git a/public/images/emoji/google/milky_way.png b/public/images/emoji/google/milky_way.png index 962b92c5e..9b6f69ca1 100644 Binary files a/public/images/emoji/google/milky_way.png and b/public/images/emoji/google/milky_way.png differ diff --git a/public/images/emoji/google/minibus.png b/public/images/emoji/google/minibus.png index 686a1ed47..9e949d4b0 100644 Binary files a/public/images/emoji/google/minibus.png and b/public/images/emoji/google/minibus.png differ diff --git a/public/images/emoji/google/minidisc.png b/public/images/emoji/google/minidisc.png index e47e86e49..199b03f1d 100644 Binary files a/public/images/emoji/google/minidisc.png and b/public/images/emoji/google/minidisc.png differ diff --git a/public/images/emoji/google/mobile_phone_off.png b/public/images/emoji/google/mobile_phone_off.png index ee7c94e16..b353bd4ab 100644 Binary files a/public/images/emoji/google/mobile_phone_off.png and b/public/images/emoji/google/mobile_phone_off.png differ diff --git a/public/images/emoji/google/money_mouth.png b/public/images/emoji/google/money_mouth.png index 231c21c16..921b18045 100644 Binary files a/public/images/emoji/google/money_mouth.png and b/public/images/emoji/google/money_mouth.png differ diff --git a/public/images/emoji/google/money_mouth_face.png b/public/images/emoji/google/money_mouth_face.png new file mode 100644 index 000000000..921b18045 Binary files /dev/null and b/public/images/emoji/google/money_mouth_face.png differ diff --git a/public/images/emoji/google/money_with_wings.png b/public/images/emoji/google/money_with_wings.png index 278d7e89b..f5939dfc2 100644 Binary files a/public/images/emoji/google/money_with_wings.png and b/public/images/emoji/google/money_with_wings.png differ diff --git a/public/images/emoji/google/moneybag.png b/public/images/emoji/google/moneybag.png index ca5660fd8..ef2778f7a 100644 Binary files a/public/images/emoji/google/moneybag.png and b/public/images/emoji/google/moneybag.png differ diff --git a/public/images/emoji/google/monkey.png b/public/images/emoji/google/monkey.png index 11a8f7ad0..88db70bff 100644 Binary files a/public/images/emoji/google/monkey.png and b/public/images/emoji/google/monkey.png differ diff --git a/public/images/emoji/google/monkey_face.png b/public/images/emoji/google/monkey_face.png index ead2954f9..3de70bf03 100644 Binary files a/public/images/emoji/google/monkey_face.png and b/public/images/emoji/google/monkey_face.png differ diff --git a/public/images/emoji/google/monorail.png b/public/images/emoji/google/monorail.png index 030f0f00a..b56930249 100644 Binary files a/public/images/emoji/google/monorail.png and b/public/images/emoji/google/monorail.png differ diff --git a/public/images/emoji/google/moon.png b/public/images/emoji/google/moon.png deleted file mode 100644 index 11df42bd7..000000000 Binary files a/public/images/emoji/google/moon.png and /dev/null differ diff --git a/public/images/emoji/google/mortar_board.png b/public/images/emoji/google/mortar_board.png index c3b1090f5..f6313a770 100644 Binary files a/public/images/emoji/google/mortar_board.png and b/public/images/emoji/google/mortar_board.png differ diff --git a/public/images/emoji/google/mosque.png b/public/images/emoji/google/mosque.png index 0aee1ca20..4f31242b1 100644 Binary files a/public/images/emoji/google/mosque.png and b/public/images/emoji/google/mosque.png differ diff --git a/public/images/emoji/google/motorboat.png b/public/images/emoji/google/motorboat.png index a735312ec..16e1f419e 100644 Binary files a/public/images/emoji/google/motorboat.png and b/public/images/emoji/google/motorboat.png differ diff --git a/public/images/emoji/google/motorcycle.png b/public/images/emoji/google/motorcycle.png index 26da5995f..59a73872f 100644 Binary files a/public/images/emoji/google/motorcycle.png and b/public/images/emoji/google/motorcycle.png differ diff --git a/public/images/emoji/google/motorway.png b/public/images/emoji/google/motorway.png index 3fbb18ea2..863c2a669 100644 Binary files a/public/images/emoji/google/motorway.png and b/public/images/emoji/google/motorway.png differ diff --git a/public/images/emoji/google/mount_fuji.png b/public/images/emoji/google/mount_fuji.png index 9549846ed..75385882c 100644 Binary files a/public/images/emoji/google/mount_fuji.png and b/public/images/emoji/google/mount_fuji.png differ diff --git a/public/images/emoji/google/mountain.png b/public/images/emoji/google/mountain.png index 869d358f1..3f7a75574 100644 Binary files a/public/images/emoji/google/mountain.png and b/public/images/emoji/google/mountain.png differ diff --git a/public/images/emoji/google/mountain_bicyclist.png b/public/images/emoji/google/mountain_bicyclist.png index 63709aa05..01aa415de 100644 Binary files a/public/images/emoji/google/mountain_bicyclist.png and b/public/images/emoji/google/mountain_bicyclist.png differ diff --git a/public/images/emoji/google/mountain_cableway.png b/public/images/emoji/google/mountain_cableway.png index aebabbe86..fc6924f71 100644 Binary files a/public/images/emoji/google/mountain_cableway.png and b/public/images/emoji/google/mountain_cableway.png differ diff --git a/public/images/emoji/google/mountain_railway.png b/public/images/emoji/google/mountain_railway.png index 7a89d9b15..662c9f36f 100644 Binary files a/public/images/emoji/google/mountain_railway.png and b/public/images/emoji/google/mountain_railway.png differ diff --git a/public/images/emoji/google/mountain_snow.png b/public/images/emoji/google/mountain_snow.png index e5c77bfc5..edf4cc128 100644 Binary files a/public/images/emoji/google/mountain_snow.png and b/public/images/emoji/google/mountain_snow.png differ diff --git a/public/images/emoji/google/mouse.png b/public/images/emoji/google/mouse.png index e915471e4..37e8c04c0 100644 Binary files a/public/images/emoji/google/mouse.png and b/public/images/emoji/google/mouse.png differ diff --git a/public/images/emoji/google/mouse2.png b/public/images/emoji/google/mouse2.png index 4310a346d..b69c664aa 100644 Binary files a/public/images/emoji/google/mouse2.png and b/public/images/emoji/google/mouse2.png differ diff --git a/public/images/emoji/google/mouse_three_button.png b/public/images/emoji/google/mouse_three_button.png index 6ac3b8f8c..220ef6486 100644 Binary files a/public/images/emoji/google/mouse_three_button.png and b/public/images/emoji/google/mouse_three_button.png differ diff --git a/public/images/emoji/google/movie_camera.png b/public/images/emoji/google/movie_camera.png index 04ecc818c..68fa2099e 100644 Binary files a/public/images/emoji/google/movie_camera.png and b/public/images/emoji/google/movie_camera.png differ diff --git a/public/images/emoji/google/moyai.png b/public/images/emoji/google/moyai.png index eeb97a72e..0417a1094 100644 Binary files a/public/images/emoji/google/moyai.png and b/public/images/emoji/google/moyai.png differ diff --git a/public/images/emoji/google/muscle.png b/public/images/emoji/google/muscle.png index ded54ca4d..fcdded5cb 100644 Binary files a/public/images/emoji/google/muscle.png and b/public/images/emoji/google/muscle.png differ diff --git a/public/images/emoji/google/mushroom.png b/public/images/emoji/google/mushroom.png index ea3a720f1..0332bba08 100644 Binary files a/public/images/emoji/google/mushroom.png and b/public/images/emoji/google/mushroom.png differ diff --git a/public/images/emoji/google/musical_keyboard.png b/public/images/emoji/google/musical_keyboard.png index a739cfbde..a872990f0 100644 Binary files a/public/images/emoji/google/musical_keyboard.png and b/public/images/emoji/google/musical_keyboard.png differ diff --git a/public/images/emoji/google/musical_note.png b/public/images/emoji/google/musical_note.png index 1fbd6993c..ed7a1aa97 100644 Binary files a/public/images/emoji/google/musical_note.png and b/public/images/emoji/google/musical_note.png differ diff --git a/public/images/emoji/google/musical_score.png b/public/images/emoji/google/musical_score.png index b40e5bceb..6ca380ccc 100644 Binary files a/public/images/emoji/google/musical_score.png and b/public/images/emoji/google/musical_score.png differ diff --git a/public/images/emoji/google/mute.png b/public/images/emoji/google/mute.png index 9ffee3125..231202a85 100644 Binary files a/public/images/emoji/google/mute.png and b/public/images/emoji/google/mute.png differ diff --git a/public/images/emoji/google/nail_care.png b/public/images/emoji/google/nail_care.png index 8f2c4aa25..37972b04b 100644 Binary files a/public/images/emoji/google/nail_care.png and b/public/images/emoji/google/nail_care.png differ diff --git a/public/images/emoji/google/name_badge.png b/public/images/emoji/google/name_badge.png index 34873df69..e19ef4cf8 100644 Binary files a/public/images/emoji/google/name_badge.png and b/public/images/emoji/google/name_badge.png differ diff --git a/public/images/emoji/google/national_park.png b/public/images/emoji/google/national_park.png new file mode 100644 index 000000000..8867d8de4 Binary files /dev/null and b/public/images/emoji/google/national_park.png differ diff --git a/public/images/emoji/google/necktie.png b/public/images/emoji/google/necktie.png index 8f31266ab..493747713 100644 Binary files a/public/images/emoji/google/necktie.png and b/public/images/emoji/google/necktie.png differ diff --git a/public/images/emoji/google/negative_squared_cross_mark.png b/public/images/emoji/google/negative_squared_cross_mark.png index 7e101ff8c..db53c8642 100644 Binary files a/public/images/emoji/google/negative_squared_cross_mark.png and b/public/images/emoji/google/negative_squared_cross_mark.png differ diff --git a/public/images/emoji/google/nerd.png b/public/images/emoji/google/nerd.png index 29712d83c..2115d429f 100644 Binary files a/public/images/emoji/google/nerd.png and b/public/images/emoji/google/nerd.png differ diff --git a/public/images/emoji/google/nerd_face.png b/public/images/emoji/google/nerd_face.png new file mode 100644 index 000000000..2115d429f Binary files /dev/null and b/public/images/emoji/google/nerd_face.png differ diff --git a/public/images/emoji/google/neutral_face.png b/public/images/emoji/google/neutral_face.png index e57bd249e..fb7416e14 100644 Binary files a/public/images/emoji/google/neutral_face.png and b/public/images/emoji/google/neutral_face.png differ diff --git a/public/images/emoji/google/new.png b/public/images/emoji/google/new.png index 5d9e2d293..8f7818def 100644 Binary files a/public/images/emoji/google/new.png and b/public/images/emoji/google/new.png differ diff --git a/public/images/emoji/google/new_moon.png b/public/images/emoji/google/new_moon.png index 8399c9d26..0d1697138 100644 Binary files a/public/images/emoji/google/new_moon.png and b/public/images/emoji/google/new_moon.png differ diff --git a/public/images/emoji/google/new_moon_with_face.png b/public/images/emoji/google/new_moon_with_face.png index c010da872..130a11287 100644 Binary files a/public/images/emoji/google/new_moon_with_face.png and b/public/images/emoji/google/new_moon_with_face.png differ diff --git a/public/images/emoji/google/newspaper.png b/public/images/emoji/google/newspaper.png index c4315699b..4820f0c6c 100644 Binary files a/public/images/emoji/google/newspaper.png and b/public/images/emoji/google/newspaper.png differ diff --git a/public/images/emoji/google/newspaper2.png b/public/images/emoji/google/newspaper2.png index d8abf1de6..52095afb2 100644 Binary files a/public/images/emoji/google/newspaper2.png and b/public/images/emoji/google/newspaper2.png differ diff --git a/public/images/emoji/google/next_track.png b/public/images/emoji/google/next_track.png new file mode 100644 index 000000000..8fa069d57 Binary files /dev/null and b/public/images/emoji/google/next_track.png differ diff --git a/public/images/emoji/google/ng.png b/public/images/emoji/google/ng.png index 1bfe4ab33..bc9e942c1 100644 Binary files a/public/images/emoji/google/ng.png and b/public/images/emoji/google/ng.png differ diff --git a/public/images/emoji/google/night_with_stars.png b/public/images/emoji/google/night_with_stars.png index 7e1edd138..46059ef55 100644 Binary files a/public/images/emoji/google/night_with_stars.png and b/public/images/emoji/google/night_with_stars.png differ diff --git a/public/images/emoji/google/nine.png b/public/images/emoji/google/nine.png index 743f03618..e69de29bb 100644 Binary files a/public/images/emoji/google/nine.png and b/public/images/emoji/google/nine.png differ diff --git a/public/images/emoji/google/no_bell.png b/public/images/emoji/google/no_bell.png index 7e6d92df4..4733ecb47 100644 Binary files a/public/images/emoji/google/no_bell.png and b/public/images/emoji/google/no_bell.png differ diff --git a/public/images/emoji/google/no_bicycles.png b/public/images/emoji/google/no_bicycles.png index d8379f86d..7adef77ae 100644 Binary files a/public/images/emoji/google/no_bicycles.png and b/public/images/emoji/google/no_bicycles.png differ diff --git a/public/images/emoji/google/no_entry.png b/public/images/emoji/google/no_entry.png index edd9ec27a..1d9da8993 100644 Binary files a/public/images/emoji/google/no_entry.png and b/public/images/emoji/google/no_entry.png differ diff --git a/public/images/emoji/google/no_entry_sign.png b/public/images/emoji/google/no_entry_sign.png index c49550141..4dd7808b8 100644 Binary files a/public/images/emoji/google/no_entry_sign.png and b/public/images/emoji/google/no_entry_sign.png differ diff --git a/public/images/emoji/google/no_good.png b/public/images/emoji/google/no_good.png index 63a56a247..b4a10fe93 100644 Binary files a/public/images/emoji/google/no_good.png and b/public/images/emoji/google/no_good.png differ diff --git a/public/images/emoji/google/no_mobile_phones.png b/public/images/emoji/google/no_mobile_phones.png index 7784b26dc..3a812b553 100644 Binary files a/public/images/emoji/google/no_mobile_phones.png and b/public/images/emoji/google/no_mobile_phones.png differ diff --git a/public/images/emoji/google/no_mouth.png b/public/images/emoji/google/no_mouth.png index 255c2e67a..abaaf15ca 100644 Binary files a/public/images/emoji/google/no_mouth.png and b/public/images/emoji/google/no_mouth.png differ diff --git a/public/images/emoji/google/no_pedestrians.png b/public/images/emoji/google/no_pedestrians.png index 7dc65c1d8..20249ddac 100644 Binary files a/public/images/emoji/google/no_pedestrians.png and b/public/images/emoji/google/no_pedestrians.png differ diff --git a/public/images/emoji/google/no_smoking.png b/public/images/emoji/google/no_smoking.png index 1f0ec2dc5..fafebd264 100644 Binary files a/public/images/emoji/google/no_smoking.png and b/public/images/emoji/google/no_smoking.png differ diff --git a/public/images/emoji/google/non-potable_water.png b/public/images/emoji/google/non-potable_water.png index f9916668a..131f6e05b 100644 Binary files a/public/images/emoji/google/non-potable_water.png and b/public/images/emoji/google/non-potable_water.png differ diff --git a/public/images/emoji/google/nose.png b/public/images/emoji/google/nose.png index 465b2de5b..386396c79 100644 Binary files a/public/images/emoji/google/nose.png and b/public/images/emoji/google/nose.png differ diff --git a/public/images/emoji/google/notebook.png b/public/images/emoji/google/notebook.png index 5bcd94706..10971327a 100644 Binary files a/public/images/emoji/google/notebook.png and b/public/images/emoji/google/notebook.png differ diff --git a/public/images/emoji/google/notebook_with_decorative_cover.png b/public/images/emoji/google/notebook_with_decorative_cover.png index 1f93d9977..d5a17c610 100644 Binary files a/public/images/emoji/google/notebook_with_decorative_cover.png and b/public/images/emoji/google/notebook_with_decorative_cover.png differ diff --git a/public/images/emoji/google/notepad_spiral.png b/public/images/emoji/google/notepad_spiral.png index 160c8c2e2..eb6853649 100644 Binary files a/public/images/emoji/google/notepad_spiral.png and b/public/images/emoji/google/notepad_spiral.png differ diff --git a/public/images/emoji/google/notes.png b/public/images/emoji/google/notes.png index 27d9592d9..bc1ac3739 100644 Binary files a/public/images/emoji/google/notes.png and b/public/images/emoji/google/notes.png differ diff --git a/public/images/emoji/google/nut_and_bolt.png b/public/images/emoji/google/nut_and_bolt.png index b8e847429..4d77d0412 100644 Binary files a/public/images/emoji/google/nut_and_bolt.png and b/public/images/emoji/google/nut_and_bolt.png differ diff --git a/public/images/emoji/google/o.png b/public/images/emoji/google/o.png index 571dd3202..c22044d12 100644 Binary files a/public/images/emoji/google/o.png and b/public/images/emoji/google/o.png differ diff --git a/public/images/emoji/google/o2.png b/public/images/emoji/google/o2.png index 250873e66..2a028a539 100644 Binary files a/public/images/emoji/google/o2.png and b/public/images/emoji/google/o2.png differ diff --git a/public/images/emoji/google/ocean.png b/public/images/emoji/google/ocean.png index a8a7a161d..7cc7ec7c1 100644 Binary files a/public/images/emoji/google/ocean.png and b/public/images/emoji/google/ocean.png differ diff --git a/public/images/emoji/google/octopus.png b/public/images/emoji/google/octopus.png index c6331d0a8..0b419a5df 100644 Binary files a/public/images/emoji/google/octopus.png and b/public/images/emoji/google/octopus.png differ diff --git a/public/images/emoji/google/oden.png b/public/images/emoji/google/oden.png index 9362e0469..257b23b82 100644 Binary files a/public/images/emoji/google/oden.png and b/public/images/emoji/google/oden.png differ diff --git a/public/images/emoji/google/office.png b/public/images/emoji/google/office.png index 4b030941a..f7d06f7cd 100644 Binary files a/public/images/emoji/google/office.png and b/public/images/emoji/google/office.png differ diff --git a/public/images/emoji/google/oil.png b/public/images/emoji/google/oil.png index c7214f901..8664a9d1c 100644 Binary files a/public/images/emoji/google/oil.png and b/public/images/emoji/google/oil.png differ diff --git a/public/images/emoji/google/oil_drum.png b/public/images/emoji/google/oil_drum.png new file mode 100644 index 000000000..8664a9d1c Binary files /dev/null and b/public/images/emoji/google/oil_drum.png differ diff --git a/public/images/emoji/google/ok.png b/public/images/emoji/google/ok.png index db6d487d4..28482bcb6 100644 Binary files a/public/images/emoji/google/ok.png and b/public/images/emoji/google/ok.png differ diff --git a/public/images/emoji/google/ok_hand.png b/public/images/emoji/google/ok_hand.png index 1f55a4fa4..88f3ce806 100644 Binary files a/public/images/emoji/google/ok_hand.png and b/public/images/emoji/google/ok_hand.png differ diff --git a/public/images/emoji/google/ok_woman.png b/public/images/emoji/google/ok_woman.png index 9cc80b371..5574a33c5 100644 Binary files a/public/images/emoji/google/ok_woman.png and b/public/images/emoji/google/ok_woman.png differ diff --git a/public/images/emoji/google/old_key.png b/public/images/emoji/google/old_key.png new file mode 100644 index 000000000..87121fe10 Binary files /dev/null and b/public/images/emoji/google/old_key.png differ diff --git a/public/images/emoji/google/older_man.png b/public/images/emoji/google/older_man.png index bb9fd9762..3c4c59e1e 100644 Binary files a/public/images/emoji/google/older_man.png and b/public/images/emoji/google/older_man.png differ diff --git a/public/images/emoji/google/older_woman.png b/public/images/emoji/google/older_woman.png index 82412427d..1261df7c0 100644 Binary files a/public/images/emoji/google/older_woman.png and b/public/images/emoji/google/older_woman.png differ diff --git a/public/images/emoji/google/om_symbol.png b/public/images/emoji/google/om_symbol.png index df39c8dec..aa79c5ac7 100644 Binary files a/public/images/emoji/google/om_symbol.png and b/public/images/emoji/google/om_symbol.png differ diff --git a/public/images/emoji/google/on.png b/public/images/emoji/google/on.png index 70a6f85aa..9adad8939 100644 Binary files a/public/images/emoji/google/on.png and b/public/images/emoji/google/on.png differ diff --git a/public/images/emoji/google/oncoming_automobile.png b/public/images/emoji/google/oncoming_automobile.png index 32d754b10..9634051d4 100644 Binary files a/public/images/emoji/google/oncoming_automobile.png and b/public/images/emoji/google/oncoming_automobile.png differ diff --git a/public/images/emoji/google/oncoming_bus.png b/public/images/emoji/google/oncoming_bus.png index 1400a4fa4..b658875d7 100644 Binary files a/public/images/emoji/google/oncoming_bus.png and b/public/images/emoji/google/oncoming_bus.png differ diff --git a/public/images/emoji/google/oncoming_police_car.png b/public/images/emoji/google/oncoming_police_car.png index 2512f628f..3bfba6c3e 100644 Binary files a/public/images/emoji/google/oncoming_police_car.png and b/public/images/emoji/google/oncoming_police_car.png differ diff --git a/public/images/emoji/google/oncoming_taxi.png b/public/images/emoji/google/oncoming_taxi.png index 043ffb495..e8f184132 100644 Binary files a/public/images/emoji/google/oncoming_taxi.png and b/public/images/emoji/google/oncoming_taxi.png differ diff --git a/public/images/emoji/google/one.png b/public/images/emoji/google/one.png index b211ba178..e69de29bb 100644 Binary files a/public/images/emoji/google/one.png and b/public/images/emoji/google/one.png differ diff --git a/public/images/emoji/google/open_book.png b/public/images/emoji/google/open_book.png deleted file mode 100644 index 77ee57a10..000000000 Binary files a/public/images/emoji/google/open_book.png and /dev/null differ diff --git a/public/images/emoji/google/open_file_folder.png b/public/images/emoji/google/open_file_folder.png index ea5fef333..bccc7685a 100644 Binary files a/public/images/emoji/google/open_file_folder.png and b/public/images/emoji/google/open_file_folder.png differ diff --git a/public/images/emoji/google/open_hands.png b/public/images/emoji/google/open_hands.png index b3d92e770..ddc02d4fa 100644 Binary files a/public/images/emoji/google/open_hands.png and b/public/images/emoji/google/open_hands.png differ diff --git a/public/images/emoji/google/open_mouth.png b/public/images/emoji/google/open_mouth.png index eefb14399..780c99af7 100644 Binary files a/public/images/emoji/google/open_mouth.png and b/public/images/emoji/google/open_mouth.png differ diff --git a/public/images/emoji/google/ophiuchus.png b/public/images/emoji/google/ophiuchus.png index aebb3841e..ff36d0490 100644 Binary files a/public/images/emoji/google/ophiuchus.png and b/public/images/emoji/google/ophiuchus.png differ diff --git a/public/images/emoji/google/orange_book.png b/public/images/emoji/google/orange_book.png index 782ebeabd..7f056bfb3 100644 Binary files a/public/images/emoji/google/orange_book.png and b/public/images/emoji/google/orange_book.png differ diff --git a/public/images/emoji/google/orthodox_cross.png b/public/images/emoji/google/orthodox_cross.png index 5355c810f..78f881392 100644 Binary files a/public/images/emoji/google/orthodox_cross.png and b/public/images/emoji/google/orthodox_cross.png differ diff --git a/public/images/emoji/google/outbox_tray.png b/public/images/emoji/google/outbox_tray.png index 5ef9d8791..fe8739808 100644 Binary files a/public/images/emoji/google/outbox_tray.png and b/public/images/emoji/google/outbox_tray.png differ diff --git a/public/images/emoji/google/ox.png b/public/images/emoji/google/ox.png index 8710a80a7..e2f19b275 100644 Binary files a/public/images/emoji/google/ox.png and b/public/images/emoji/google/ox.png differ diff --git a/public/images/emoji/google/package.png b/public/images/emoji/google/package.png index 2b99d42ff..29a44e6f0 100644 Binary files a/public/images/emoji/google/package.png and b/public/images/emoji/google/package.png differ diff --git a/public/images/emoji/google/page_facing_up.png b/public/images/emoji/google/page_facing_up.png index 468abf6e9..4fa7bcf2c 100644 Binary files a/public/images/emoji/google/page_facing_up.png and b/public/images/emoji/google/page_facing_up.png differ diff --git a/public/images/emoji/google/page_with_curl.png b/public/images/emoji/google/page_with_curl.png index f5d5cf16a..4f4bbda42 100644 Binary files a/public/images/emoji/google/page_with_curl.png and b/public/images/emoji/google/page_with_curl.png differ diff --git a/public/images/emoji/google/pager.png b/public/images/emoji/google/pager.png index 2551c82bd..8b81727d4 100644 Binary files a/public/images/emoji/google/pager.png and b/public/images/emoji/google/pager.png differ diff --git a/public/images/emoji/google/paintbrush.png b/public/images/emoji/google/paintbrush.png index e41a4f6b5..81b26f22f 100644 Binary files a/public/images/emoji/google/paintbrush.png and b/public/images/emoji/google/paintbrush.png differ diff --git a/public/images/emoji/google/palm_tree.png b/public/images/emoji/google/palm_tree.png index 9ac9f4574..27dd3ad7c 100644 Binary files a/public/images/emoji/google/palm_tree.png and b/public/images/emoji/google/palm_tree.png differ diff --git a/public/images/emoji/google/panda_face.png b/public/images/emoji/google/panda_face.png index 8663c2148..6d340d44c 100644 Binary files a/public/images/emoji/google/panda_face.png and b/public/images/emoji/google/panda_face.png differ diff --git a/public/images/emoji/google/paperclip.png b/public/images/emoji/google/paperclip.png index f3bc82397..3075e667c 100644 Binary files a/public/images/emoji/google/paperclip.png and b/public/images/emoji/google/paperclip.png differ diff --git a/public/images/emoji/google/paperclips.png b/public/images/emoji/google/paperclips.png index d9d9c5c8a..e34ff5ad2 100644 Binary files a/public/images/emoji/google/paperclips.png and b/public/images/emoji/google/paperclips.png differ diff --git a/public/images/emoji/google/park.png b/public/images/emoji/google/park.png index 468fd0fb8..8867d8de4 100644 Binary files a/public/images/emoji/google/park.png and b/public/images/emoji/google/park.png differ diff --git a/public/images/emoji/google/parking.png b/public/images/emoji/google/parking.png index 968c0ee9e..0c15835e2 100644 Binary files a/public/images/emoji/google/parking.png and b/public/images/emoji/google/parking.png differ diff --git a/public/images/emoji/google/part_alternation_mark.png b/public/images/emoji/google/part_alternation_mark.png index 1a8518188..aca1d93a2 100644 Binary files a/public/images/emoji/google/part_alternation_mark.png and b/public/images/emoji/google/part_alternation_mark.png differ diff --git a/public/images/emoji/google/partly_sunny.png b/public/images/emoji/google/partly_sunny.png index fe3f35f55..4338bb438 100644 Binary files a/public/images/emoji/google/partly_sunny.png and b/public/images/emoji/google/partly_sunny.png differ diff --git a/public/images/emoji/google/passenger_ship.png b/public/images/emoji/google/passenger_ship.png new file mode 100644 index 000000000..b0ce2c2f5 Binary files /dev/null and b/public/images/emoji/google/passenger_ship.png differ diff --git a/public/images/emoji/google/passport_control.png b/public/images/emoji/google/passport_control.png index c2b116076..66b170cc7 100644 Binary files a/public/images/emoji/google/passport_control.png and b/public/images/emoji/google/passport_control.png differ diff --git a/public/images/emoji/google/pause_button.png b/public/images/emoji/google/pause_button.png index 31f4ff528..1be5733ff 100644 Binary files a/public/images/emoji/google/pause_button.png and b/public/images/emoji/google/pause_button.png differ diff --git a/public/images/emoji/google/paw_prints.png b/public/images/emoji/google/paw_prints.png index 3f88932e4..1fdef7609 100644 Binary files a/public/images/emoji/google/paw_prints.png and b/public/images/emoji/google/paw_prints.png differ diff --git a/public/images/emoji/google/peace.png b/public/images/emoji/google/peace.png index d1f1f7a3b..a0128d561 100644 Binary files a/public/images/emoji/google/peace.png and b/public/images/emoji/google/peace.png differ diff --git a/public/images/emoji/google/peace_symbol.png b/public/images/emoji/google/peace_symbol.png new file mode 100644 index 000000000..a0128d561 Binary files /dev/null and b/public/images/emoji/google/peace_symbol.png differ diff --git a/public/images/emoji/google/peach.png b/public/images/emoji/google/peach.png index 2e3fbec7d..0de43c9b3 100644 Binary files a/public/images/emoji/google/peach.png and b/public/images/emoji/google/peach.png differ diff --git a/public/images/emoji/google/pear.png b/public/images/emoji/google/pear.png index 91a93107d..0e76c56f8 100644 Binary files a/public/images/emoji/google/pear.png and b/public/images/emoji/google/pear.png differ diff --git a/public/images/emoji/google/pen_ballpoint.png b/public/images/emoji/google/pen_ballpoint.png index a935dd5ea..11acae0cd 100644 Binary files a/public/images/emoji/google/pen_ballpoint.png and b/public/images/emoji/google/pen_ballpoint.png differ diff --git a/public/images/emoji/google/pen_fountain.png b/public/images/emoji/google/pen_fountain.png index 10c36f30c..4af057ce4 100644 Binary files a/public/images/emoji/google/pen_fountain.png and b/public/images/emoji/google/pen_fountain.png differ diff --git a/public/images/emoji/google/pencil.png b/public/images/emoji/google/pencil.png index e63a874d7..54aa560fe 100644 Binary files a/public/images/emoji/google/pencil.png and b/public/images/emoji/google/pencil.png differ diff --git a/public/images/emoji/google/pencil2.png b/public/images/emoji/google/pencil2.png index 07efab0e8..b907b343c 100644 Binary files a/public/images/emoji/google/pencil2.png and b/public/images/emoji/google/pencil2.png differ diff --git a/public/images/emoji/google/penguin.png b/public/images/emoji/google/penguin.png index 7508ca50a..5a5446d28 100644 Binary files a/public/images/emoji/google/penguin.png and b/public/images/emoji/google/penguin.png differ diff --git a/public/images/emoji/google/pensive.png b/public/images/emoji/google/pensive.png index 0986383c3..abab35337 100644 Binary files a/public/images/emoji/google/pensive.png and b/public/images/emoji/google/pensive.png differ diff --git a/public/images/emoji/google/performing_arts.png b/public/images/emoji/google/performing_arts.png index 89608220d..b99a1132c 100644 Binary files a/public/images/emoji/google/performing_arts.png and b/public/images/emoji/google/performing_arts.png differ diff --git a/public/images/emoji/google/persevere.png b/public/images/emoji/google/persevere.png index 42a47c5a7..9e5042483 100644 Binary files a/public/images/emoji/google/persevere.png and b/public/images/emoji/google/persevere.png differ diff --git a/public/images/emoji/google/person_frowning.png b/public/images/emoji/google/person_frowning.png index b61a30e46..262db0d00 100644 Binary files a/public/images/emoji/google/person_frowning.png and b/public/images/emoji/google/person_frowning.png differ diff --git a/public/images/emoji/google/person_with_ball.png b/public/images/emoji/google/person_with_ball.png new file mode 100644 index 000000000..13cb1dcc7 Binary files /dev/null and b/public/images/emoji/google/person_with_ball.png differ diff --git a/public/images/emoji/google/person_with_blond_hair.png b/public/images/emoji/google/person_with_blond_hair.png index f9b53e697..a06b4e01e 100644 Binary files a/public/images/emoji/google/person_with_blond_hair.png and b/public/images/emoji/google/person_with_blond_hair.png differ diff --git a/public/images/emoji/google/person_with_pouting_face.png b/public/images/emoji/google/person_with_pouting_face.png index 1579c94f4..c0c736f74 100644 Binary files a/public/images/emoji/google/person_with_pouting_face.png and b/public/images/emoji/google/person_with_pouting_face.png differ diff --git a/public/images/emoji/google/phone.png b/public/images/emoji/google/phone.png deleted file mode 100644 index 001b39f86..000000000 Binary files a/public/images/emoji/google/phone.png and /dev/null differ diff --git a/public/images/emoji/google/pick.png b/public/images/emoji/google/pick.png index 8fd6623bb..71711ef1d 100644 Binary files a/public/images/emoji/google/pick.png and b/public/images/emoji/google/pick.png differ diff --git a/public/images/emoji/google/pig.png b/public/images/emoji/google/pig.png index 66e872e81..068633b3a 100644 Binary files a/public/images/emoji/google/pig.png and b/public/images/emoji/google/pig.png differ diff --git a/public/images/emoji/google/pig2.png b/public/images/emoji/google/pig2.png index 0ae0ddd1d..6c6f5ff05 100644 Binary files a/public/images/emoji/google/pig2.png and b/public/images/emoji/google/pig2.png differ diff --git a/public/images/emoji/google/pig_nose.png b/public/images/emoji/google/pig_nose.png index 8e4506f1e..172289f23 100644 Binary files a/public/images/emoji/google/pig_nose.png and b/public/images/emoji/google/pig_nose.png differ diff --git a/public/images/emoji/google/pill.png b/public/images/emoji/google/pill.png index 841d2dd4b..a214b591c 100644 Binary files a/public/images/emoji/google/pill.png and b/public/images/emoji/google/pill.png differ diff --git a/public/images/emoji/google/pineapple.png b/public/images/emoji/google/pineapple.png index c5183efe7..c7bbbed3a 100644 Binary files a/public/images/emoji/google/pineapple.png and b/public/images/emoji/google/pineapple.png differ diff --git a/public/images/emoji/google/ping_pong.png b/public/images/emoji/google/ping_pong.png index c5547d94c..e43ef813b 100644 Binary files a/public/images/emoji/google/ping_pong.png and b/public/images/emoji/google/ping_pong.png differ diff --git a/public/images/emoji/google/pisces.png b/public/images/emoji/google/pisces.png index 4379ecb65..fcac319f3 100644 Binary files a/public/images/emoji/google/pisces.png and b/public/images/emoji/google/pisces.png differ diff --git a/public/images/emoji/google/pizza.png b/public/images/emoji/google/pizza.png index 681189e55..8ef0aed71 100644 Binary files a/public/images/emoji/google/pizza.png and b/public/images/emoji/google/pizza.png differ diff --git a/public/images/emoji/google/place_of_worship.png b/public/images/emoji/google/place_of_worship.png index dc4b77ccc..7783233e9 100644 Binary files a/public/images/emoji/google/place_of_worship.png and b/public/images/emoji/google/place_of_worship.png differ diff --git a/public/images/emoji/google/play_pause.png b/public/images/emoji/google/play_pause.png index ad2c3639a..eb1d4b247 100644 Binary files a/public/images/emoji/google/play_pause.png and b/public/images/emoji/google/play_pause.png differ diff --git a/public/images/emoji/google/point_down.png b/public/images/emoji/google/point_down.png index b950eada7..8d72ac773 100644 Binary files a/public/images/emoji/google/point_down.png and b/public/images/emoji/google/point_down.png differ diff --git a/public/images/emoji/google/point_left.png b/public/images/emoji/google/point_left.png index 8c6ba482b..1705f088c 100644 Binary files a/public/images/emoji/google/point_left.png and b/public/images/emoji/google/point_left.png differ diff --git a/public/images/emoji/google/point_right.png b/public/images/emoji/google/point_right.png index afdc5e775..3d5f77bbd 100644 Binary files a/public/images/emoji/google/point_right.png and b/public/images/emoji/google/point_right.png differ diff --git a/public/images/emoji/google/point_up.png b/public/images/emoji/google/point_up.png index df101422f..4e8393a38 100644 Binary files a/public/images/emoji/google/point_up.png and b/public/images/emoji/google/point_up.png differ diff --git a/public/images/emoji/google/point_up_2.png b/public/images/emoji/google/point_up_2.png index f8587d22e..7bf80c22c 100644 Binary files a/public/images/emoji/google/point_up_2.png and b/public/images/emoji/google/point_up_2.png differ diff --git a/public/images/emoji/google/police_car.png b/public/images/emoji/google/police_car.png index 292df28e8..6f98dcfcc 100644 Binary files a/public/images/emoji/google/police_car.png and b/public/images/emoji/google/police_car.png differ diff --git a/public/images/emoji/google/poo.png b/public/images/emoji/google/poo.png new file mode 100644 index 000000000..87d786696 Binary files /dev/null and b/public/images/emoji/google/poo.png differ diff --git a/public/images/emoji/google/poodle.png b/public/images/emoji/google/poodle.png index dc50fc657..dc4ad2822 100644 Binary files a/public/images/emoji/google/poodle.png and b/public/images/emoji/google/poodle.png differ diff --git a/public/images/emoji/google/poop.png b/public/images/emoji/google/poop.png index a8b5706af..87d786696 100644 Binary files a/public/images/emoji/google/poop.png and b/public/images/emoji/google/poop.png differ diff --git a/public/images/emoji/google/popcorn.png b/public/images/emoji/google/popcorn.png index f71c7d08f..55b9d7dbf 100644 Binary files a/public/images/emoji/google/popcorn.png and b/public/images/emoji/google/popcorn.png differ diff --git a/public/images/emoji/google/post_office.png b/public/images/emoji/google/post_office.png index 18c94c0e3..eae3454c8 100644 Binary files a/public/images/emoji/google/post_office.png and b/public/images/emoji/google/post_office.png differ diff --git a/public/images/emoji/google/postal_horn.png b/public/images/emoji/google/postal_horn.png index 7b1871c4d..ad913668e 100644 Binary files a/public/images/emoji/google/postal_horn.png and b/public/images/emoji/google/postal_horn.png differ diff --git a/public/images/emoji/google/postbox.png b/public/images/emoji/google/postbox.png index de74a3cc1..ae37adf3d 100644 Binary files a/public/images/emoji/google/postbox.png and b/public/images/emoji/google/postbox.png differ diff --git a/public/images/emoji/google/potable_water.png b/public/images/emoji/google/potable_water.png index fa01100ed..2e4b6e90b 100644 Binary files a/public/images/emoji/google/potable_water.png and b/public/images/emoji/google/potable_water.png differ diff --git a/public/images/emoji/google/pouch.png b/public/images/emoji/google/pouch.png index 495a6ca28..2367b38e6 100644 Binary files a/public/images/emoji/google/pouch.png and b/public/images/emoji/google/pouch.png differ diff --git a/public/images/emoji/google/poultry_leg.png b/public/images/emoji/google/poultry_leg.png index f9c58ba77..cf61c8eba 100644 Binary files a/public/images/emoji/google/poultry_leg.png and b/public/images/emoji/google/poultry_leg.png differ diff --git a/public/images/emoji/google/pound.png b/public/images/emoji/google/pound.png index 3abd0abfd..9cb7a8216 100644 Binary files a/public/images/emoji/google/pound.png and b/public/images/emoji/google/pound.png differ diff --git a/public/images/emoji/google/pouting_cat.png b/public/images/emoji/google/pouting_cat.png index df744d0f0..32754df9b 100644 Binary files a/public/images/emoji/google/pouting_cat.png and b/public/images/emoji/google/pouting_cat.png differ diff --git a/public/images/emoji/google/pray.png b/public/images/emoji/google/pray.png index 992aa026d..320b8952b 100644 Binary files a/public/images/emoji/google/pray.png and b/public/images/emoji/google/pray.png differ diff --git a/public/images/emoji/google/prayer_beads.png b/public/images/emoji/google/prayer_beads.png index 8121c40e8..3016620ec 100644 Binary files a/public/images/emoji/google/prayer_beads.png and b/public/images/emoji/google/prayer_beads.png differ diff --git a/public/images/emoji/google/previous_track.png b/public/images/emoji/google/previous_track.png new file mode 100644 index 000000000..0ef5600a4 Binary files /dev/null and b/public/images/emoji/google/previous_track.png differ diff --git a/public/images/emoji/google/princess.png b/public/images/emoji/google/princess.png index d50b017f7..2aecbe96a 100644 Binary files a/public/images/emoji/google/princess.png and b/public/images/emoji/google/princess.png differ diff --git a/public/images/emoji/google/printer.png b/public/images/emoji/google/printer.png index 1bf9570bb..711fd7fbe 100644 Binary files a/public/images/emoji/google/printer.png and b/public/images/emoji/google/printer.png differ diff --git a/public/images/emoji/google/projector.png b/public/images/emoji/google/projector.png index cd06f11a2..b626d6088 100644 Binary files a/public/images/emoji/google/projector.png and b/public/images/emoji/google/projector.png differ diff --git a/public/images/emoji/google/punch.png b/public/images/emoji/google/punch.png index 5d2a306db..f1d247099 100644 Binary files a/public/images/emoji/google/punch.png and b/public/images/emoji/google/punch.png differ diff --git a/public/images/emoji/google/purple_heart.png b/public/images/emoji/google/purple_heart.png index 2169654a5..2aa3a5a10 100644 Binary files a/public/images/emoji/google/purple_heart.png and b/public/images/emoji/google/purple_heart.png differ diff --git a/public/images/emoji/google/purse.png b/public/images/emoji/google/purse.png index 377a74f48..3c1c44845 100644 Binary files a/public/images/emoji/google/purse.png and b/public/images/emoji/google/purse.png differ diff --git a/public/images/emoji/google/pushpin.png b/public/images/emoji/google/pushpin.png index cb5f9295a..dcf40de1f 100644 Binary files a/public/images/emoji/google/pushpin.png and b/public/images/emoji/google/pushpin.png differ diff --git a/public/images/emoji/google/put_litter_in_its_place.png b/public/images/emoji/google/put_litter_in_its_place.png index 58665b555..9736f427f 100644 Binary files a/public/images/emoji/google/put_litter_in_its_place.png and b/public/images/emoji/google/put_litter_in_its_place.png differ diff --git a/public/images/emoji/google/question.png b/public/images/emoji/google/question.png index 7767a4ee0..80938421a 100644 Binary files a/public/images/emoji/google/question.png and b/public/images/emoji/google/question.png differ diff --git a/public/images/emoji/google/rabbit.png b/public/images/emoji/google/rabbit.png index f3e786b56..010246970 100644 Binary files a/public/images/emoji/google/rabbit.png and b/public/images/emoji/google/rabbit.png differ diff --git a/public/images/emoji/google/rabbit2.png b/public/images/emoji/google/rabbit2.png index 709796c73..cbb91dbda 100644 Binary files a/public/images/emoji/google/rabbit2.png and b/public/images/emoji/google/rabbit2.png differ diff --git a/public/images/emoji/google/race_car.png b/public/images/emoji/google/race_car.png index a75107142..c26550d13 100644 Binary files a/public/images/emoji/google/race_car.png and b/public/images/emoji/google/race_car.png differ diff --git a/public/images/emoji/google/racehorse.png b/public/images/emoji/google/racehorse.png index e6a3eaa9f..6a35a4101 100644 Binary files a/public/images/emoji/google/racehorse.png and b/public/images/emoji/google/racehorse.png differ diff --git a/public/images/emoji/google/racing_car.png b/public/images/emoji/google/racing_car.png new file mode 100644 index 000000000..c26550d13 Binary files /dev/null and b/public/images/emoji/google/racing_car.png differ diff --git a/public/images/emoji/google/racing_motorcycle.png b/public/images/emoji/google/racing_motorcycle.png new file mode 100644 index 000000000..59a73872f Binary files /dev/null and b/public/images/emoji/google/racing_motorcycle.png differ diff --git a/public/images/emoji/google/radio.png b/public/images/emoji/google/radio.png index f4962bbf8..d797df04c 100644 Binary files a/public/images/emoji/google/radio.png and b/public/images/emoji/google/radio.png differ diff --git a/public/images/emoji/google/radio_button.png b/public/images/emoji/google/radio_button.png index c292c8e3a..0c767cd80 100644 Binary files a/public/images/emoji/google/radio_button.png and b/public/images/emoji/google/radio_button.png differ diff --git a/public/images/emoji/google/radioactive.png b/public/images/emoji/google/radioactive.png index 01e580ddf..e977189f9 100644 Binary files a/public/images/emoji/google/radioactive.png and b/public/images/emoji/google/radioactive.png differ diff --git a/public/images/emoji/google/radioactive_sign.png b/public/images/emoji/google/radioactive_sign.png new file mode 100644 index 000000000..e977189f9 Binary files /dev/null and b/public/images/emoji/google/radioactive_sign.png differ diff --git a/public/images/emoji/google/rage.png b/public/images/emoji/google/rage.png index fc37e8e44..17ad7b630 100644 Binary files a/public/images/emoji/google/rage.png and b/public/images/emoji/google/rage.png differ diff --git a/public/images/emoji/google/railroad_track.png b/public/images/emoji/google/railroad_track.png new file mode 100644 index 000000000..3a7795e30 Binary files /dev/null and b/public/images/emoji/google/railroad_track.png differ diff --git a/public/images/emoji/google/railway_car.png b/public/images/emoji/google/railway_car.png index 664e763a6..53cecd4db 100644 Binary files a/public/images/emoji/google/railway_car.png and b/public/images/emoji/google/railway_car.png differ diff --git a/public/images/emoji/google/railway_track.png b/public/images/emoji/google/railway_track.png index ceac451e0..3a7795e30 100644 Binary files a/public/images/emoji/google/railway_track.png and b/public/images/emoji/google/railway_track.png differ diff --git a/public/images/emoji/google/rainbow.png b/public/images/emoji/google/rainbow.png index fe230fdd9..e82462177 100644 Binary files a/public/images/emoji/google/rainbow.png and b/public/images/emoji/google/rainbow.png differ diff --git a/public/images/emoji/google/raised_hand.png b/public/images/emoji/google/raised_hand.png index d55e65793..5e035fcfd 100644 Binary files a/public/images/emoji/google/raised_hand.png and b/public/images/emoji/google/raised_hand.png differ diff --git a/public/images/emoji/google/raised_hand_with_fingers_splayed.png b/public/images/emoji/google/raised_hand_with_fingers_splayed.png new file mode 100644 index 000000000..52ded94d5 Binary files /dev/null and b/public/images/emoji/google/raised_hand_with_fingers_splayed.png differ diff --git a/public/images/emoji/google/raised_hand_with_part_between_middle_and_ring_fingers.png b/public/images/emoji/google/raised_hand_with_part_between_middle_and_ring_fingers.png new file mode 100644 index 000000000..7294a38c1 Binary files /dev/null and b/public/images/emoji/google/raised_hand_with_part_between_middle_and_ring_fingers.png differ diff --git a/public/images/emoji/google/raised_hands.png b/public/images/emoji/google/raised_hands.png index 761ff0d20..0533bab40 100644 Binary files a/public/images/emoji/google/raised_hands.png and b/public/images/emoji/google/raised_hands.png differ diff --git a/public/images/emoji/google/raising_hand.png b/public/images/emoji/google/raising_hand.png index cfbf3d441..5cef8797d 100644 Binary files a/public/images/emoji/google/raising_hand.png and b/public/images/emoji/google/raising_hand.png differ diff --git a/public/images/emoji/google/ram.png b/public/images/emoji/google/ram.png index 03fd3184d..6afd11b63 100644 Binary files a/public/images/emoji/google/ram.png and b/public/images/emoji/google/ram.png differ diff --git a/public/images/emoji/google/ramen.png b/public/images/emoji/google/ramen.png index 818fa3894..802587548 100644 Binary files a/public/images/emoji/google/ramen.png and b/public/images/emoji/google/ramen.png differ diff --git a/public/images/emoji/google/rat.png b/public/images/emoji/google/rat.png index 3f4983189..17bc1265d 100644 Binary files a/public/images/emoji/google/rat.png and b/public/images/emoji/google/rat.png differ diff --git a/public/images/emoji/google/record_button.png b/public/images/emoji/google/record_button.png index c532d18d8..d3366b61f 100644 Binary files a/public/images/emoji/google/record_button.png and b/public/images/emoji/google/record_button.png differ diff --git a/public/images/emoji/google/recycle.png b/public/images/emoji/google/recycle.png index 94770f22f..04fe0099e 100644 Binary files a/public/images/emoji/google/recycle.png and b/public/images/emoji/google/recycle.png differ diff --git a/public/images/emoji/google/red_car.png b/public/images/emoji/google/red_car.png index 219bf9923..9163e78ab 100644 Binary files a/public/images/emoji/google/red_car.png and b/public/images/emoji/google/red_car.png differ diff --git a/public/images/emoji/google/red_circle.png b/public/images/emoji/google/red_circle.png index 3293b07fc..62e9d4c62 100644 Binary files a/public/images/emoji/google/red_circle.png and b/public/images/emoji/google/red_circle.png differ diff --git a/public/images/emoji/google/registered.png b/public/images/emoji/google/registered.png index 9dc942e92..5a06e5098 100644 Binary files a/public/images/emoji/google/registered.png and b/public/images/emoji/google/registered.png differ diff --git a/public/images/emoji/google/relaxed.png b/public/images/emoji/google/relaxed.png index 40709476e..fb8c270c8 100644 Binary files a/public/images/emoji/google/relaxed.png and b/public/images/emoji/google/relaxed.png differ diff --git a/public/images/emoji/google/relieved.png b/public/images/emoji/google/relieved.png index 20a6bcc12..16bb59dee 100644 Binary files a/public/images/emoji/google/relieved.png and b/public/images/emoji/google/relieved.png differ diff --git a/public/images/emoji/google/reminder_ribbon.png b/public/images/emoji/google/reminder_ribbon.png index 95930a185..c352436d9 100644 Binary files a/public/images/emoji/google/reminder_ribbon.png and b/public/images/emoji/google/reminder_ribbon.png differ diff --git a/public/images/emoji/google/repeat.png b/public/images/emoji/google/repeat.png index 04e5b5554..288e86d9a 100644 Binary files a/public/images/emoji/google/repeat.png and b/public/images/emoji/google/repeat.png differ diff --git a/public/images/emoji/google/repeat_one.png b/public/images/emoji/google/repeat_one.png index 1cecb3cba..1ba3b8e7c 100644 Binary files a/public/images/emoji/google/repeat_one.png and b/public/images/emoji/google/repeat_one.png differ diff --git a/public/images/emoji/google/restroom.png b/public/images/emoji/google/restroom.png index 12bdf7c95..b8f203dc7 100644 Binary files a/public/images/emoji/google/restroom.png and b/public/images/emoji/google/restroom.png differ diff --git a/public/images/emoji/google/reversed_hand_with_middle_finger_extended.png b/public/images/emoji/google/reversed_hand_with_middle_finger_extended.png new file mode 100644 index 000000000..abeb7fe2f Binary files /dev/null and b/public/images/emoji/google/reversed_hand_with_middle_finger_extended.png differ diff --git a/public/images/emoji/google/revolving_hearts.png b/public/images/emoji/google/revolving_hearts.png index c2287d36c..9ab17fcea 100644 Binary files a/public/images/emoji/google/revolving_hearts.png and b/public/images/emoji/google/revolving_hearts.png differ diff --git a/public/images/emoji/google/rewind.png b/public/images/emoji/google/rewind.png index 7c2130883..405c5916f 100644 Binary files a/public/images/emoji/google/rewind.png and b/public/images/emoji/google/rewind.png differ diff --git a/public/images/emoji/google/ribbon.png b/public/images/emoji/google/ribbon.png index 5fb209fe3..ce6c110c3 100644 Binary files a/public/images/emoji/google/ribbon.png and b/public/images/emoji/google/ribbon.png differ diff --git a/public/images/emoji/google/rice.png b/public/images/emoji/google/rice.png index f045e9ae2..3e4d163d9 100644 Binary files a/public/images/emoji/google/rice.png and b/public/images/emoji/google/rice.png differ diff --git a/public/images/emoji/google/rice_ball.png b/public/images/emoji/google/rice_ball.png index 74546fa94..b069d79b9 100644 Binary files a/public/images/emoji/google/rice_ball.png and b/public/images/emoji/google/rice_ball.png differ diff --git a/public/images/emoji/google/rice_cracker.png b/public/images/emoji/google/rice_cracker.png index 0ca76cd31..c81bea0aa 100644 Binary files a/public/images/emoji/google/rice_cracker.png and b/public/images/emoji/google/rice_cracker.png differ diff --git a/public/images/emoji/google/rice_scene.png b/public/images/emoji/google/rice_scene.png index 328016a30..bde772e63 100644 Binary files a/public/images/emoji/google/rice_scene.png and b/public/images/emoji/google/rice_scene.png differ diff --git a/public/images/emoji/google/right_anger_bubble.png b/public/images/emoji/google/right_anger_bubble.png new file mode 100644 index 000000000..285492d7b Binary files /dev/null and b/public/images/emoji/google/right_anger_bubble.png differ diff --git a/public/images/emoji/google/ring.png b/public/images/emoji/google/ring.png index 12fdf3be3..3a0cebaeb 100644 Binary files a/public/images/emoji/google/ring.png and b/public/images/emoji/google/ring.png differ diff --git a/public/images/emoji/google/robot.png b/public/images/emoji/google/robot.png index e3f676252..fd0adefab 100644 Binary files a/public/images/emoji/google/robot.png and b/public/images/emoji/google/robot.png differ diff --git a/public/images/emoji/google/robot_face.png b/public/images/emoji/google/robot_face.png new file mode 100644 index 000000000..fd0adefab Binary files /dev/null and b/public/images/emoji/google/robot_face.png differ diff --git a/public/images/emoji/google/rocket.png b/public/images/emoji/google/rocket.png index 66b437d0a..77efcb898 100644 Binary files a/public/images/emoji/google/rocket.png and b/public/images/emoji/google/rocket.png differ diff --git a/public/images/emoji/google/rolled_up_newspaper.png b/public/images/emoji/google/rolled_up_newspaper.png new file mode 100644 index 000000000..52095afb2 Binary files /dev/null and b/public/images/emoji/google/rolled_up_newspaper.png differ diff --git a/public/images/emoji/google/roller_coaster.png b/public/images/emoji/google/roller_coaster.png index 1fc70843c..a304d8eb5 100644 Binary files a/public/images/emoji/google/roller_coaster.png and b/public/images/emoji/google/roller_coaster.png differ diff --git a/public/images/emoji/google/rolling_eyes.png b/public/images/emoji/google/rolling_eyes.png index a6660d55a..10153f06a 100644 Binary files a/public/images/emoji/google/rolling_eyes.png and b/public/images/emoji/google/rolling_eyes.png differ diff --git a/public/images/emoji/google/rooster.png b/public/images/emoji/google/rooster.png index 830843467..9c1ec084f 100644 Binary files a/public/images/emoji/google/rooster.png and b/public/images/emoji/google/rooster.png differ diff --git a/public/images/emoji/google/rose.png b/public/images/emoji/google/rose.png index 89ad0585e..f845c3701 100644 Binary files a/public/images/emoji/google/rose.png and b/public/images/emoji/google/rose.png differ diff --git a/public/images/emoji/google/rosette.png b/public/images/emoji/google/rosette.png index dc5b0ff48..2980fcc9d 100644 Binary files a/public/images/emoji/google/rosette.png and b/public/images/emoji/google/rosette.png differ diff --git a/public/images/emoji/google/rotating_light.png b/public/images/emoji/google/rotating_light.png index aa74d8b45..fe8be0422 100644 Binary files a/public/images/emoji/google/rotating_light.png and b/public/images/emoji/google/rotating_light.png differ diff --git a/public/images/emoji/google/round_pushpin.png b/public/images/emoji/google/round_pushpin.png index 1c44fe115..f8c24e200 100644 Binary files a/public/images/emoji/google/round_pushpin.png and b/public/images/emoji/google/round_pushpin.png differ diff --git a/public/images/emoji/google/rowboat.png b/public/images/emoji/google/rowboat.png index 3022bf7c2..095b6c531 100644 Binary files a/public/images/emoji/google/rowboat.png and b/public/images/emoji/google/rowboat.png differ diff --git a/public/images/emoji/google/ru.png b/public/images/emoji/google/ru.png index 548095e29..f85a73fd4 100644 Binary files a/public/images/emoji/google/ru.png and b/public/images/emoji/google/ru.png differ diff --git a/public/images/emoji/google/rugby_football.png b/public/images/emoji/google/rugby_football.png index ee1358189..35be1cf92 100644 Binary files a/public/images/emoji/google/rugby_football.png and b/public/images/emoji/google/rugby_football.png differ diff --git a/public/images/emoji/google/runner.png b/public/images/emoji/google/runner.png index 823d6401a..bd9f81b76 100644 Binary files a/public/images/emoji/google/runner.png and b/public/images/emoji/google/runner.png differ diff --git a/public/images/emoji/google/running.png b/public/images/emoji/google/running.png deleted file mode 100644 index 363d1e038..000000000 Binary files a/public/images/emoji/google/running.png and /dev/null differ diff --git a/public/images/emoji/google/running_shirt_with_sash.png b/public/images/emoji/google/running_shirt_with_sash.png index d1abede73..4d796f10a 100644 Binary files a/public/images/emoji/google/running_shirt_with_sash.png and b/public/images/emoji/google/running_shirt_with_sash.png differ diff --git a/public/images/emoji/google/sa.png b/public/images/emoji/google/sa.png index 71b95b605..3bfb06bff 100644 Binary files a/public/images/emoji/google/sa.png and b/public/images/emoji/google/sa.png differ diff --git a/public/images/emoji/google/sagittarius.png b/public/images/emoji/google/sagittarius.png index e29edf425..e4f3edf68 100644 Binary files a/public/images/emoji/google/sagittarius.png and b/public/images/emoji/google/sagittarius.png differ diff --git a/public/images/emoji/google/sailboat.png b/public/images/emoji/google/sailboat.png index 1cfc12370..dc2ea1ee6 100644 Binary files a/public/images/emoji/google/sailboat.png and b/public/images/emoji/google/sailboat.png differ diff --git a/public/images/emoji/google/sake.png b/public/images/emoji/google/sake.png index 95e1f03a3..e7072a149 100644 Binary files a/public/images/emoji/google/sake.png and b/public/images/emoji/google/sake.png differ diff --git a/public/images/emoji/google/sandal.png b/public/images/emoji/google/sandal.png index 9f4cfeba8..ca7edf36d 100644 Binary files a/public/images/emoji/google/sandal.png and b/public/images/emoji/google/sandal.png differ diff --git a/public/images/emoji/google/santa.png b/public/images/emoji/google/santa.png index e6a5e4a73..10c906203 100644 Binary files a/public/images/emoji/google/santa.png and b/public/images/emoji/google/santa.png differ diff --git a/public/images/emoji/google/satellite.png b/public/images/emoji/google/satellite.png index 84de92d0e..154b1b5c7 100644 Binary files a/public/images/emoji/google/satellite.png and b/public/images/emoji/google/satellite.png differ diff --git a/public/images/emoji/google/satellite_orbital.png b/public/images/emoji/google/satellite_orbital.png index a788d48b5..68fb59dc1 100644 Binary files a/public/images/emoji/google/satellite_orbital.png and b/public/images/emoji/google/satellite_orbital.png differ diff --git a/public/images/emoji/google/satisfied.png b/public/images/emoji/google/satisfied.png index 2b103d445..04d29aa6a 100644 Binary files a/public/images/emoji/google/satisfied.png and b/public/images/emoji/google/satisfied.png differ diff --git a/public/images/emoji/google/saxophone.png b/public/images/emoji/google/saxophone.png index 8b26176a5..7aee71723 100644 Binary files a/public/images/emoji/google/saxophone.png and b/public/images/emoji/google/saxophone.png differ diff --git a/public/images/emoji/google/scales.png b/public/images/emoji/google/scales.png index dea79c412..5fa43f378 100644 Binary files a/public/images/emoji/google/scales.png and b/public/images/emoji/google/scales.png differ diff --git a/public/images/emoji/google/school.png b/public/images/emoji/google/school.png index 15eb1d600..752473912 100644 Binary files a/public/images/emoji/google/school.png and b/public/images/emoji/google/school.png differ diff --git a/public/images/emoji/google/school_satchel.png b/public/images/emoji/google/school_satchel.png index 6812b8816..c9f160564 100644 Binary files a/public/images/emoji/google/school_satchel.png and b/public/images/emoji/google/school_satchel.png differ diff --git a/public/images/emoji/google/scissors.png b/public/images/emoji/google/scissors.png index d3357076f..bf9a56aef 100644 Binary files a/public/images/emoji/google/scissors.png and b/public/images/emoji/google/scissors.png differ diff --git a/public/images/emoji/google/scorpion.png b/public/images/emoji/google/scorpion.png index d8ac29bdf..390e62321 100644 Binary files a/public/images/emoji/google/scorpion.png and b/public/images/emoji/google/scorpion.png differ diff --git a/public/images/emoji/google/scorpius.png b/public/images/emoji/google/scorpius.png index 7eee6b0f2..a9a9db203 100644 Binary files a/public/images/emoji/google/scorpius.png and b/public/images/emoji/google/scorpius.png differ diff --git a/public/images/emoji/google/scream.png b/public/images/emoji/google/scream.png index cb6c289f1..81b8c47ab 100644 Binary files a/public/images/emoji/google/scream.png and b/public/images/emoji/google/scream.png differ diff --git a/public/images/emoji/google/scream_cat.png b/public/images/emoji/google/scream_cat.png index 887035958..c0df8e7b3 100644 Binary files a/public/images/emoji/google/scream_cat.png and b/public/images/emoji/google/scream_cat.png differ diff --git a/public/images/emoji/google/scroll.png b/public/images/emoji/google/scroll.png index 6abd6ab9b..1e46a06c6 100644 Binary files a/public/images/emoji/google/scroll.png and b/public/images/emoji/google/scroll.png differ diff --git a/public/images/emoji/google/seat.png b/public/images/emoji/google/seat.png index 0c77cc4ce..958c30e9e 100644 Binary files a/public/images/emoji/google/seat.png and b/public/images/emoji/google/seat.png differ diff --git a/public/images/emoji/google/secret.png b/public/images/emoji/google/secret.png index 97feace14..1bccee149 100644 Binary files a/public/images/emoji/google/secret.png and b/public/images/emoji/google/secret.png differ diff --git a/public/images/emoji/google/see_no_evil.png b/public/images/emoji/google/see_no_evil.png index 27fe6e1b6..2851bccdb 100644 Binary files a/public/images/emoji/google/see_no_evil.png and b/public/images/emoji/google/see_no_evil.png differ diff --git a/public/images/emoji/google/seedling.png b/public/images/emoji/google/seedling.png index 742a25584..6e4dda1ae 100644 Binary files a/public/images/emoji/google/seedling.png and b/public/images/emoji/google/seedling.png differ diff --git a/public/images/emoji/google/seven.png b/public/images/emoji/google/seven.png index 881f256b0..e69de29bb 100644 Binary files a/public/images/emoji/google/seven.png and b/public/images/emoji/google/seven.png differ diff --git a/public/images/emoji/google/shamrock.png b/public/images/emoji/google/shamrock.png index e5c458477..2b7f34d0e 100644 Binary files a/public/images/emoji/google/shamrock.png and b/public/images/emoji/google/shamrock.png differ diff --git a/public/images/emoji/google/shaved_ice.png b/public/images/emoji/google/shaved_ice.png index 81a0917f2..9a0d04f49 100644 Binary files a/public/images/emoji/google/shaved_ice.png and b/public/images/emoji/google/shaved_ice.png differ diff --git a/public/images/emoji/google/sheep.png b/public/images/emoji/google/sheep.png index d51a3094a..fdcd26c8b 100644 Binary files a/public/images/emoji/google/sheep.png and b/public/images/emoji/google/sheep.png differ diff --git a/public/images/emoji/google/shell.png b/public/images/emoji/google/shell.png index 2fb016b7b..a6f2b2685 100644 Binary files a/public/images/emoji/google/shell.png and b/public/images/emoji/google/shell.png differ diff --git a/public/images/emoji/google/shield.png b/public/images/emoji/google/shield.png index 8a69eef13..87d0f23c7 100644 Binary files a/public/images/emoji/google/shield.png and b/public/images/emoji/google/shield.png differ diff --git a/public/images/emoji/google/shinto_shrine.png b/public/images/emoji/google/shinto_shrine.png index bd55e6fb8..ffa65cb67 100644 Binary files a/public/images/emoji/google/shinto_shrine.png and b/public/images/emoji/google/shinto_shrine.png differ diff --git a/public/images/emoji/google/ship.png b/public/images/emoji/google/ship.png index de974ca63..6cab94e37 100644 Binary files a/public/images/emoji/google/ship.png and b/public/images/emoji/google/ship.png differ diff --git a/public/images/emoji/google/shirt.png b/public/images/emoji/google/shirt.png index 051cec306..18fed8096 100644 Binary files a/public/images/emoji/google/shirt.png and b/public/images/emoji/google/shirt.png differ diff --git a/public/images/emoji/google/shit.png b/public/images/emoji/google/shit.png index 0ecd8e288..87d786696 100644 Binary files a/public/images/emoji/google/shit.png and b/public/images/emoji/google/shit.png differ diff --git a/public/images/emoji/google/shoe.png b/public/images/emoji/google/shoe.png deleted file mode 100644 index da65794f8..000000000 Binary files a/public/images/emoji/google/shoe.png and /dev/null differ diff --git a/public/images/emoji/google/shopping_bags.png b/public/images/emoji/google/shopping_bags.png index cff8a39cb..ad7ba7e24 100644 Binary files a/public/images/emoji/google/shopping_bags.png and b/public/images/emoji/google/shopping_bags.png differ diff --git a/public/images/emoji/google/shower.png b/public/images/emoji/google/shower.png index 72cf68084..6db1dda0e 100644 Binary files a/public/images/emoji/google/shower.png and b/public/images/emoji/google/shower.png differ diff --git a/public/images/emoji/google/sign_of_the_horns.png b/public/images/emoji/google/sign_of_the_horns.png new file mode 100644 index 000000000..d8d0c23c3 Binary files /dev/null and b/public/images/emoji/google/sign_of_the_horns.png differ diff --git a/public/images/emoji/google/signal_strength.png b/public/images/emoji/google/signal_strength.png index 9bc5ef931..2940d4ae7 100644 Binary files a/public/images/emoji/google/signal_strength.png and b/public/images/emoji/google/signal_strength.png differ diff --git a/public/images/emoji/google/six.png b/public/images/emoji/google/six.png index 5d3806726..e69de29bb 100644 Binary files a/public/images/emoji/google/six.png and b/public/images/emoji/google/six.png differ diff --git a/public/images/emoji/google/six_pointed_star.png b/public/images/emoji/google/six_pointed_star.png index 3e4da5eb8..2a4d9ca7f 100644 Binary files a/public/images/emoji/google/six_pointed_star.png and b/public/images/emoji/google/six_pointed_star.png differ diff --git a/public/images/emoji/google/skeleton.png b/public/images/emoji/google/skeleton.png new file mode 100644 index 000000000..89aaa6cbb Binary files /dev/null and b/public/images/emoji/google/skeleton.png differ diff --git a/public/images/emoji/google/ski.png b/public/images/emoji/google/ski.png index c94853155..76d2b0362 100644 Binary files a/public/images/emoji/google/ski.png and b/public/images/emoji/google/ski.png differ diff --git a/public/images/emoji/google/skier.png b/public/images/emoji/google/skier.png index 9407ff349..091956a13 100644 Binary files a/public/images/emoji/google/skier.png and b/public/images/emoji/google/skier.png differ diff --git a/public/images/emoji/google/skull.png b/public/images/emoji/google/skull.png index f29d82928..89aaa6cbb 100644 Binary files a/public/images/emoji/google/skull.png and b/public/images/emoji/google/skull.png differ diff --git a/public/images/emoji/google/skull_and_crossbones.png b/public/images/emoji/google/skull_and_crossbones.png new file mode 100644 index 000000000..1087099c6 Binary files /dev/null and b/public/images/emoji/google/skull_and_crossbones.png differ diff --git a/public/images/emoji/google/skull_crossbones.png b/public/images/emoji/google/skull_crossbones.png index f3f0d910d..1087099c6 100644 Binary files a/public/images/emoji/google/skull_crossbones.png and b/public/images/emoji/google/skull_crossbones.png differ diff --git a/public/images/emoji/google/sleeping.png b/public/images/emoji/google/sleeping.png index ac834e3bf..d9ec0d7d8 100644 Binary files a/public/images/emoji/google/sleeping.png and b/public/images/emoji/google/sleeping.png differ diff --git a/public/images/emoji/google/sleeping_accommodation.png b/public/images/emoji/google/sleeping_accommodation.png index c6344e1f8..e37df48d0 100644 Binary files a/public/images/emoji/google/sleeping_accommodation.png and b/public/images/emoji/google/sleeping_accommodation.png differ diff --git a/public/images/emoji/google/sleepy.png b/public/images/emoji/google/sleepy.png index 8f2cc113a..34b978615 100644 Binary files a/public/images/emoji/google/sleepy.png and b/public/images/emoji/google/sleepy.png differ diff --git a/public/images/emoji/google/sleuth_or_spy.png b/public/images/emoji/google/sleuth_or_spy.png new file mode 100644 index 000000000..b76dce309 Binary files /dev/null and b/public/images/emoji/google/sleuth_or_spy.png differ diff --git a/public/images/emoji/google/slight_frown.png b/public/images/emoji/google/slight_frown.png index 56816d495..938547aed 100644 Binary files a/public/images/emoji/google/slight_frown.png and b/public/images/emoji/google/slight_frown.png differ diff --git a/public/images/emoji/google/slight_smile.png b/public/images/emoji/google/slight_smile.png index 7fbc5699e..c8b0a25ea 100644 Binary files a/public/images/emoji/google/slight_smile.png and b/public/images/emoji/google/slight_smile.png differ diff --git a/public/images/emoji/google/slightly_frowning_face.png b/public/images/emoji/google/slightly_frowning_face.png new file mode 100644 index 000000000..938547aed Binary files /dev/null and b/public/images/emoji/google/slightly_frowning_face.png differ diff --git a/public/images/emoji/google/slightly_smiling.png b/public/images/emoji/google/slightly_smiling.png deleted file mode 100644 index 6d60982f5..000000000 Binary files a/public/images/emoji/google/slightly_smiling.png and /dev/null differ diff --git a/public/images/emoji/google/slightly_smiling_face.png b/public/images/emoji/google/slightly_smiling_face.png new file mode 100644 index 000000000..c8b0a25ea Binary files /dev/null and b/public/images/emoji/google/slightly_smiling_face.png differ diff --git a/public/images/emoji/google/slot_machine.png b/public/images/emoji/google/slot_machine.png index 9ccc3f445..42da9edb7 100644 Binary files a/public/images/emoji/google/slot_machine.png and b/public/images/emoji/google/slot_machine.png differ diff --git a/public/images/emoji/google/small_airplane.png b/public/images/emoji/google/small_airplane.png new file mode 100644 index 000000000..4bd5d32ed Binary files /dev/null and b/public/images/emoji/google/small_airplane.png differ diff --git a/public/images/emoji/google/small_blue_diamond.png b/public/images/emoji/google/small_blue_diamond.png index 508814dd7..5b7e4a70d 100644 Binary files a/public/images/emoji/google/small_blue_diamond.png and b/public/images/emoji/google/small_blue_diamond.png differ diff --git a/public/images/emoji/google/small_orange_diamond.png b/public/images/emoji/google/small_orange_diamond.png index 5ca29abfa..202d6e0bd 100644 Binary files a/public/images/emoji/google/small_orange_diamond.png and b/public/images/emoji/google/small_orange_diamond.png differ diff --git a/public/images/emoji/google/small_red_triangle.png b/public/images/emoji/google/small_red_triangle.png index d79c7b055..3223603df 100644 Binary files a/public/images/emoji/google/small_red_triangle.png and b/public/images/emoji/google/small_red_triangle.png differ diff --git a/public/images/emoji/google/small_red_triangle_down.png b/public/images/emoji/google/small_red_triangle_down.png index e7f2bbb56..407a5e48c 100644 Binary files a/public/images/emoji/google/small_red_triangle_down.png and b/public/images/emoji/google/small_red_triangle_down.png differ diff --git a/public/images/emoji/google/smile.png b/public/images/emoji/google/smile.png index 72a201593..cac80903e 100644 Binary files a/public/images/emoji/google/smile.png and b/public/images/emoji/google/smile.png differ diff --git a/public/images/emoji/google/smile_cat.png b/public/images/emoji/google/smile_cat.png index 892b57fa7..f4d72befa 100644 Binary files a/public/images/emoji/google/smile_cat.png and b/public/images/emoji/google/smile_cat.png differ diff --git a/public/images/emoji/google/smiley.png b/public/images/emoji/google/smiley.png index f918220d8..8e65729a6 100644 Binary files a/public/images/emoji/google/smiley.png and b/public/images/emoji/google/smiley.png differ diff --git a/public/images/emoji/google/smiley_cat.png b/public/images/emoji/google/smiley_cat.png index 19bd40d9a..7243c2cb5 100644 Binary files a/public/images/emoji/google/smiley_cat.png and b/public/images/emoji/google/smiley_cat.png differ diff --git a/public/images/emoji/google/smiling_imp.png b/public/images/emoji/google/smiling_imp.png index 1efd62d66..2b4ac8d7f 100644 Binary files a/public/images/emoji/google/smiling_imp.png and b/public/images/emoji/google/smiling_imp.png differ diff --git a/public/images/emoji/google/smirk.png b/public/images/emoji/google/smirk.png index d5d0cfb98..a55266337 100644 Binary files a/public/images/emoji/google/smirk.png and b/public/images/emoji/google/smirk.png differ diff --git a/public/images/emoji/google/smirk_cat.png b/public/images/emoji/google/smirk_cat.png index a56009a73..0ad3ed0be 100644 Binary files a/public/images/emoji/google/smirk_cat.png and b/public/images/emoji/google/smirk_cat.png differ diff --git a/public/images/emoji/google/smoking.png b/public/images/emoji/google/smoking.png index 3f35ba10a..106adce9c 100644 Binary files a/public/images/emoji/google/smoking.png and b/public/images/emoji/google/smoking.png differ diff --git a/public/images/emoji/google/snail.png b/public/images/emoji/google/snail.png index b150526c3..7014ab0c8 100644 Binary files a/public/images/emoji/google/snail.png and b/public/images/emoji/google/snail.png differ diff --git a/public/images/emoji/google/snake.png b/public/images/emoji/google/snake.png index be5116ef3..197beb5f9 100644 Binary files a/public/images/emoji/google/snake.png and b/public/images/emoji/google/snake.png differ diff --git a/public/images/emoji/google/snow_capped_mountain.png b/public/images/emoji/google/snow_capped_mountain.png new file mode 100644 index 000000000..edf4cc128 Binary files /dev/null and b/public/images/emoji/google/snow_capped_mountain.png differ diff --git a/public/images/emoji/google/snowboarder.png b/public/images/emoji/google/snowboarder.png index e40ed37a8..ab3ca56d3 100644 Binary files a/public/images/emoji/google/snowboarder.png and b/public/images/emoji/google/snowboarder.png differ diff --git a/public/images/emoji/google/snowflake.png b/public/images/emoji/google/snowflake.png index a8f49d5d7..731643022 100644 Binary files a/public/images/emoji/google/snowflake.png and b/public/images/emoji/google/snowflake.png differ diff --git a/public/images/emoji/google/snowman.png b/public/images/emoji/google/snowman.png index 19d2e872d..00183b160 100644 Binary files a/public/images/emoji/google/snowman.png and b/public/images/emoji/google/snowman.png differ diff --git a/public/images/emoji/google/snowman2.png b/public/images/emoji/google/snowman2.png index 5e1b3c328..4355d9f0d 100644 Binary files a/public/images/emoji/google/snowman2.png and b/public/images/emoji/google/snowman2.png differ diff --git a/public/images/emoji/google/sob.png b/public/images/emoji/google/sob.png index b1c70b329..6a09064f5 100644 Binary files a/public/images/emoji/google/sob.png and b/public/images/emoji/google/sob.png differ diff --git a/public/images/emoji/google/soccer.png b/public/images/emoji/google/soccer.png index 0c755e8e2..df7c5c761 100644 Binary files a/public/images/emoji/google/soccer.png and b/public/images/emoji/google/soccer.png differ diff --git a/public/images/emoji/google/soon.png b/public/images/emoji/google/soon.png index ae202f17d..bd0f84f54 100644 Binary files a/public/images/emoji/google/soon.png and b/public/images/emoji/google/soon.png differ diff --git a/public/images/emoji/google/sos.png b/public/images/emoji/google/sos.png index b36ca3af7..5bbb14701 100644 Binary files a/public/images/emoji/google/sos.png and b/public/images/emoji/google/sos.png differ diff --git a/public/images/emoji/google/sound.png b/public/images/emoji/google/sound.png index 29cd8898d..8f71ff5db 100644 Binary files a/public/images/emoji/google/sound.png and b/public/images/emoji/google/sound.png differ diff --git a/public/images/emoji/google/space_invader.png b/public/images/emoji/google/space_invader.png index 1340a639b..f21cc0870 100644 Binary files a/public/images/emoji/google/space_invader.png and b/public/images/emoji/google/space_invader.png differ diff --git a/public/images/emoji/google/spades.png b/public/images/emoji/google/spades.png index 235a88740..a14062026 100644 Binary files a/public/images/emoji/google/spades.png and b/public/images/emoji/google/spades.png differ diff --git a/public/images/emoji/google/spaghetti.png b/public/images/emoji/google/spaghetti.png index 5c8c7d582..997ea8acb 100644 Binary files a/public/images/emoji/google/spaghetti.png and b/public/images/emoji/google/spaghetti.png differ diff --git a/public/images/emoji/google/sparkle.png b/public/images/emoji/google/sparkle.png index 5857d9618..361cedceb 100644 Binary files a/public/images/emoji/google/sparkle.png and b/public/images/emoji/google/sparkle.png differ diff --git a/public/images/emoji/google/sparkler.png b/public/images/emoji/google/sparkler.png index 6d8ed0835..530c91b32 100644 Binary files a/public/images/emoji/google/sparkler.png and b/public/images/emoji/google/sparkler.png differ diff --git a/public/images/emoji/google/sparkles.png b/public/images/emoji/google/sparkles.png index 1b232a0c2..de1353816 100644 Binary files a/public/images/emoji/google/sparkles.png and b/public/images/emoji/google/sparkles.png differ diff --git a/public/images/emoji/google/sparkling_heart.png b/public/images/emoji/google/sparkling_heart.png index 532a3caa6..1668b2ee4 100644 Binary files a/public/images/emoji/google/sparkling_heart.png and b/public/images/emoji/google/sparkling_heart.png differ diff --git a/public/images/emoji/google/speak_no_evil.png b/public/images/emoji/google/speak_no_evil.png index 887d3c049..25251d6a3 100644 Binary files a/public/images/emoji/google/speak_no_evil.png and b/public/images/emoji/google/speak_no_evil.png differ diff --git a/public/images/emoji/google/speaker.png b/public/images/emoji/google/speaker.png index 64667a8f2..9a7704da0 100644 Binary files a/public/images/emoji/google/speaker.png and b/public/images/emoji/google/speaker.png differ diff --git a/public/images/emoji/google/speaking_head.png b/public/images/emoji/google/speaking_head.png index 3df8c91a9..9345acae4 100644 Binary files a/public/images/emoji/google/speaking_head.png and b/public/images/emoji/google/speaking_head.png differ diff --git a/public/images/emoji/google/speaking_head_in_silhouette.png b/public/images/emoji/google/speaking_head_in_silhouette.png new file mode 100644 index 000000000..9345acae4 Binary files /dev/null and b/public/images/emoji/google/speaking_head_in_silhouette.png differ diff --git a/public/images/emoji/google/speech_balloon.png b/public/images/emoji/google/speech_balloon.png index 154f295ba..3f01b3093 100644 Binary files a/public/images/emoji/google/speech_balloon.png and b/public/images/emoji/google/speech_balloon.png differ diff --git a/public/images/emoji/google/speedboat.png b/public/images/emoji/google/speedboat.png index 7b0f82577..4c6b86d8a 100644 Binary files a/public/images/emoji/google/speedboat.png and b/public/images/emoji/google/speedboat.png differ diff --git a/public/images/emoji/google/spider.png b/public/images/emoji/google/spider.png index 6441b957f..06da53a73 100644 Binary files a/public/images/emoji/google/spider.png and b/public/images/emoji/google/spider.png differ diff --git a/public/images/emoji/google/spider_web.png b/public/images/emoji/google/spider_web.png index 89dff1e57..163d2c89a 100644 Binary files a/public/images/emoji/google/spider_web.png and b/public/images/emoji/google/spider_web.png differ diff --git a/public/images/emoji/google/spiral_calendar_pad.png b/public/images/emoji/google/spiral_calendar_pad.png new file mode 100644 index 000000000..4f13ffb5f Binary files /dev/null and b/public/images/emoji/google/spiral_calendar_pad.png differ diff --git a/public/images/emoji/google/spiral_note_pad.png b/public/images/emoji/google/spiral_note_pad.png new file mode 100644 index 000000000..eb6853649 Binary files /dev/null and b/public/images/emoji/google/spiral_note_pad.png differ diff --git a/public/images/emoji/google/sports_medal.png b/public/images/emoji/google/sports_medal.png new file mode 100644 index 000000000..165827b17 Binary files /dev/null and b/public/images/emoji/google/sports_medal.png differ diff --git a/public/images/emoji/google/spy.png b/public/images/emoji/google/spy.png index fc5d8db4a..b76dce309 100644 Binary files a/public/images/emoji/google/spy.png and b/public/images/emoji/google/spy.png differ diff --git a/public/images/emoji/google/stadium.png b/public/images/emoji/google/stadium.png index 55151d4b4..4622a5924 100644 Binary files a/public/images/emoji/google/stadium.png and b/public/images/emoji/google/stadium.png differ diff --git a/public/images/emoji/google/star.png b/public/images/emoji/google/star.png index 24cd3d17e..43d25e24b 100644 Binary files a/public/images/emoji/google/star.png and b/public/images/emoji/google/star.png differ diff --git a/public/images/emoji/google/star2.png b/public/images/emoji/google/star2.png index 80932575b..791fa6a67 100644 Binary files a/public/images/emoji/google/star2.png and b/public/images/emoji/google/star2.png differ diff --git a/public/images/emoji/google/star_and_crescent.png b/public/images/emoji/google/star_and_crescent.png index d653df867..cac758b4f 100644 Binary files a/public/images/emoji/google/star_and_crescent.png and b/public/images/emoji/google/star_and_crescent.png differ diff --git a/public/images/emoji/google/star_of_david.png b/public/images/emoji/google/star_of_david.png index 7109e573e..fcfaad6d0 100644 Binary files a/public/images/emoji/google/star_of_david.png and b/public/images/emoji/google/star_of_david.png differ diff --git a/public/images/emoji/google/stars.png b/public/images/emoji/google/stars.png index 893c56950..c78acc9a3 100644 Binary files a/public/images/emoji/google/stars.png and b/public/images/emoji/google/stars.png differ diff --git a/public/images/emoji/google/station.png b/public/images/emoji/google/station.png index 706f1609b..06ca9379d 100644 Binary files a/public/images/emoji/google/station.png and b/public/images/emoji/google/station.png differ diff --git a/public/images/emoji/google/statue_of_liberty.png b/public/images/emoji/google/statue_of_liberty.png index a381be3c7..f1e1ee698 100644 Binary files a/public/images/emoji/google/statue_of_liberty.png and b/public/images/emoji/google/statue_of_liberty.png differ diff --git a/public/images/emoji/google/steam_locomotive.png b/public/images/emoji/google/steam_locomotive.png index 9a4cdb373..2963435ee 100644 Binary files a/public/images/emoji/google/steam_locomotive.png and b/public/images/emoji/google/steam_locomotive.png differ diff --git a/public/images/emoji/google/stew.png b/public/images/emoji/google/stew.png index 81fee11ae..32435295c 100644 Binary files a/public/images/emoji/google/stew.png and b/public/images/emoji/google/stew.png differ diff --git a/public/images/emoji/google/stop_button.png b/public/images/emoji/google/stop_button.png index cd00a6dd9..234329ee0 100644 Binary files a/public/images/emoji/google/stop_button.png and b/public/images/emoji/google/stop_button.png differ diff --git a/public/images/emoji/google/stopwatch.png b/public/images/emoji/google/stopwatch.png index 10e6d9201..7bed0afec 100644 Binary files a/public/images/emoji/google/stopwatch.png and b/public/images/emoji/google/stopwatch.png differ diff --git a/public/images/emoji/google/straight_ruler.png b/public/images/emoji/google/straight_ruler.png index 7b639013e..b9223766a 100644 Binary files a/public/images/emoji/google/straight_ruler.png and b/public/images/emoji/google/straight_ruler.png differ diff --git a/public/images/emoji/google/strawberry.png b/public/images/emoji/google/strawberry.png index d5719c482..c48630c28 100644 Binary files a/public/images/emoji/google/strawberry.png and b/public/images/emoji/google/strawberry.png differ diff --git a/public/images/emoji/google/stuck_out_tongue.png b/public/images/emoji/google/stuck_out_tongue.png index 86ba2f554..88cfa38ee 100644 Binary files a/public/images/emoji/google/stuck_out_tongue.png and b/public/images/emoji/google/stuck_out_tongue.png differ diff --git a/public/images/emoji/google/stuck_out_tongue_closed_eyes.png b/public/images/emoji/google/stuck_out_tongue_closed_eyes.png index 387154625..c70ce9327 100644 Binary files a/public/images/emoji/google/stuck_out_tongue_closed_eyes.png and b/public/images/emoji/google/stuck_out_tongue_closed_eyes.png differ diff --git a/public/images/emoji/google/stuck_out_tongue_winking_eye.png b/public/images/emoji/google/stuck_out_tongue_winking_eye.png index 079c66f46..98febc1f2 100644 Binary files a/public/images/emoji/google/stuck_out_tongue_winking_eye.png and b/public/images/emoji/google/stuck_out_tongue_winking_eye.png differ diff --git a/public/images/emoji/google/studio_microphone.png b/public/images/emoji/google/studio_microphone.png new file mode 100644 index 000000000..bb2539903 Binary files /dev/null and b/public/images/emoji/google/studio_microphone.png differ diff --git a/public/images/emoji/google/sun_with_face.png b/public/images/emoji/google/sun_with_face.png index ac7a4e731..9471e1cf4 100644 Binary files a/public/images/emoji/google/sun_with_face.png and b/public/images/emoji/google/sun_with_face.png differ diff --git a/public/images/emoji/google/sunflower.png b/public/images/emoji/google/sunflower.png index a79b25c87..1ffc2c9cf 100644 Binary files a/public/images/emoji/google/sunflower.png and b/public/images/emoji/google/sunflower.png differ diff --git a/public/images/emoji/google/sunglasses.png b/public/images/emoji/google/sunglasses.png index e9724a3a2..fdecf03f7 100644 Binary files a/public/images/emoji/google/sunglasses.png and b/public/images/emoji/google/sunglasses.png differ diff --git a/public/images/emoji/google/sunny.png b/public/images/emoji/google/sunny.png index c9effb9bd..b749ef2ee 100644 Binary files a/public/images/emoji/google/sunny.png and b/public/images/emoji/google/sunny.png differ diff --git a/public/images/emoji/google/sunrise.png b/public/images/emoji/google/sunrise.png index 3400b8b12..dbad3698a 100644 Binary files a/public/images/emoji/google/sunrise.png and b/public/images/emoji/google/sunrise.png differ diff --git a/public/images/emoji/google/sunrise_over_mountains.png b/public/images/emoji/google/sunrise_over_mountains.png index b65b7304e..6e9ec1b00 100644 Binary files a/public/images/emoji/google/sunrise_over_mountains.png and b/public/images/emoji/google/sunrise_over_mountains.png differ diff --git a/public/images/emoji/google/surfer.png b/public/images/emoji/google/surfer.png index dc95d6300..f5e6d0425 100644 Binary files a/public/images/emoji/google/surfer.png and b/public/images/emoji/google/surfer.png differ diff --git a/public/images/emoji/google/sushi.png b/public/images/emoji/google/sushi.png index 6c945b5ed..7088a3245 100644 Binary files a/public/images/emoji/google/sushi.png and b/public/images/emoji/google/sushi.png differ diff --git a/public/images/emoji/google/suspension_railway.png b/public/images/emoji/google/suspension_railway.png index 2fcab0e0d..61a177788 100644 Binary files a/public/images/emoji/google/suspension_railway.png and b/public/images/emoji/google/suspension_railway.png differ diff --git a/public/images/emoji/google/sweat.png b/public/images/emoji/google/sweat.png index 4ab69a17e..cf08e685e 100644 Binary files a/public/images/emoji/google/sweat.png and b/public/images/emoji/google/sweat.png differ diff --git a/public/images/emoji/google/sweat_drops.png b/public/images/emoji/google/sweat_drops.png index 431f430af..0f439023b 100644 Binary files a/public/images/emoji/google/sweat_drops.png and b/public/images/emoji/google/sweat_drops.png differ diff --git a/public/images/emoji/google/sweat_smile.png b/public/images/emoji/google/sweat_smile.png index c4b0bc9e6..b9ece4b93 100644 Binary files a/public/images/emoji/google/sweat_smile.png and b/public/images/emoji/google/sweat_smile.png differ diff --git a/public/images/emoji/google/sweet_potato.png b/public/images/emoji/google/sweet_potato.png index a3ebfa33b..6657f153b 100644 Binary files a/public/images/emoji/google/sweet_potato.png and b/public/images/emoji/google/sweet_potato.png differ diff --git a/public/images/emoji/google/swimmer.png b/public/images/emoji/google/swimmer.png index c873f8819..cef0659d3 100644 Binary files a/public/images/emoji/google/swimmer.png and b/public/images/emoji/google/swimmer.png differ diff --git a/public/images/emoji/google/symbols.png b/public/images/emoji/google/symbols.png index 420ad7e40..03905490d 100644 Binary files a/public/images/emoji/google/symbols.png and b/public/images/emoji/google/symbols.png differ diff --git a/public/images/emoji/google/synagogue.png b/public/images/emoji/google/synagogue.png index 9ab7aac97..e24477509 100644 Binary files a/public/images/emoji/google/synagogue.png and b/public/images/emoji/google/synagogue.png differ diff --git a/public/images/emoji/google/syringe.png b/public/images/emoji/google/syringe.png index a396d75dd..9dcffbb44 100644 Binary files a/public/images/emoji/google/syringe.png and b/public/images/emoji/google/syringe.png differ diff --git a/public/images/emoji/google/table_tennis.png b/public/images/emoji/google/table_tennis.png new file mode 100644 index 000000000..e43ef813b Binary files /dev/null and b/public/images/emoji/google/table_tennis.png differ diff --git a/public/images/emoji/google/taco.png b/public/images/emoji/google/taco.png index 880e316f8..d1234bb4b 100644 Binary files a/public/images/emoji/google/taco.png and b/public/images/emoji/google/taco.png differ diff --git a/public/images/emoji/google/tada.png b/public/images/emoji/google/tada.png index d3351387f..ba7765bc5 100644 Binary files a/public/images/emoji/google/tada.png and b/public/images/emoji/google/tada.png differ diff --git a/public/images/emoji/google/tanabata_tree.png b/public/images/emoji/google/tanabata_tree.png index ab7876a7f..ff84cf399 100644 Binary files a/public/images/emoji/google/tanabata_tree.png and b/public/images/emoji/google/tanabata_tree.png differ diff --git a/public/images/emoji/google/tangerine.png b/public/images/emoji/google/tangerine.png index ca61f4a1e..45a5ecd2a 100644 Binary files a/public/images/emoji/google/tangerine.png and b/public/images/emoji/google/tangerine.png differ diff --git a/public/images/emoji/google/taurus.png b/public/images/emoji/google/taurus.png index 55b0d8d23..36ef13a83 100644 Binary files a/public/images/emoji/google/taurus.png and b/public/images/emoji/google/taurus.png differ diff --git a/public/images/emoji/google/taxi.png b/public/images/emoji/google/taxi.png index 8c6394b05..2635768f5 100644 Binary files a/public/images/emoji/google/taxi.png and b/public/images/emoji/google/taxi.png differ diff --git a/public/images/emoji/google/tea.png b/public/images/emoji/google/tea.png index e45411146..d312f0460 100644 Binary files a/public/images/emoji/google/tea.png and b/public/images/emoji/google/tea.png differ diff --git a/public/images/emoji/google/telephone.png b/public/images/emoji/google/telephone.png index f836f52cc..a456c17db 100644 Binary files a/public/images/emoji/google/telephone.png and b/public/images/emoji/google/telephone.png differ diff --git a/public/images/emoji/google/telephone_receiver.png b/public/images/emoji/google/telephone_receiver.png index 4b686ecd1..62d5834fd 100644 Binary files a/public/images/emoji/google/telephone_receiver.png and b/public/images/emoji/google/telephone_receiver.png differ diff --git a/public/images/emoji/google/telescope.png b/public/images/emoji/google/telescope.png index 444f870bf..1a61e8d50 100644 Binary files a/public/images/emoji/google/telescope.png and b/public/images/emoji/google/telescope.png differ diff --git a/public/images/emoji/google/ten.png b/public/images/emoji/google/ten.png index 43c3ab79a..6690db7bc 100644 Binary files a/public/images/emoji/google/ten.png and b/public/images/emoji/google/ten.png differ diff --git a/public/images/emoji/google/tennis.png b/public/images/emoji/google/tennis.png index 29c95e201..673da9bd8 100644 Binary files a/public/images/emoji/google/tennis.png and b/public/images/emoji/google/tennis.png differ diff --git a/public/images/emoji/google/tent.png b/public/images/emoji/google/tent.png index dd32e9ccb..99f7a6ef5 100644 Binary files a/public/images/emoji/google/tent.png and b/public/images/emoji/google/tent.png differ diff --git a/public/images/emoji/google/thermometer.png b/public/images/emoji/google/thermometer.png index f5fd7cb0b..1d55d4f63 100644 Binary files a/public/images/emoji/google/thermometer.png and b/public/images/emoji/google/thermometer.png differ diff --git a/public/images/emoji/google/thermometer_face.png b/public/images/emoji/google/thermometer_face.png index c83df33be..3a7ba22f8 100644 Binary files a/public/images/emoji/google/thermometer_face.png and b/public/images/emoji/google/thermometer_face.png differ diff --git a/public/images/emoji/google/thinking.png b/public/images/emoji/google/thinking.png index ffdaf974a..1858262d9 100644 Binary files a/public/images/emoji/google/thinking.png and b/public/images/emoji/google/thinking.png differ diff --git a/public/images/emoji/google/thinking_face.png b/public/images/emoji/google/thinking_face.png new file mode 100644 index 000000000..1858262d9 Binary files /dev/null and b/public/images/emoji/google/thinking_face.png differ diff --git a/public/images/emoji/google/thought_balloon.png b/public/images/emoji/google/thought_balloon.png index e18803290..67340603e 100644 Binary files a/public/images/emoji/google/thought_balloon.png and b/public/images/emoji/google/thought_balloon.png differ diff --git a/public/images/emoji/google/three.png b/public/images/emoji/google/three.png index fcab72179..e69de29bb 100644 Binary files a/public/images/emoji/google/three.png and b/public/images/emoji/google/three.png differ diff --git a/public/images/emoji/google/three_button_mouse.png b/public/images/emoji/google/three_button_mouse.png new file mode 100644 index 000000000..220ef6486 Binary files /dev/null and b/public/images/emoji/google/three_button_mouse.png differ diff --git a/public/images/emoji/google/thumbsdown.png b/public/images/emoji/google/thumbsdown.png index de239d21e..8203a027e 100644 Binary files a/public/images/emoji/google/thumbsdown.png and b/public/images/emoji/google/thumbsdown.png differ diff --git a/public/images/emoji/google/thumbsup.png b/public/images/emoji/google/thumbsup.png index b997ff3e9..bf0f4e543 100644 Binary files a/public/images/emoji/google/thumbsup.png and b/public/images/emoji/google/thumbsup.png differ diff --git a/public/images/emoji/google/thunder_cloud_and_rain.png b/public/images/emoji/google/thunder_cloud_and_rain.png new file mode 100644 index 000000000..ea9bc1ea2 Binary files /dev/null and b/public/images/emoji/google/thunder_cloud_and_rain.png differ diff --git a/public/images/emoji/google/thunder_cloud_rain.png b/public/images/emoji/google/thunder_cloud_rain.png index 4bf859a12..ea9bc1ea2 100644 Binary files a/public/images/emoji/google/thunder_cloud_rain.png and b/public/images/emoji/google/thunder_cloud_rain.png differ diff --git a/public/images/emoji/google/ticket.png b/public/images/emoji/google/ticket.png index aa02a6f72..f7cdc8af1 100644 Binary files a/public/images/emoji/google/ticket.png and b/public/images/emoji/google/ticket.png differ diff --git a/public/images/emoji/google/tickets.png b/public/images/emoji/google/tickets.png index c61d207c7..959ba48a2 100644 Binary files a/public/images/emoji/google/tickets.png and b/public/images/emoji/google/tickets.png differ diff --git a/public/images/emoji/google/tiger.png b/public/images/emoji/google/tiger.png index 8f1f65c72..30d3f60e3 100644 Binary files a/public/images/emoji/google/tiger.png and b/public/images/emoji/google/tiger.png differ diff --git a/public/images/emoji/google/tiger2.png b/public/images/emoji/google/tiger2.png index b5715daa0..69fc916af 100644 Binary files a/public/images/emoji/google/tiger2.png and b/public/images/emoji/google/tiger2.png differ diff --git a/public/images/emoji/google/timer.png b/public/images/emoji/google/timer.png index e504759ac..9ec0b3e7b 100644 Binary files a/public/images/emoji/google/timer.png and b/public/images/emoji/google/timer.png differ diff --git a/public/images/emoji/google/timer_clock.png b/public/images/emoji/google/timer_clock.png new file mode 100644 index 000000000..9ec0b3e7b Binary files /dev/null and b/public/images/emoji/google/timer_clock.png differ diff --git a/public/images/emoji/google/tired_face.png b/public/images/emoji/google/tired_face.png index f581b8154..acf6f96ad 100644 Binary files a/public/images/emoji/google/tired_face.png and b/public/images/emoji/google/tired_face.png differ diff --git a/public/images/emoji/google/tm.png b/public/images/emoji/google/tm.png index 6fc1eb811..c5338782a 100644 Binary files a/public/images/emoji/google/tm.png and b/public/images/emoji/google/tm.png differ diff --git a/public/images/emoji/google/toilet.png b/public/images/emoji/google/toilet.png index 8b4b9d218..0e499703d 100644 Binary files a/public/images/emoji/google/toilet.png and b/public/images/emoji/google/toilet.png differ diff --git a/public/images/emoji/google/tokyo_tower.png b/public/images/emoji/google/tokyo_tower.png index 4c7eaf7c2..380a4ab4a 100644 Binary files a/public/images/emoji/google/tokyo_tower.png and b/public/images/emoji/google/tokyo_tower.png differ diff --git a/public/images/emoji/google/tomato.png b/public/images/emoji/google/tomato.png index fcd18f5b4..8f3b553b8 100644 Binary files a/public/images/emoji/google/tomato.png and b/public/images/emoji/google/tomato.png differ diff --git a/public/images/emoji/google/tongue.png b/public/images/emoji/google/tongue.png index 1e66c9401..aa8a7fc5f 100644 Binary files a/public/images/emoji/google/tongue.png and b/public/images/emoji/google/tongue.png differ diff --git a/public/images/emoji/google/tools.png b/public/images/emoji/google/tools.png index 81401c568..1be385628 100644 Binary files a/public/images/emoji/google/tools.png and b/public/images/emoji/google/tools.png differ diff --git a/public/images/emoji/google/top.png b/public/images/emoji/google/top.png index ddcc6d424..7fd84ae9c 100644 Binary files a/public/images/emoji/google/top.png and b/public/images/emoji/google/top.png differ diff --git a/public/images/emoji/google/tophat.png b/public/images/emoji/google/tophat.png index 1f9279e57..732d52bde 100644 Binary files a/public/images/emoji/google/tophat.png and b/public/images/emoji/google/tophat.png differ diff --git a/public/images/emoji/google/track_next.png b/public/images/emoji/google/track_next.png index 904f3b32f..8fa069d57 100644 Binary files a/public/images/emoji/google/track_next.png and b/public/images/emoji/google/track_next.png differ diff --git a/public/images/emoji/google/track_previous.png b/public/images/emoji/google/track_previous.png index 4b2d3c48a..0ef5600a4 100644 Binary files a/public/images/emoji/google/track_previous.png and b/public/images/emoji/google/track_previous.png differ diff --git a/public/images/emoji/google/trackball.png b/public/images/emoji/google/trackball.png index 2de9f53c9..edf41b6a6 100644 Binary files a/public/images/emoji/google/trackball.png and b/public/images/emoji/google/trackball.png differ diff --git a/public/images/emoji/google/tractor.png b/public/images/emoji/google/tractor.png index 180d35b87..98d6ece6e 100644 Binary files a/public/images/emoji/google/tractor.png and b/public/images/emoji/google/tractor.png differ diff --git a/public/images/emoji/google/traffic_light.png b/public/images/emoji/google/traffic_light.png index 442731ac0..f9da859d0 100644 Binary files a/public/images/emoji/google/traffic_light.png and b/public/images/emoji/google/traffic_light.png differ diff --git a/public/images/emoji/google/train.png b/public/images/emoji/google/train.png index ce48b0aaf..3e79fb1b6 100644 Binary files a/public/images/emoji/google/train.png and b/public/images/emoji/google/train.png differ diff --git a/public/images/emoji/google/train2.png b/public/images/emoji/google/train2.png index 3f3f351b8..e46bb8072 100644 Binary files a/public/images/emoji/google/train2.png and b/public/images/emoji/google/train2.png differ diff --git a/public/images/emoji/google/tram.png b/public/images/emoji/google/tram.png index bbfc78d85..4c63eca1b 100644 Binary files a/public/images/emoji/google/tram.png and b/public/images/emoji/google/tram.png differ diff --git a/public/images/emoji/google/triangular_flag_on_post.png b/public/images/emoji/google/triangular_flag_on_post.png index bdb0295c2..deb43385a 100644 Binary files a/public/images/emoji/google/triangular_flag_on_post.png and b/public/images/emoji/google/triangular_flag_on_post.png differ diff --git a/public/images/emoji/google/triangular_ruler.png b/public/images/emoji/google/triangular_ruler.png index b71b344c0..968e80733 100644 Binary files a/public/images/emoji/google/triangular_ruler.png and b/public/images/emoji/google/triangular_ruler.png differ diff --git a/public/images/emoji/google/trident.png b/public/images/emoji/google/trident.png index 5fbbc52cc..5ede96984 100644 Binary files a/public/images/emoji/google/trident.png and b/public/images/emoji/google/trident.png differ diff --git a/public/images/emoji/google/triumph.png b/public/images/emoji/google/triumph.png index 4aa89667e..56dbe89f4 100644 Binary files a/public/images/emoji/google/triumph.png and b/public/images/emoji/google/triumph.png differ diff --git a/public/images/emoji/google/trolleybus.png b/public/images/emoji/google/trolleybus.png index 3db220359..d708db94f 100644 Binary files a/public/images/emoji/google/trolleybus.png and b/public/images/emoji/google/trolleybus.png differ diff --git a/public/images/emoji/google/trophy.png b/public/images/emoji/google/trophy.png index f999e98dc..4ef497490 100644 Binary files a/public/images/emoji/google/trophy.png and b/public/images/emoji/google/trophy.png differ diff --git a/public/images/emoji/google/tropical_drink.png b/public/images/emoji/google/tropical_drink.png index a81538e5b..def9ee997 100644 Binary files a/public/images/emoji/google/tropical_drink.png and b/public/images/emoji/google/tropical_drink.png differ diff --git a/public/images/emoji/google/tropical_fish.png b/public/images/emoji/google/tropical_fish.png index f9e264ce4..8aed78037 100644 Binary files a/public/images/emoji/google/tropical_fish.png and b/public/images/emoji/google/tropical_fish.png differ diff --git a/public/images/emoji/google/truck.png b/public/images/emoji/google/truck.png index f8d8cb9b1..cec1216e8 100644 Binary files a/public/images/emoji/google/truck.png and b/public/images/emoji/google/truck.png differ diff --git a/public/images/emoji/google/trumpet.png b/public/images/emoji/google/trumpet.png index 6cd49ce2c..30ff27587 100644 Binary files a/public/images/emoji/google/trumpet.png and b/public/images/emoji/google/trumpet.png differ diff --git a/public/images/emoji/google/tshirt.png b/public/images/emoji/google/tshirt.png deleted file mode 100644 index c2fedf6ba..000000000 Binary files a/public/images/emoji/google/tshirt.png and /dev/null differ diff --git a/public/images/emoji/google/tulip.png b/public/images/emoji/google/tulip.png index 826415a47..f798ed9d4 100644 Binary files a/public/images/emoji/google/tulip.png and b/public/images/emoji/google/tulip.png differ diff --git a/public/images/emoji/google/turkey.png b/public/images/emoji/google/turkey.png index ecc3d40b4..09181dd70 100644 Binary files a/public/images/emoji/google/turkey.png and b/public/images/emoji/google/turkey.png differ diff --git a/public/images/emoji/google/turtle.png b/public/images/emoji/google/turtle.png index 89ca3dfa7..8389c5dba 100644 Binary files a/public/images/emoji/google/turtle.png and b/public/images/emoji/google/turtle.png differ diff --git a/public/images/emoji/google/tv.png b/public/images/emoji/google/tv.png index 465a9cb27..85079ffb8 100644 Binary files a/public/images/emoji/google/tv.png and b/public/images/emoji/google/tv.png differ diff --git a/public/images/emoji/google/twisted_rightwards_arrows.png b/public/images/emoji/google/twisted_rightwards_arrows.png index cbd60446b..fa7708abb 100644 Binary files a/public/images/emoji/google/twisted_rightwards_arrows.png and b/public/images/emoji/google/twisted_rightwards_arrows.png differ diff --git a/public/images/emoji/google/two.png b/public/images/emoji/google/two.png index cfbc11cec..e69de29bb 100644 Binary files a/public/images/emoji/google/two.png and b/public/images/emoji/google/two.png differ diff --git a/public/images/emoji/google/two_hearts.png b/public/images/emoji/google/two_hearts.png index 0be47400a..229a4a6b8 100644 Binary files a/public/images/emoji/google/two_hearts.png and b/public/images/emoji/google/two_hearts.png differ diff --git a/public/images/emoji/google/two_men_holding_hands.png b/public/images/emoji/google/two_men_holding_hands.png index 489f0e39b..b66c204e6 100644 Binary files a/public/images/emoji/google/two_men_holding_hands.png and b/public/images/emoji/google/two_men_holding_hands.png differ diff --git a/public/images/emoji/google/two_women_holding_hands.png b/public/images/emoji/google/two_women_holding_hands.png index 8b7ebf428..6a538c4a9 100644 Binary files a/public/images/emoji/google/two_women_holding_hands.png and b/public/images/emoji/google/two_women_holding_hands.png differ diff --git a/public/images/emoji/google/u5272.png b/public/images/emoji/google/u5272.png index b5a119b49..babe5c8b2 100644 Binary files a/public/images/emoji/google/u5272.png and b/public/images/emoji/google/u5272.png differ diff --git a/public/images/emoji/google/u5408.png b/public/images/emoji/google/u5408.png index 26d434c42..f347e846b 100644 Binary files a/public/images/emoji/google/u5408.png and b/public/images/emoji/google/u5408.png differ diff --git a/public/images/emoji/google/u55b6.png b/public/images/emoji/google/u55b6.png index c306f22ca..4f46d2340 100644 Binary files a/public/images/emoji/google/u55b6.png and b/public/images/emoji/google/u55b6.png differ diff --git a/public/images/emoji/google/u6307.png b/public/images/emoji/google/u6307.png index c512a00a0..a33cc2e92 100644 Binary files a/public/images/emoji/google/u6307.png and b/public/images/emoji/google/u6307.png differ diff --git a/public/images/emoji/google/u6708.png b/public/images/emoji/google/u6708.png index 4c18c85f2..def973dc9 100644 Binary files a/public/images/emoji/google/u6708.png and b/public/images/emoji/google/u6708.png differ diff --git a/public/images/emoji/google/u6709.png b/public/images/emoji/google/u6709.png index 0533bee7e..dc24cb62f 100644 Binary files a/public/images/emoji/google/u6709.png and b/public/images/emoji/google/u6709.png differ diff --git a/public/images/emoji/google/u6e80.png b/public/images/emoji/google/u6e80.png index 577fafa86..ff0140c69 100644 Binary files a/public/images/emoji/google/u6e80.png and b/public/images/emoji/google/u6e80.png differ diff --git a/public/images/emoji/google/u7121.png b/public/images/emoji/google/u7121.png index d20c950ee..ff57e3c97 100644 Binary files a/public/images/emoji/google/u7121.png and b/public/images/emoji/google/u7121.png differ diff --git a/public/images/emoji/google/u7533.png b/public/images/emoji/google/u7533.png index d5f0a0445..a55ddcdd2 100644 Binary files a/public/images/emoji/google/u7533.png and b/public/images/emoji/google/u7533.png differ diff --git a/public/images/emoji/google/u7981.png b/public/images/emoji/google/u7981.png index 5fd605412..367af9cf6 100644 Binary files a/public/images/emoji/google/u7981.png and b/public/images/emoji/google/u7981.png differ diff --git a/public/images/emoji/google/u7a7a.png b/public/images/emoji/google/u7a7a.png index b0c3bcc16..ccc982801 100644 Binary files a/public/images/emoji/google/u7a7a.png and b/public/images/emoji/google/u7a7a.png differ diff --git a/public/images/emoji/google/uk.png b/public/images/emoji/google/uk.png deleted file mode 100644 index 94d5fe9e1..000000000 Binary files a/public/images/emoji/google/uk.png and /dev/null differ diff --git a/public/images/emoji/google/umbrella.png b/public/images/emoji/google/umbrella.png index 1f61ce108..3945316c2 100644 Binary files a/public/images/emoji/google/umbrella.png and b/public/images/emoji/google/umbrella.png differ diff --git a/public/images/emoji/google/umbrella2.png b/public/images/emoji/google/umbrella2.png index 869153d75..a9fbd03ab 100644 Binary files a/public/images/emoji/google/umbrella2.png and b/public/images/emoji/google/umbrella2.png differ diff --git a/public/images/emoji/google/umbrella_on_ground.png b/public/images/emoji/google/umbrella_on_ground.png new file mode 100644 index 000000000..f23d6f604 Binary files /dev/null and b/public/images/emoji/google/umbrella_on_ground.png differ diff --git a/public/images/emoji/google/unamused.png b/public/images/emoji/google/unamused.png index 07c236368..9edd2a8dc 100644 Binary files a/public/images/emoji/google/unamused.png and b/public/images/emoji/google/unamused.png differ diff --git a/public/images/emoji/google/underage.png b/public/images/emoji/google/underage.png index d53f93df1..26cab51e7 100644 Binary files a/public/images/emoji/google/underage.png and b/public/images/emoji/google/underage.png differ diff --git a/public/images/emoji/google/unicorn.png b/public/images/emoji/google/unicorn.png index ffcb1839e..9a52258b9 100644 Binary files a/public/images/emoji/google/unicorn.png and b/public/images/emoji/google/unicorn.png differ diff --git a/public/images/emoji/google/unicorn_face.png b/public/images/emoji/google/unicorn_face.png new file mode 100644 index 000000000..9a52258b9 Binary files /dev/null and b/public/images/emoji/google/unicorn_face.png differ diff --git a/public/images/emoji/google/unlock.png b/public/images/emoji/google/unlock.png index 18154a4e7..3e2fb468b 100644 Binary files a/public/images/emoji/google/unlock.png and b/public/images/emoji/google/unlock.png differ diff --git a/public/images/emoji/google/up.png b/public/images/emoji/google/up.png index 5f547944e..3b52fffe1 100644 Binary files a/public/images/emoji/google/up.png and b/public/images/emoji/google/up.png differ diff --git a/public/images/emoji/google/upside_down.png b/public/images/emoji/google/upside_down.png index b0bc85213..ea09f4c9a 100644 Binary files a/public/images/emoji/google/upside_down.png and b/public/images/emoji/google/upside_down.png differ diff --git a/public/images/emoji/google/upside_down_face.png b/public/images/emoji/google/upside_down_face.png new file mode 100644 index 000000000..ea09f4c9a Binary files /dev/null and b/public/images/emoji/google/upside_down_face.png differ diff --git a/public/images/emoji/google/urn.png b/public/images/emoji/google/urn.png index edc661551..eff08b3c1 100644 Binary files a/public/images/emoji/google/urn.png and b/public/images/emoji/google/urn.png differ diff --git a/public/images/emoji/google/us.png b/public/images/emoji/google/us.png index 949b41bee..253e481c1 100644 Binary files a/public/images/emoji/google/us.png and b/public/images/emoji/google/us.png differ diff --git a/public/images/emoji/google/v.png b/public/images/emoji/google/v.png index 96db7d829..989ad11a1 100644 Binary files a/public/images/emoji/google/v.png and b/public/images/emoji/google/v.png differ diff --git a/public/images/emoji/google/vertical_traffic_light.png b/public/images/emoji/google/vertical_traffic_light.png index 1c46e18fe..56bee06af 100644 Binary files a/public/images/emoji/google/vertical_traffic_light.png and b/public/images/emoji/google/vertical_traffic_light.png differ diff --git a/public/images/emoji/google/vhs.png b/public/images/emoji/google/vhs.png index 814f41e6c..6238e7402 100644 Binary files a/public/images/emoji/google/vhs.png and b/public/images/emoji/google/vhs.png differ diff --git a/public/images/emoji/google/vibration_mode.png b/public/images/emoji/google/vibration_mode.png index 8230ac849..5a6aca044 100644 Binary files a/public/images/emoji/google/vibration_mode.png and b/public/images/emoji/google/vibration_mode.png differ diff --git a/public/images/emoji/google/video_camera.png b/public/images/emoji/google/video_camera.png index 23b6870e5..211279451 100644 Binary files a/public/images/emoji/google/video_camera.png and b/public/images/emoji/google/video_camera.png differ diff --git a/public/images/emoji/google/video_game.png b/public/images/emoji/google/video_game.png index 289d0a64c..38077b5a1 100644 Binary files a/public/images/emoji/google/video_game.png and b/public/images/emoji/google/video_game.png differ diff --git a/public/images/emoji/google/violin.png b/public/images/emoji/google/violin.png index 766a9ba9d..d91a10d8f 100644 Binary files a/public/images/emoji/google/violin.png and b/public/images/emoji/google/violin.png differ diff --git a/public/images/emoji/google/virgo.png b/public/images/emoji/google/virgo.png index 23a810812..4f17f767a 100644 Binary files a/public/images/emoji/google/virgo.png and b/public/images/emoji/google/virgo.png differ diff --git a/public/images/emoji/google/volcano.png b/public/images/emoji/google/volcano.png index c4e47a49d..4d1cf9b4e 100644 Binary files a/public/images/emoji/google/volcano.png and b/public/images/emoji/google/volcano.png differ diff --git a/public/images/emoji/google/volleyball.png b/public/images/emoji/google/volleyball.png index 77d998d3e..7503e8aa1 100644 Binary files a/public/images/emoji/google/volleyball.png and b/public/images/emoji/google/volleyball.png differ diff --git a/public/images/emoji/google/vs.png b/public/images/emoji/google/vs.png index 10d309065..98a374dcf 100644 Binary files a/public/images/emoji/google/vs.png and b/public/images/emoji/google/vs.png differ diff --git a/public/images/emoji/google/vulcan.png b/public/images/emoji/google/vulcan.png index 20cb6f278..7294a38c1 100644 Binary files a/public/images/emoji/google/vulcan.png and b/public/images/emoji/google/vulcan.png differ diff --git a/public/images/emoji/google/walking.png b/public/images/emoji/google/walking.png index 9331d4acb..bbd7b970b 100644 Binary files a/public/images/emoji/google/walking.png and b/public/images/emoji/google/walking.png differ diff --git a/public/images/emoji/google/waning_crescent_moon.png b/public/images/emoji/google/waning_crescent_moon.png index a47624b3b..993deafc9 100644 Binary files a/public/images/emoji/google/waning_crescent_moon.png and b/public/images/emoji/google/waning_crescent_moon.png differ diff --git a/public/images/emoji/google/waning_gibbous_moon.png b/public/images/emoji/google/waning_gibbous_moon.png index 74f746277..b70b1b3b5 100644 Binary files a/public/images/emoji/google/waning_gibbous_moon.png and b/public/images/emoji/google/waning_gibbous_moon.png differ diff --git a/public/images/emoji/google/warning.png b/public/images/emoji/google/warning.png index a8aae5fd4..13f08e539 100644 Binary files a/public/images/emoji/google/warning.png and b/public/images/emoji/google/warning.png differ diff --git a/public/images/emoji/google/wastebasket.png b/public/images/emoji/google/wastebasket.png index 706434198..ab1ca0dcb 100644 Binary files a/public/images/emoji/google/wastebasket.png and b/public/images/emoji/google/wastebasket.png differ diff --git a/public/images/emoji/google/watch.png b/public/images/emoji/google/watch.png index cede969ee..528df3607 100644 Binary files a/public/images/emoji/google/watch.png and b/public/images/emoji/google/watch.png differ diff --git a/public/images/emoji/google/water_buffalo.png b/public/images/emoji/google/water_buffalo.png index e087967f8..4888de00f 100644 Binary files a/public/images/emoji/google/water_buffalo.png and b/public/images/emoji/google/water_buffalo.png differ diff --git a/public/images/emoji/google/watermelon.png b/public/images/emoji/google/watermelon.png index 5f8a3a607..bf07ccfa7 100644 Binary files a/public/images/emoji/google/watermelon.png and b/public/images/emoji/google/watermelon.png differ diff --git a/public/images/emoji/google/wave.png b/public/images/emoji/google/wave.png index 6affbedda..35caa37fd 100644 Binary files a/public/images/emoji/google/wave.png and b/public/images/emoji/google/wave.png differ diff --git a/public/images/emoji/google/waving_black_flag.png b/public/images/emoji/google/waving_black_flag.png new file mode 100644 index 000000000..de072bca6 Binary files /dev/null and b/public/images/emoji/google/waving_black_flag.png differ diff --git a/public/images/emoji/google/waving_white_flag.png b/public/images/emoji/google/waving_white_flag.png new file mode 100644 index 000000000..ce4e23c8c Binary files /dev/null and b/public/images/emoji/google/waving_white_flag.png differ diff --git a/public/images/emoji/google/wavy_dash.png b/public/images/emoji/google/wavy_dash.png index 5a5a24f80..e28d09338 100644 Binary files a/public/images/emoji/google/wavy_dash.png and b/public/images/emoji/google/wavy_dash.png differ diff --git a/public/images/emoji/google/waxing_crescent_moon.png b/public/images/emoji/google/waxing_crescent_moon.png index d9403412d..0a775f491 100644 Binary files a/public/images/emoji/google/waxing_crescent_moon.png and b/public/images/emoji/google/waxing_crescent_moon.png differ diff --git a/public/images/emoji/google/waxing_gibbous_moon.png b/public/images/emoji/google/waxing_gibbous_moon.png index 02bec1ad1..5673a0b3f 100644 Binary files a/public/images/emoji/google/waxing_gibbous_moon.png and b/public/images/emoji/google/waxing_gibbous_moon.png differ diff --git a/public/images/emoji/google/wc.png b/public/images/emoji/google/wc.png index 3d387020e..18b1e0b15 100644 Binary files a/public/images/emoji/google/wc.png and b/public/images/emoji/google/wc.png differ diff --git a/public/images/emoji/google/weary.png b/public/images/emoji/google/weary.png index 7fdb134f8..ced0d21c4 100644 Binary files a/public/images/emoji/google/weary.png and b/public/images/emoji/google/weary.png differ diff --git a/public/images/emoji/google/wedding.png b/public/images/emoji/google/wedding.png index 34bb72daf..e9b39cda2 100644 Binary files a/public/images/emoji/google/wedding.png and b/public/images/emoji/google/wedding.png differ diff --git a/public/images/emoji/google/weight_lifter.png b/public/images/emoji/google/weight_lifter.png new file mode 100644 index 000000000..eb5882317 Binary files /dev/null and b/public/images/emoji/google/weight_lifter.png differ diff --git a/public/images/emoji/google/whale.png b/public/images/emoji/google/whale.png index 4a87aa2ff..2a83fedd0 100644 Binary files a/public/images/emoji/google/whale.png and b/public/images/emoji/google/whale.png differ diff --git a/public/images/emoji/google/whale2.png b/public/images/emoji/google/whale2.png index 91eefa535..433108acf 100644 Binary files a/public/images/emoji/google/whale2.png and b/public/images/emoji/google/whale2.png differ diff --git a/public/images/emoji/google/wheel_of_dharma.png b/public/images/emoji/google/wheel_of_dharma.png index c102a50a5..eacaf590e 100644 Binary files a/public/images/emoji/google/wheel_of_dharma.png and b/public/images/emoji/google/wheel_of_dharma.png differ diff --git a/public/images/emoji/google/wheelchair.png b/public/images/emoji/google/wheelchair.png index f1afc1539..17ab798b1 100644 Binary files a/public/images/emoji/google/wheelchair.png and b/public/images/emoji/google/wheelchair.png differ diff --git a/public/images/emoji/google/white_check_mark.png b/public/images/emoji/google/white_check_mark.png index 305ff10e6..fcb38f948 100644 Binary files a/public/images/emoji/google/white_check_mark.png and b/public/images/emoji/google/white_check_mark.png differ diff --git a/public/images/emoji/google/white_circle.png b/public/images/emoji/google/white_circle.png index 165270b6f..cb1d0f740 100644 Binary files a/public/images/emoji/google/white_circle.png and b/public/images/emoji/google/white_circle.png differ diff --git a/public/images/emoji/google/white_flower.png b/public/images/emoji/google/white_flower.png index 316ab66bd..5486e25da 100644 Binary files a/public/images/emoji/google/white_flower.png and b/public/images/emoji/google/white_flower.png differ diff --git a/public/images/emoji/google/white_frowning_face.png b/public/images/emoji/google/white_frowning_face.png new file mode 100644 index 000000000..db9c6af5b Binary files /dev/null and b/public/images/emoji/google/white_frowning_face.png differ diff --git a/public/images/emoji/google/white_large_square.png b/public/images/emoji/google/white_large_square.png index fd5d209b6..f9dda7899 100644 Binary files a/public/images/emoji/google/white_large_square.png and b/public/images/emoji/google/white_large_square.png differ diff --git a/public/images/emoji/google/white_medium_small_square.png b/public/images/emoji/google/white_medium_small_square.png index 452d997fc..9768059a1 100644 Binary files a/public/images/emoji/google/white_medium_small_square.png and b/public/images/emoji/google/white_medium_small_square.png differ diff --git a/public/images/emoji/google/white_medium_square.png b/public/images/emoji/google/white_medium_square.png index 0fbc2da27..1a0bd0210 100644 Binary files a/public/images/emoji/google/white_medium_square.png and b/public/images/emoji/google/white_medium_square.png differ diff --git a/public/images/emoji/google/white_small_square.png b/public/images/emoji/google/white_small_square.png index 570280afe..3b2f5b6f4 100644 Binary files a/public/images/emoji/google/white_small_square.png and b/public/images/emoji/google/white_small_square.png differ diff --git a/public/images/emoji/google/white_square_button.png b/public/images/emoji/google/white_square_button.png index 565c3e70a..9daf142f8 100644 Binary files a/public/images/emoji/google/white_square_button.png and b/public/images/emoji/google/white_square_button.png differ diff --git a/public/images/emoji/google/white_sun_behind_cloud.png b/public/images/emoji/google/white_sun_behind_cloud.png new file mode 100644 index 000000000..43f989969 Binary files /dev/null and b/public/images/emoji/google/white_sun_behind_cloud.png differ diff --git a/public/images/emoji/google/white_sun_behind_cloud_with_rain.png b/public/images/emoji/google/white_sun_behind_cloud_with_rain.png new file mode 100644 index 000000000..1ef8a3714 Binary files /dev/null and b/public/images/emoji/google/white_sun_behind_cloud_with_rain.png differ diff --git a/public/images/emoji/google/white_sun_cloud.png b/public/images/emoji/google/white_sun_cloud.png index 4ae2fd114..43f989969 100644 Binary files a/public/images/emoji/google/white_sun_cloud.png and b/public/images/emoji/google/white_sun_cloud.png differ diff --git a/public/images/emoji/google/white_sun_rain_cloud.png b/public/images/emoji/google/white_sun_rain_cloud.png index 78535070d..1ef8a3714 100644 Binary files a/public/images/emoji/google/white_sun_rain_cloud.png and b/public/images/emoji/google/white_sun_rain_cloud.png differ diff --git a/public/images/emoji/google/white_sun_small_cloud.png b/public/images/emoji/google/white_sun_small_cloud.png index 1e2117f24..6a432e0db 100644 Binary files a/public/images/emoji/google/white_sun_small_cloud.png and b/public/images/emoji/google/white_sun_small_cloud.png differ diff --git a/public/images/emoji/google/white_sun_with_small_cloud.png b/public/images/emoji/google/white_sun_with_small_cloud.png new file mode 100644 index 000000000..6a432e0db Binary files /dev/null and b/public/images/emoji/google/white_sun_with_small_cloud.png differ diff --git a/public/images/emoji/google/wind_blowing_face.png b/public/images/emoji/google/wind_blowing_face.png index 3db709328..dc17bd197 100644 Binary files a/public/images/emoji/google/wind_blowing_face.png and b/public/images/emoji/google/wind_blowing_face.png differ diff --git a/public/images/emoji/google/wind_chime.png b/public/images/emoji/google/wind_chime.png index c7e7c74c9..25ee602d2 100644 Binary files a/public/images/emoji/google/wind_chime.png and b/public/images/emoji/google/wind_chime.png differ diff --git a/public/images/emoji/google/wine_glass.png b/public/images/emoji/google/wine_glass.png index 0915a0288..86122bb31 100644 Binary files a/public/images/emoji/google/wine_glass.png and b/public/images/emoji/google/wine_glass.png differ diff --git a/public/images/emoji/google/wink.png b/public/images/emoji/google/wink.png index c6c28a2a1..7d99dd23c 100644 Binary files a/public/images/emoji/google/wink.png and b/public/images/emoji/google/wink.png differ diff --git a/public/images/emoji/google/wolf.png b/public/images/emoji/google/wolf.png index 1d2b41218..dbd16da58 100644 Binary files a/public/images/emoji/google/wolf.png and b/public/images/emoji/google/wolf.png differ diff --git a/public/images/emoji/google/woman.png b/public/images/emoji/google/woman.png index 3c6ef266b..d7770ff96 100644 Binary files a/public/images/emoji/google/woman.png and b/public/images/emoji/google/woman.png differ diff --git a/public/images/emoji/google/womans_clothes.png b/public/images/emoji/google/womans_clothes.png index c3e19d149..23f3f022b 100644 Binary files a/public/images/emoji/google/womans_clothes.png and b/public/images/emoji/google/womans_clothes.png differ diff --git a/public/images/emoji/google/womans_hat.png b/public/images/emoji/google/womans_hat.png index f26c7674c..bb6e9b9a5 100644 Binary files a/public/images/emoji/google/womans_hat.png and b/public/images/emoji/google/womans_hat.png differ diff --git a/public/images/emoji/google/womens.png b/public/images/emoji/google/womens.png index 3ad6f2e9d..9c8b38392 100644 Binary files a/public/images/emoji/google/womens.png and b/public/images/emoji/google/womens.png differ diff --git a/public/images/emoji/google/world_map.png b/public/images/emoji/google/world_map.png new file mode 100644 index 000000000..fc4cfafe8 Binary files /dev/null and b/public/images/emoji/google/world_map.png differ diff --git a/public/images/emoji/google/worried.png b/public/images/emoji/google/worried.png index 4578afc6c..6a30663f2 100644 Binary files a/public/images/emoji/google/worried.png and b/public/images/emoji/google/worried.png differ diff --git a/public/images/emoji/google/worship_symbol.png b/public/images/emoji/google/worship_symbol.png new file mode 100644 index 000000000..7783233e9 Binary files /dev/null and b/public/images/emoji/google/worship_symbol.png differ diff --git a/public/images/emoji/google/wrench.png b/public/images/emoji/google/wrench.png index 8610eab73..ffd85982e 100644 Binary files a/public/images/emoji/google/wrench.png and b/public/images/emoji/google/wrench.png differ diff --git a/public/images/emoji/google/writing_hand.png b/public/images/emoji/google/writing_hand.png index b178941f4..608570fd5 100644 Binary files a/public/images/emoji/google/writing_hand.png and b/public/images/emoji/google/writing_hand.png differ diff --git a/public/images/emoji/google/x.png b/public/images/emoji/google/x.png index 11302ba0e..b950ece57 100644 Binary files a/public/images/emoji/google/x.png and b/public/images/emoji/google/x.png differ diff --git a/public/images/emoji/google/yellow_heart.png b/public/images/emoji/google/yellow_heart.png index af4c80941..86d15a015 100644 Binary files a/public/images/emoji/google/yellow_heart.png and b/public/images/emoji/google/yellow_heart.png differ diff --git a/public/images/emoji/google/yen.png b/public/images/emoji/google/yen.png index d11d12490..b76abb89c 100644 Binary files a/public/images/emoji/google/yen.png and b/public/images/emoji/google/yen.png differ diff --git a/public/images/emoji/google/yin_yang.png b/public/images/emoji/google/yin_yang.png index 1e682f058..143c24116 100644 Binary files a/public/images/emoji/google/yin_yang.png and b/public/images/emoji/google/yin_yang.png differ diff --git a/public/images/emoji/google/yum.png b/public/images/emoji/google/yum.png index 0c9cd992b..9ca8fab01 100644 Binary files a/public/images/emoji/google/yum.png and b/public/images/emoji/google/yum.png differ diff --git a/public/images/emoji/google/zap.png b/public/images/emoji/google/zap.png index e0dcd63e9..5fbb7ca00 100644 Binary files a/public/images/emoji/google/zap.png and b/public/images/emoji/google/zap.png differ diff --git a/public/images/emoji/google/zero.png b/public/images/emoji/google/zero.png index e1f59f64e..e69de29bb 100644 Binary files a/public/images/emoji/google/zero.png and b/public/images/emoji/google/zero.png differ diff --git a/public/images/emoji/google/zipper_mouth.png b/public/images/emoji/google/zipper_mouth.png index de15534fb..6a9ed782f 100644 Binary files a/public/images/emoji/google/zipper_mouth.png and b/public/images/emoji/google/zipper_mouth.png differ diff --git a/public/images/emoji/google/zipper_mouth_face.png b/public/images/emoji/google/zipper_mouth_face.png new file mode 100644 index 000000000..6a9ed782f Binary files /dev/null and b/public/images/emoji/google/zipper_mouth_face.png differ diff --git a/public/images/emoji/google/zzz.png b/public/images/emoji/google/zzz.png index 2d4b2599f..1e6a2b5a1 100644 Binary files a/public/images/emoji/google/zzz.png and b/public/images/emoji/google/zzz.png differ diff --git a/public/images/emoji/twitter/+1.png b/public/images/emoji/twitter/+1.png index 9e37b14d8..a64fb4752 100644 Binary files a/public/images/emoji/twitter/+1.png and b/public/images/emoji/twitter/+1.png differ diff --git a/public/images/emoji/twitter/-1.png b/public/images/emoji/twitter/-1.png index 8a5318516..4f345c535 100644 Binary files a/public/images/emoji/twitter/-1.png and b/public/images/emoji/twitter/-1.png differ diff --git a/public/images/emoji/twitter/100.png b/public/images/emoji/twitter/100.png index 52853d5dd..bd3ed04d9 100644 Binary files a/public/images/emoji/twitter/100.png and b/public/images/emoji/twitter/100.png differ diff --git a/public/images/emoji/twitter/1234.png b/public/images/emoji/twitter/1234.png index e7c7c363b..723bc8cd7 100644 Binary files a/public/images/emoji/twitter/1234.png and b/public/images/emoji/twitter/1234.png differ diff --git a/public/images/emoji/twitter/8ball.png b/public/images/emoji/twitter/8ball.png index be2d7a6d6..e3e6bb667 100644 Binary files a/public/images/emoji/twitter/8ball.png and b/public/images/emoji/twitter/8ball.png differ diff --git a/public/images/emoji/twitter/a.png b/public/images/emoji/twitter/a.png index 446cf7c25..3520ead38 100644 Binary files a/public/images/emoji/twitter/a.png and b/public/images/emoji/twitter/a.png differ diff --git a/public/images/emoji/twitter/ab.png b/public/images/emoji/twitter/ab.png index 9e212f3ba..5cc77e282 100644 Binary files a/public/images/emoji/twitter/ab.png and b/public/images/emoji/twitter/ab.png differ diff --git a/public/images/emoji/twitter/abc.png b/public/images/emoji/twitter/abc.png index 71a3aa847..323f59e4f 100644 Binary files a/public/images/emoji/twitter/abc.png and b/public/images/emoji/twitter/abc.png differ diff --git a/public/images/emoji/twitter/abcd.png b/public/images/emoji/twitter/abcd.png index 877bdfc85..79e6d407a 100644 Binary files a/public/images/emoji/twitter/abcd.png and b/public/images/emoji/twitter/abcd.png differ diff --git a/public/images/emoji/twitter/accept.png b/public/images/emoji/twitter/accept.png index 4ce4b6729..b1c1d071a 100644 Binary files a/public/images/emoji/twitter/accept.png and b/public/images/emoji/twitter/accept.png differ diff --git a/public/images/emoji/twitter/admission_tickets.png b/public/images/emoji/twitter/admission_tickets.png new file mode 100644 index 000000000..295e9bbdc Binary files /dev/null and b/public/images/emoji/twitter/admission_tickets.png differ diff --git a/public/images/emoji/twitter/aerial_tramway.png b/public/images/emoji/twitter/aerial_tramway.png index 93599a170..24ddd85c9 100644 Binary files a/public/images/emoji/twitter/aerial_tramway.png and b/public/images/emoji/twitter/aerial_tramway.png differ diff --git a/public/images/emoji/twitter/airplane.png b/public/images/emoji/twitter/airplane.png index cf24c72e4..df94ee2ce 100644 Binary files a/public/images/emoji/twitter/airplane.png and b/public/images/emoji/twitter/airplane.png differ diff --git a/public/images/emoji/twitter/airplane_arriving.png b/public/images/emoji/twitter/airplane_arriving.png index a75656592..59795d683 100644 Binary files a/public/images/emoji/twitter/airplane_arriving.png and b/public/images/emoji/twitter/airplane_arriving.png differ diff --git a/public/images/emoji/twitter/airplane_departure.png b/public/images/emoji/twitter/airplane_departure.png index dc86670a8..62bc81a28 100644 Binary files a/public/images/emoji/twitter/airplane_departure.png and b/public/images/emoji/twitter/airplane_departure.png differ diff --git a/public/images/emoji/twitter/airplane_small.png b/public/images/emoji/twitter/airplane_small.png index 6a67b428f..6784909ff 100644 Binary files a/public/images/emoji/twitter/airplane_small.png and b/public/images/emoji/twitter/airplane_small.png differ diff --git a/public/images/emoji/twitter/alarm_clock.png b/public/images/emoji/twitter/alarm_clock.png index 385f0df01..354179694 100644 Binary files a/public/images/emoji/twitter/alarm_clock.png and b/public/images/emoji/twitter/alarm_clock.png differ diff --git a/public/images/emoji/twitter/alembic.png b/public/images/emoji/twitter/alembic.png index f450e6da1..cc2853f6d 100644 Binary files a/public/images/emoji/twitter/alembic.png and b/public/images/emoji/twitter/alembic.png differ diff --git a/public/images/emoji/twitter/alien.png b/public/images/emoji/twitter/alien.png index f1cd2b36f..da3fcd90e 100644 Binary files a/public/images/emoji/twitter/alien.png and b/public/images/emoji/twitter/alien.png differ diff --git a/public/images/emoji/twitter/ambulance.png b/public/images/emoji/twitter/ambulance.png index 80681a180..2c0bb4c7a 100644 Binary files a/public/images/emoji/twitter/ambulance.png and b/public/images/emoji/twitter/ambulance.png differ diff --git a/public/images/emoji/twitter/amphora.png b/public/images/emoji/twitter/amphora.png index 550f04706..3f32cad88 100644 Binary files a/public/images/emoji/twitter/amphora.png and b/public/images/emoji/twitter/amphora.png differ diff --git a/public/images/emoji/twitter/anchor.png b/public/images/emoji/twitter/anchor.png index c8e523f13..30f47eaba 100644 Binary files a/public/images/emoji/twitter/anchor.png and b/public/images/emoji/twitter/anchor.png differ diff --git a/public/images/emoji/twitter/angel.png b/public/images/emoji/twitter/angel.png index a6576bae3..5a4f3c5c2 100644 Binary files a/public/images/emoji/twitter/angel.png and b/public/images/emoji/twitter/angel.png differ diff --git a/public/images/emoji/twitter/anger.png b/public/images/emoji/twitter/anger.png index 4273bed07..604f86707 100644 Binary files a/public/images/emoji/twitter/anger.png and b/public/images/emoji/twitter/anger.png differ diff --git a/public/images/emoji/twitter/anger_right.png b/public/images/emoji/twitter/anger_right.png index d6e6ffd81..3d3ee7dcf 100644 Binary files a/public/images/emoji/twitter/anger_right.png and b/public/images/emoji/twitter/anger_right.png differ diff --git a/public/images/emoji/twitter/angry.png b/public/images/emoji/twitter/angry.png index 60233a0e3..19c39aab2 100644 Binary files a/public/images/emoji/twitter/angry.png and b/public/images/emoji/twitter/angry.png differ diff --git a/public/images/emoji/twitter/anguished.png b/public/images/emoji/twitter/anguished.png index 4e2565f91..0d749f658 100644 Binary files a/public/images/emoji/twitter/anguished.png and b/public/images/emoji/twitter/anguished.png differ diff --git a/public/images/emoji/twitter/ant.png b/public/images/emoji/twitter/ant.png index 0b5a62257..9be09a028 100644 Binary files a/public/images/emoji/twitter/ant.png and b/public/images/emoji/twitter/ant.png differ diff --git a/public/images/emoji/twitter/apple.png b/public/images/emoji/twitter/apple.png index 52a2fc7be..74e85a59f 100644 Binary files a/public/images/emoji/twitter/apple.png and b/public/images/emoji/twitter/apple.png differ diff --git a/public/images/emoji/twitter/aquarius.png b/public/images/emoji/twitter/aquarius.png index 0465fad62..5ee69f3fb 100644 Binary files a/public/images/emoji/twitter/aquarius.png and b/public/images/emoji/twitter/aquarius.png differ diff --git a/public/images/emoji/twitter/archery.png b/public/images/emoji/twitter/archery.png new file mode 100644 index 000000000..b0c9511fa Binary files /dev/null and b/public/images/emoji/twitter/archery.png differ diff --git a/public/images/emoji/twitter/aries.png b/public/images/emoji/twitter/aries.png index c23b1b60d..f8e33e10c 100644 Binary files a/public/images/emoji/twitter/aries.png and b/public/images/emoji/twitter/aries.png differ diff --git a/public/images/emoji/twitter/arrow_backward.png b/public/images/emoji/twitter/arrow_backward.png index 47b55a754..cf27562c1 100644 Binary files a/public/images/emoji/twitter/arrow_backward.png and b/public/images/emoji/twitter/arrow_backward.png differ diff --git a/public/images/emoji/twitter/arrow_double_down.png b/public/images/emoji/twitter/arrow_double_down.png index 8a99dac6e..257ec16e1 100644 Binary files a/public/images/emoji/twitter/arrow_double_down.png and b/public/images/emoji/twitter/arrow_double_down.png differ diff --git a/public/images/emoji/twitter/arrow_double_up.png b/public/images/emoji/twitter/arrow_double_up.png index e7e8eadea..fd5e16c40 100644 Binary files a/public/images/emoji/twitter/arrow_double_up.png and b/public/images/emoji/twitter/arrow_double_up.png differ diff --git a/public/images/emoji/twitter/arrow_down.png b/public/images/emoji/twitter/arrow_down.png index 3060efdec..1f6759138 100644 Binary files a/public/images/emoji/twitter/arrow_down.png and b/public/images/emoji/twitter/arrow_down.png differ diff --git a/public/images/emoji/twitter/arrow_down_small.png b/public/images/emoji/twitter/arrow_down_small.png index eac1cbfac..5c10745d0 100644 Binary files a/public/images/emoji/twitter/arrow_down_small.png and b/public/images/emoji/twitter/arrow_down_small.png differ diff --git a/public/images/emoji/twitter/arrow_forward.png b/public/images/emoji/twitter/arrow_forward.png index 9141aaa2d..6d6dd6096 100644 Binary files a/public/images/emoji/twitter/arrow_forward.png and b/public/images/emoji/twitter/arrow_forward.png differ diff --git a/public/images/emoji/twitter/arrow_heading_down.png b/public/images/emoji/twitter/arrow_heading_down.png index f6ec17c0a..51ab299f5 100644 Binary files a/public/images/emoji/twitter/arrow_heading_down.png and b/public/images/emoji/twitter/arrow_heading_down.png differ diff --git a/public/images/emoji/twitter/arrow_heading_up.png b/public/images/emoji/twitter/arrow_heading_up.png index ae1e836ef..d01ded935 100644 Binary files a/public/images/emoji/twitter/arrow_heading_up.png and b/public/images/emoji/twitter/arrow_heading_up.png differ diff --git a/public/images/emoji/twitter/arrow_left.png b/public/images/emoji/twitter/arrow_left.png index 12871e34f..0eb80529d 100644 Binary files a/public/images/emoji/twitter/arrow_left.png and b/public/images/emoji/twitter/arrow_left.png differ diff --git a/public/images/emoji/twitter/arrow_lower_left.png b/public/images/emoji/twitter/arrow_lower_left.png index 11f7037bf..611aabcf4 100644 Binary files a/public/images/emoji/twitter/arrow_lower_left.png and b/public/images/emoji/twitter/arrow_lower_left.png differ diff --git a/public/images/emoji/twitter/arrow_lower_right.png b/public/images/emoji/twitter/arrow_lower_right.png index 257e5b8c0..4243209b2 100644 Binary files a/public/images/emoji/twitter/arrow_lower_right.png and b/public/images/emoji/twitter/arrow_lower_right.png differ diff --git a/public/images/emoji/twitter/arrow_right.png b/public/images/emoji/twitter/arrow_right.png index 8ef69a31b..6effcdc00 100644 Binary files a/public/images/emoji/twitter/arrow_right.png and b/public/images/emoji/twitter/arrow_right.png differ diff --git a/public/images/emoji/twitter/arrow_right_hook.png b/public/images/emoji/twitter/arrow_right_hook.png index 78863022f..2ca2fbe41 100644 Binary files a/public/images/emoji/twitter/arrow_right_hook.png and b/public/images/emoji/twitter/arrow_right_hook.png differ diff --git a/public/images/emoji/twitter/arrow_up.png b/public/images/emoji/twitter/arrow_up.png index a83a26356..af67b3031 100644 Binary files a/public/images/emoji/twitter/arrow_up.png and b/public/images/emoji/twitter/arrow_up.png differ diff --git a/public/images/emoji/twitter/arrow_up_down.png b/public/images/emoji/twitter/arrow_up_down.png index 7da82f119..634e14c3c 100644 Binary files a/public/images/emoji/twitter/arrow_up_down.png and b/public/images/emoji/twitter/arrow_up_down.png differ diff --git a/public/images/emoji/twitter/arrow_up_small.png b/public/images/emoji/twitter/arrow_up_small.png index 9495c3141..e6035b02e 100644 Binary files a/public/images/emoji/twitter/arrow_up_small.png and b/public/images/emoji/twitter/arrow_up_small.png differ diff --git a/public/images/emoji/twitter/arrow_upper_left.png b/public/images/emoji/twitter/arrow_upper_left.png index 14e93fec0..ff1b73f21 100644 Binary files a/public/images/emoji/twitter/arrow_upper_left.png and b/public/images/emoji/twitter/arrow_upper_left.png differ diff --git a/public/images/emoji/twitter/arrow_upper_right.png b/public/images/emoji/twitter/arrow_upper_right.png index 79829aaf7..dcd0d6a29 100644 Binary files a/public/images/emoji/twitter/arrow_upper_right.png and b/public/images/emoji/twitter/arrow_upper_right.png differ diff --git a/public/images/emoji/twitter/arrows_clockwise.png b/public/images/emoji/twitter/arrows_clockwise.png index c5bd6b787..55928af7b 100644 Binary files a/public/images/emoji/twitter/arrows_clockwise.png and b/public/images/emoji/twitter/arrows_clockwise.png differ diff --git a/public/images/emoji/twitter/arrows_counterclockwise.png b/public/images/emoji/twitter/arrows_counterclockwise.png index 5527bec4e..03fe43f5e 100644 Binary files a/public/images/emoji/twitter/arrows_counterclockwise.png and b/public/images/emoji/twitter/arrows_counterclockwise.png differ diff --git a/public/images/emoji/twitter/art.png b/public/images/emoji/twitter/art.png index b36f226a8..8e7eb8964 100644 Binary files a/public/images/emoji/twitter/art.png and b/public/images/emoji/twitter/art.png differ diff --git a/public/images/emoji/twitter/articulated_lorry.png b/public/images/emoji/twitter/articulated_lorry.png index 912a01f9b..e69ae7319 100644 Binary files a/public/images/emoji/twitter/articulated_lorry.png and b/public/images/emoji/twitter/articulated_lorry.png differ diff --git a/public/images/emoji/twitter/astonished.png b/public/images/emoji/twitter/astonished.png index 3d3b4047a..3f7d5a506 100644 Binary files a/public/images/emoji/twitter/astonished.png and b/public/images/emoji/twitter/astonished.png differ diff --git a/public/images/emoji/twitter/athletic_shoe.png b/public/images/emoji/twitter/athletic_shoe.png index 5195621ef..8273a4738 100644 Binary files a/public/images/emoji/twitter/athletic_shoe.png and b/public/images/emoji/twitter/athletic_shoe.png differ diff --git a/public/images/emoji/twitter/atm.png b/public/images/emoji/twitter/atm.png index ce7d89e64..3414c38ee 100644 Binary files a/public/images/emoji/twitter/atm.png and b/public/images/emoji/twitter/atm.png differ diff --git a/public/images/emoji/twitter/atom.png b/public/images/emoji/twitter/atom.png index e1203eec7..3d27cd895 100644 Binary files a/public/images/emoji/twitter/atom.png and b/public/images/emoji/twitter/atom.png differ diff --git a/public/images/emoji/twitter/atom_symbol.png b/public/images/emoji/twitter/atom_symbol.png new file mode 100644 index 000000000..3d27cd895 Binary files /dev/null and b/public/images/emoji/twitter/atom_symbol.png differ diff --git a/public/images/emoji/twitter/b.png b/public/images/emoji/twitter/b.png index ab5cb258f..6902b1ec3 100644 Binary files a/public/images/emoji/twitter/b.png and b/public/images/emoji/twitter/b.png differ diff --git a/public/images/emoji/twitter/baby.png b/public/images/emoji/twitter/baby.png index 01d9c75f3..aa1908186 100644 Binary files a/public/images/emoji/twitter/baby.png and b/public/images/emoji/twitter/baby.png differ diff --git a/public/images/emoji/twitter/baby_bottle.png b/public/images/emoji/twitter/baby_bottle.png index 3c0735540..e603a091f 100644 Binary files a/public/images/emoji/twitter/baby_bottle.png and b/public/images/emoji/twitter/baby_bottle.png differ diff --git a/public/images/emoji/twitter/baby_chick.png b/public/images/emoji/twitter/baby_chick.png index ec02e885b..5a0ad7d4d 100644 Binary files a/public/images/emoji/twitter/baby_chick.png and b/public/images/emoji/twitter/baby_chick.png differ diff --git a/public/images/emoji/twitter/baby_symbol.png b/public/images/emoji/twitter/baby_symbol.png index dbeabaca5..41d9d0ff7 100644 Binary files a/public/images/emoji/twitter/baby_symbol.png and b/public/images/emoji/twitter/baby_symbol.png differ diff --git a/public/images/emoji/twitter/back.png b/public/images/emoji/twitter/back.png index 3cfebbb81..bea7330b5 100644 Binary files a/public/images/emoji/twitter/back.png and b/public/images/emoji/twitter/back.png differ diff --git a/public/images/emoji/twitter/badminton.png b/public/images/emoji/twitter/badminton.png index 86cf6f146..7c2023ce3 100644 Binary files a/public/images/emoji/twitter/badminton.png and b/public/images/emoji/twitter/badminton.png differ diff --git a/public/images/emoji/twitter/baggage_claim.png b/public/images/emoji/twitter/baggage_claim.png index 2441abbec..2e83dd5bb 100644 Binary files a/public/images/emoji/twitter/baggage_claim.png and b/public/images/emoji/twitter/baggage_claim.png differ diff --git a/public/images/emoji/twitter/balloon.png b/public/images/emoji/twitter/balloon.png index 0815d100e..9e48a7887 100644 Binary files a/public/images/emoji/twitter/balloon.png and b/public/images/emoji/twitter/balloon.png differ diff --git a/public/images/emoji/twitter/ballot_box.png b/public/images/emoji/twitter/ballot_box.png index 583ec9c01..59bfa2ae2 100644 Binary files a/public/images/emoji/twitter/ballot_box.png and b/public/images/emoji/twitter/ballot_box.png differ diff --git a/public/images/emoji/twitter/ballot_box_with_ballot.png b/public/images/emoji/twitter/ballot_box_with_ballot.png new file mode 100644 index 000000000..59bfa2ae2 Binary files /dev/null and b/public/images/emoji/twitter/ballot_box_with_ballot.png differ diff --git a/public/images/emoji/twitter/ballot_box_with_check.png b/public/images/emoji/twitter/ballot_box_with_check.png index 26d19bd6c..0f9112c17 100644 Binary files a/public/images/emoji/twitter/ballot_box_with_check.png and b/public/images/emoji/twitter/ballot_box_with_check.png differ diff --git a/public/images/emoji/twitter/bamboo.png b/public/images/emoji/twitter/bamboo.png index 6d9f75530..d5ba8b186 100644 Binary files a/public/images/emoji/twitter/bamboo.png and b/public/images/emoji/twitter/bamboo.png differ diff --git a/public/images/emoji/twitter/banana.png b/public/images/emoji/twitter/banana.png index f67d4cedc..dd908f0c0 100644 Binary files a/public/images/emoji/twitter/banana.png and b/public/images/emoji/twitter/banana.png differ diff --git a/public/images/emoji/twitter/bangbang.png b/public/images/emoji/twitter/bangbang.png index 845ff4da8..99c126323 100644 Binary files a/public/images/emoji/twitter/bangbang.png and b/public/images/emoji/twitter/bangbang.png differ diff --git a/public/images/emoji/twitter/bank.png b/public/images/emoji/twitter/bank.png index 5e7647665..b26c6fbd0 100644 Binary files a/public/images/emoji/twitter/bank.png and b/public/images/emoji/twitter/bank.png differ diff --git a/public/images/emoji/twitter/bar_chart.png b/public/images/emoji/twitter/bar_chart.png index 1c1a9a24b..3702be9fe 100644 Binary files a/public/images/emoji/twitter/bar_chart.png and b/public/images/emoji/twitter/bar_chart.png differ diff --git a/public/images/emoji/twitter/barber.png b/public/images/emoji/twitter/barber.png index 9880e7217..e968f4853 100644 Binary files a/public/images/emoji/twitter/barber.png and b/public/images/emoji/twitter/barber.png differ diff --git a/public/images/emoji/twitter/baseball.png b/public/images/emoji/twitter/baseball.png index e889b8b0b..35576ac24 100644 Binary files a/public/images/emoji/twitter/baseball.png and b/public/images/emoji/twitter/baseball.png differ diff --git a/public/images/emoji/twitter/basketball.png b/public/images/emoji/twitter/basketball.png index c437282c4..d836f405d 100644 Binary files a/public/images/emoji/twitter/basketball.png and b/public/images/emoji/twitter/basketball.png differ diff --git a/public/images/emoji/twitter/basketball_player.png b/public/images/emoji/twitter/basketball_player.png index 8b98c3899..af55a33bf 100644 Binary files a/public/images/emoji/twitter/basketball_player.png and b/public/images/emoji/twitter/basketball_player.png differ diff --git a/public/images/emoji/twitter/bath.png b/public/images/emoji/twitter/bath.png index 742ce80bf..d5d52c29e 100644 Binary files a/public/images/emoji/twitter/bath.png and b/public/images/emoji/twitter/bath.png differ diff --git a/public/images/emoji/twitter/bathtub.png b/public/images/emoji/twitter/bathtub.png index 579ca796c..1df1f5ca5 100644 Binary files a/public/images/emoji/twitter/bathtub.png and b/public/images/emoji/twitter/bathtub.png differ diff --git a/public/images/emoji/twitter/battery.png b/public/images/emoji/twitter/battery.png index 897aecd3c..8c75b30c8 100644 Binary files a/public/images/emoji/twitter/battery.png and b/public/images/emoji/twitter/battery.png differ diff --git a/public/images/emoji/twitter/beach.png b/public/images/emoji/twitter/beach.png index 16509a7e8..d74fd5a91 100644 Binary files a/public/images/emoji/twitter/beach.png and b/public/images/emoji/twitter/beach.png differ diff --git a/public/images/emoji/twitter/beach_umbrella.png b/public/images/emoji/twitter/beach_umbrella.png index 2bb23697b..d12db22ec 100644 Binary files a/public/images/emoji/twitter/beach_umbrella.png and b/public/images/emoji/twitter/beach_umbrella.png differ diff --git a/public/images/emoji/twitter/beach_with_umbrella.png b/public/images/emoji/twitter/beach_with_umbrella.png new file mode 100644 index 000000000..d74fd5a91 Binary files /dev/null and b/public/images/emoji/twitter/beach_with_umbrella.png differ diff --git a/public/images/emoji/twitter/bear.png b/public/images/emoji/twitter/bear.png index 8ce3aca8f..2f5d8e3ec 100644 Binary files a/public/images/emoji/twitter/bear.png and b/public/images/emoji/twitter/bear.png differ diff --git a/public/images/emoji/twitter/bed.png b/public/images/emoji/twitter/bed.png index 468057170..98d795e84 100644 Binary files a/public/images/emoji/twitter/bed.png and b/public/images/emoji/twitter/bed.png differ diff --git a/public/images/emoji/twitter/bee.png b/public/images/emoji/twitter/bee.png index 0429354f0..34cf8b08e 100644 Binary files a/public/images/emoji/twitter/bee.png and b/public/images/emoji/twitter/bee.png differ diff --git a/public/images/emoji/twitter/beer.png b/public/images/emoji/twitter/beer.png index f11d4b8ba..2301c4427 100644 Binary files a/public/images/emoji/twitter/beer.png and b/public/images/emoji/twitter/beer.png differ diff --git a/public/images/emoji/twitter/beers.png b/public/images/emoji/twitter/beers.png index 742015805..898db27f1 100644 Binary files a/public/images/emoji/twitter/beers.png and b/public/images/emoji/twitter/beers.png differ diff --git a/public/images/emoji/twitter/beetle.png b/public/images/emoji/twitter/beetle.png index 78a02529e..e91b32458 100644 Binary files a/public/images/emoji/twitter/beetle.png and b/public/images/emoji/twitter/beetle.png differ diff --git a/public/images/emoji/twitter/beginner.png b/public/images/emoji/twitter/beginner.png index c767d9d55..e7236905a 100644 Binary files a/public/images/emoji/twitter/beginner.png and b/public/images/emoji/twitter/beginner.png differ diff --git a/public/images/emoji/twitter/bell.png b/public/images/emoji/twitter/bell.png index d8fe68b35..d709170bd 100644 Binary files a/public/images/emoji/twitter/bell.png and b/public/images/emoji/twitter/bell.png differ diff --git a/public/images/emoji/twitter/bellhop.png b/public/images/emoji/twitter/bellhop.png index 07c6badfd..21a073029 100644 Binary files a/public/images/emoji/twitter/bellhop.png and b/public/images/emoji/twitter/bellhop.png differ diff --git a/public/images/emoji/twitter/bellhop_bell.png b/public/images/emoji/twitter/bellhop_bell.png new file mode 100644 index 000000000..21a073029 Binary files /dev/null and b/public/images/emoji/twitter/bellhop_bell.png differ diff --git a/public/images/emoji/twitter/bento.png b/public/images/emoji/twitter/bento.png index 488989710..29e1400dc 100644 Binary files a/public/images/emoji/twitter/bento.png and b/public/images/emoji/twitter/bento.png differ diff --git a/public/images/emoji/twitter/bicyclist.png b/public/images/emoji/twitter/bicyclist.png index 7eb6d9387..7fa1bacfe 100644 Binary files a/public/images/emoji/twitter/bicyclist.png and b/public/images/emoji/twitter/bicyclist.png differ diff --git a/public/images/emoji/twitter/bike.png b/public/images/emoji/twitter/bike.png index 71db964de..3f19d3f3b 100644 Binary files a/public/images/emoji/twitter/bike.png and b/public/images/emoji/twitter/bike.png differ diff --git a/public/images/emoji/twitter/bikini.png b/public/images/emoji/twitter/bikini.png index 5d2f6c3f3..a3e74a1ac 100644 Binary files a/public/images/emoji/twitter/bikini.png and b/public/images/emoji/twitter/bikini.png differ diff --git a/public/images/emoji/twitter/biohazard.png b/public/images/emoji/twitter/biohazard.png index 1ef96832a..95f312482 100644 Binary files a/public/images/emoji/twitter/biohazard.png and b/public/images/emoji/twitter/biohazard.png differ diff --git a/public/images/emoji/twitter/biohazard_sign.png b/public/images/emoji/twitter/biohazard_sign.png new file mode 100644 index 000000000..95f312482 Binary files /dev/null and b/public/images/emoji/twitter/biohazard_sign.png differ diff --git a/public/images/emoji/twitter/bird.png b/public/images/emoji/twitter/bird.png index caa874339..1032597b1 100644 Binary files a/public/images/emoji/twitter/bird.png and b/public/images/emoji/twitter/bird.png differ diff --git a/public/images/emoji/twitter/birthday.png b/public/images/emoji/twitter/birthday.png index c8484dc3c..79404fdb4 100644 Binary files a/public/images/emoji/twitter/birthday.png and b/public/images/emoji/twitter/birthday.png differ diff --git a/public/images/emoji/twitter/black_circle.png b/public/images/emoji/twitter/black_circle.png index b46bce14c..006d9ec3e 100644 Binary files a/public/images/emoji/twitter/black_circle.png and b/public/images/emoji/twitter/black_circle.png differ diff --git a/public/images/emoji/twitter/black_joker.png b/public/images/emoji/twitter/black_joker.png index 12ba87afd..8d2a53756 100644 Binary files a/public/images/emoji/twitter/black_joker.png and b/public/images/emoji/twitter/black_joker.png differ diff --git a/public/images/emoji/twitter/black_large_square.png b/public/images/emoji/twitter/black_large_square.png index 2b9ed6bc4..732f04789 100644 Binary files a/public/images/emoji/twitter/black_large_square.png and b/public/images/emoji/twitter/black_large_square.png differ diff --git a/public/images/emoji/twitter/black_medium_small_square.png b/public/images/emoji/twitter/black_medium_small_square.png index febceb46e..3119431da 100644 Binary files a/public/images/emoji/twitter/black_medium_small_square.png and b/public/images/emoji/twitter/black_medium_small_square.png differ diff --git a/public/images/emoji/twitter/black_medium_square.png b/public/images/emoji/twitter/black_medium_square.png index 6130ae162..6bd2a150c 100644 Binary files a/public/images/emoji/twitter/black_medium_square.png and b/public/images/emoji/twitter/black_medium_square.png differ diff --git a/public/images/emoji/twitter/black_nib.png b/public/images/emoji/twitter/black_nib.png index 43d1dc690..ec98edd0c 100644 Binary files a/public/images/emoji/twitter/black_nib.png and b/public/images/emoji/twitter/black_nib.png differ diff --git a/public/images/emoji/twitter/black_small_square.png b/public/images/emoji/twitter/black_small_square.png index 57df0544d..b3bfb1c63 100644 Binary files a/public/images/emoji/twitter/black_small_square.png and b/public/images/emoji/twitter/black_small_square.png differ diff --git a/public/images/emoji/twitter/black_square_button.png b/public/images/emoji/twitter/black_square_button.png index b1f627878..d271e6aa9 100644 Binary files a/public/images/emoji/twitter/black_square_button.png and b/public/images/emoji/twitter/black_square_button.png differ diff --git a/public/images/emoji/twitter/blossom.png b/public/images/emoji/twitter/blossom.png index dd3976791..058f31fd5 100644 Binary files a/public/images/emoji/twitter/blossom.png and b/public/images/emoji/twitter/blossom.png differ diff --git a/public/images/emoji/twitter/blowfish.png b/public/images/emoji/twitter/blowfish.png index a02fb899c..089e19033 100644 Binary files a/public/images/emoji/twitter/blowfish.png and b/public/images/emoji/twitter/blowfish.png differ diff --git a/public/images/emoji/twitter/blue_book.png b/public/images/emoji/twitter/blue_book.png index 48d3712bb..716bc24d3 100644 Binary files a/public/images/emoji/twitter/blue_book.png and b/public/images/emoji/twitter/blue_book.png differ diff --git a/public/images/emoji/twitter/blue_car.png b/public/images/emoji/twitter/blue_car.png index 9548eea9e..45f6be3e9 100644 Binary files a/public/images/emoji/twitter/blue_car.png and b/public/images/emoji/twitter/blue_car.png differ diff --git a/public/images/emoji/twitter/blue_heart.png b/public/images/emoji/twitter/blue_heart.png index 2ecd7da60..86fa97845 100644 Binary files a/public/images/emoji/twitter/blue_heart.png and b/public/images/emoji/twitter/blue_heart.png differ diff --git a/public/images/emoji/twitter/blush.png b/public/images/emoji/twitter/blush.png index 020191c9f..5a2c5d046 100644 Binary files a/public/images/emoji/twitter/blush.png and b/public/images/emoji/twitter/blush.png differ diff --git a/public/images/emoji/twitter/boar.png b/public/images/emoji/twitter/boar.png index f21409fdd..1763c90b3 100644 Binary files a/public/images/emoji/twitter/boar.png and b/public/images/emoji/twitter/boar.png differ diff --git a/public/images/emoji/twitter/boat.png b/public/images/emoji/twitter/boat.png deleted file mode 100644 index 2062f2896..000000000 Binary files a/public/images/emoji/twitter/boat.png and /dev/null differ diff --git a/public/images/emoji/twitter/bomb.png b/public/images/emoji/twitter/bomb.png index f4c547c5c..00fad5750 100644 Binary files a/public/images/emoji/twitter/bomb.png and b/public/images/emoji/twitter/bomb.png differ diff --git a/public/images/emoji/twitter/book.png b/public/images/emoji/twitter/book.png index 31cbe9690..6f220c4b0 100644 Binary files a/public/images/emoji/twitter/book.png and b/public/images/emoji/twitter/book.png differ diff --git a/public/images/emoji/twitter/bookmark.png b/public/images/emoji/twitter/bookmark.png index ef10ce4ba..1cdbf48a2 100644 Binary files a/public/images/emoji/twitter/bookmark.png and b/public/images/emoji/twitter/bookmark.png differ diff --git a/public/images/emoji/twitter/bookmark_tabs.png b/public/images/emoji/twitter/bookmark_tabs.png index 748655111..77cc253be 100644 Binary files a/public/images/emoji/twitter/bookmark_tabs.png and b/public/images/emoji/twitter/bookmark_tabs.png differ diff --git a/public/images/emoji/twitter/books.png b/public/images/emoji/twitter/books.png index 2c7b3bb9c..755010dfa 100644 Binary files a/public/images/emoji/twitter/books.png and b/public/images/emoji/twitter/books.png differ diff --git a/public/images/emoji/twitter/boom.png b/public/images/emoji/twitter/boom.png index acd369895..3ff041923 100644 Binary files a/public/images/emoji/twitter/boom.png and b/public/images/emoji/twitter/boom.png differ diff --git a/public/images/emoji/twitter/boot.png b/public/images/emoji/twitter/boot.png index 7625bde5a..fc1467a5f 100644 Binary files a/public/images/emoji/twitter/boot.png and b/public/images/emoji/twitter/boot.png differ diff --git a/public/images/emoji/twitter/bottle_with_popping_cork.png b/public/images/emoji/twitter/bottle_with_popping_cork.png new file mode 100644 index 000000000..d09724713 Binary files /dev/null and b/public/images/emoji/twitter/bottle_with_popping_cork.png differ diff --git a/public/images/emoji/twitter/bouquet.png b/public/images/emoji/twitter/bouquet.png index 27078e04a..523e02ce0 100644 Binary files a/public/images/emoji/twitter/bouquet.png and b/public/images/emoji/twitter/bouquet.png differ diff --git a/public/images/emoji/twitter/bow.png b/public/images/emoji/twitter/bow.png index 1e791d0c0..47553dce0 100644 Binary files a/public/images/emoji/twitter/bow.png and b/public/images/emoji/twitter/bow.png differ diff --git a/public/images/emoji/twitter/bow_and_arrow.png b/public/images/emoji/twitter/bow_and_arrow.png index f50a1389f..b0c9511fa 100644 Binary files a/public/images/emoji/twitter/bow_and_arrow.png and b/public/images/emoji/twitter/bow_and_arrow.png differ diff --git a/public/images/emoji/twitter/bowling.png b/public/images/emoji/twitter/bowling.png index 812f0dde2..5a586ebdd 100644 Binary files a/public/images/emoji/twitter/bowling.png and b/public/images/emoji/twitter/bowling.png differ diff --git a/public/images/emoji/twitter/boy.png b/public/images/emoji/twitter/boy.png index 4608ebdd0..a1babeb1c 100644 Binary files a/public/images/emoji/twitter/boy.png and b/public/images/emoji/twitter/boy.png differ diff --git a/public/images/emoji/twitter/bread.png b/public/images/emoji/twitter/bread.png index 668a89a6a..b4bc05082 100644 Binary files a/public/images/emoji/twitter/bread.png and b/public/images/emoji/twitter/bread.png differ diff --git a/public/images/emoji/twitter/bride_with_veil.png b/public/images/emoji/twitter/bride_with_veil.png index 8956c9df5..d30ae00c1 100644 Binary files a/public/images/emoji/twitter/bride_with_veil.png and b/public/images/emoji/twitter/bride_with_veil.png differ diff --git a/public/images/emoji/twitter/bridge_at_night.png b/public/images/emoji/twitter/bridge_at_night.png index 6f160d0f2..290ac91ae 100644 Binary files a/public/images/emoji/twitter/bridge_at_night.png and b/public/images/emoji/twitter/bridge_at_night.png differ diff --git a/public/images/emoji/twitter/briefcase.png b/public/images/emoji/twitter/briefcase.png index 2606250b6..7bbdc1d05 100644 Binary files a/public/images/emoji/twitter/briefcase.png and b/public/images/emoji/twitter/briefcase.png differ diff --git a/public/images/emoji/twitter/broken_heart.png b/public/images/emoji/twitter/broken_heart.png index 52ded7181..09760a2b8 100644 Binary files a/public/images/emoji/twitter/broken_heart.png and b/public/images/emoji/twitter/broken_heart.png differ diff --git a/public/images/emoji/twitter/bug.png b/public/images/emoji/twitter/bug.png index ebc9db7f1..d15d3f6d0 100644 Binary files a/public/images/emoji/twitter/bug.png and b/public/images/emoji/twitter/bug.png differ diff --git a/public/images/emoji/twitter/building_construction.png b/public/images/emoji/twitter/building_construction.png new file mode 100644 index 000000000..0b2cebc92 Binary files /dev/null and b/public/images/emoji/twitter/building_construction.png differ diff --git a/public/images/emoji/twitter/bulb.png b/public/images/emoji/twitter/bulb.png index 1bf108ae4..0fcc38b2a 100644 Binary files a/public/images/emoji/twitter/bulb.png and b/public/images/emoji/twitter/bulb.png differ diff --git a/public/images/emoji/twitter/bullettrain_front.png b/public/images/emoji/twitter/bullettrain_front.png index 53b6a9030..92ba37009 100644 Binary files a/public/images/emoji/twitter/bullettrain_front.png and b/public/images/emoji/twitter/bullettrain_front.png differ diff --git a/public/images/emoji/twitter/bullettrain_side.png b/public/images/emoji/twitter/bullettrain_side.png index e15146370..299aa8a15 100644 Binary files a/public/images/emoji/twitter/bullettrain_side.png and b/public/images/emoji/twitter/bullettrain_side.png differ diff --git a/public/images/emoji/twitter/burrito.png b/public/images/emoji/twitter/burrito.png index 74894241c..b4ffcb0ac 100644 Binary files a/public/images/emoji/twitter/burrito.png and b/public/images/emoji/twitter/burrito.png differ diff --git a/public/images/emoji/twitter/bus.png b/public/images/emoji/twitter/bus.png index 026598eb0..13d73d3b5 100644 Binary files a/public/images/emoji/twitter/bus.png and b/public/images/emoji/twitter/bus.png differ diff --git a/public/images/emoji/twitter/busstop.png b/public/images/emoji/twitter/busstop.png index 185511969..afcf2415d 100644 Binary files a/public/images/emoji/twitter/busstop.png and b/public/images/emoji/twitter/busstop.png differ diff --git a/public/images/emoji/twitter/bust_in_silhouette.png b/public/images/emoji/twitter/bust_in_silhouette.png index b55743475..2c06f942b 100644 Binary files a/public/images/emoji/twitter/bust_in_silhouette.png and b/public/images/emoji/twitter/bust_in_silhouette.png differ diff --git a/public/images/emoji/twitter/busts_in_silhouette.png b/public/images/emoji/twitter/busts_in_silhouette.png index c3dca55c1..741dca4fc 100644 Binary files a/public/images/emoji/twitter/busts_in_silhouette.png and b/public/images/emoji/twitter/busts_in_silhouette.png differ diff --git a/public/images/emoji/twitter/cactus.png b/public/images/emoji/twitter/cactus.png index 93328d849..de2f19e12 100644 Binary files a/public/images/emoji/twitter/cactus.png and b/public/images/emoji/twitter/cactus.png differ diff --git a/public/images/emoji/twitter/cake.png b/public/images/emoji/twitter/cake.png index da9d0a87a..56c635543 100644 Binary files a/public/images/emoji/twitter/cake.png and b/public/images/emoji/twitter/cake.png differ diff --git a/public/images/emoji/twitter/calendar.png b/public/images/emoji/twitter/calendar.png index 038557af2..7c2c806bb 100644 Binary files a/public/images/emoji/twitter/calendar.png and b/public/images/emoji/twitter/calendar.png differ diff --git a/public/images/emoji/twitter/calendar_spiral.png b/public/images/emoji/twitter/calendar_spiral.png index e2edcfeeb..8cd3bd7e5 100644 Binary files a/public/images/emoji/twitter/calendar_spiral.png and b/public/images/emoji/twitter/calendar_spiral.png differ diff --git a/public/images/emoji/twitter/calling.png b/public/images/emoji/twitter/calling.png index bcb0d974c..0d3fd1437 100644 Binary files a/public/images/emoji/twitter/calling.png and b/public/images/emoji/twitter/calling.png differ diff --git a/public/images/emoji/twitter/camel.png b/public/images/emoji/twitter/camel.png index 5a1bd3644..befca3ead 100644 Binary files a/public/images/emoji/twitter/camel.png and b/public/images/emoji/twitter/camel.png differ diff --git a/public/images/emoji/twitter/camera.png b/public/images/emoji/twitter/camera.png index 220e5c80c..a85081aaa 100644 Binary files a/public/images/emoji/twitter/camera.png and b/public/images/emoji/twitter/camera.png differ diff --git a/public/images/emoji/twitter/camera_with_flash.png b/public/images/emoji/twitter/camera_with_flash.png index ddb3b744b..63e41c529 100644 Binary files a/public/images/emoji/twitter/camera_with_flash.png and b/public/images/emoji/twitter/camera_with_flash.png differ diff --git a/public/images/emoji/twitter/camping.png b/public/images/emoji/twitter/camping.png index 1bcf75dfd..0f5da1dda 100644 Binary files a/public/images/emoji/twitter/camping.png and b/public/images/emoji/twitter/camping.png differ diff --git a/public/images/emoji/twitter/cancer.png b/public/images/emoji/twitter/cancer.png index 5ed7c80d8..9c669df80 100644 Binary files a/public/images/emoji/twitter/cancer.png and b/public/images/emoji/twitter/cancer.png differ diff --git a/public/images/emoji/twitter/candle.png b/public/images/emoji/twitter/candle.png index 57a63deca..0a27def4e 100644 Binary files a/public/images/emoji/twitter/candle.png and b/public/images/emoji/twitter/candle.png differ diff --git a/public/images/emoji/twitter/candy.png b/public/images/emoji/twitter/candy.png index cb059ea1a..83a40d221 100644 Binary files a/public/images/emoji/twitter/candy.png and b/public/images/emoji/twitter/candy.png differ diff --git a/public/images/emoji/twitter/capital_abcd.png b/public/images/emoji/twitter/capital_abcd.png index 9ffd881d5..2b2060e2f 100644 Binary files a/public/images/emoji/twitter/capital_abcd.png and b/public/images/emoji/twitter/capital_abcd.png differ diff --git a/public/images/emoji/twitter/capricorn.png b/public/images/emoji/twitter/capricorn.png index 7ad5bccd3..58ce89327 100644 Binary files a/public/images/emoji/twitter/capricorn.png and b/public/images/emoji/twitter/capricorn.png differ diff --git a/public/images/emoji/twitter/car.png b/public/images/emoji/twitter/car.png deleted file mode 100644 index ba0d2e7b2..000000000 Binary files a/public/images/emoji/twitter/car.png and /dev/null differ diff --git a/public/images/emoji/twitter/card_box.png b/public/images/emoji/twitter/card_box.png index 9a032fff6..5f2766de9 100644 Binary files a/public/images/emoji/twitter/card_box.png and b/public/images/emoji/twitter/card_box.png differ diff --git a/public/images/emoji/twitter/card_file_box.png b/public/images/emoji/twitter/card_file_box.png new file mode 100644 index 000000000..5f2766de9 Binary files /dev/null and b/public/images/emoji/twitter/card_file_box.png differ diff --git a/public/images/emoji/twitter/card_index.png b/public/images/emoji/twitter/card_index.png index fc6c652e2..c2a628dfd 100644 Binary files a/public/images/emoji/twitter/card_index.png and b/public/images/emoji/twitter/card_index.png differ diff --git a/public/images/emoji/twitter/card_index_dividers.png b/public/images/emoji/twitter/card_index_dividers.png new file mode 100644 index 000000000..b1e27091c Binary files /dev/null and b/public/images/emoji/twitter/card_index_dividers.png differ diff --git a/public/images/emoji/twitter/carousel_horse.png b/public/images/emoji/twitter/carousel_horse.png index c3222b35b..ac1ac5fb2 100644 Binary files a/public/images/emoji/twitter/carousel_horse.png and b/public/images/emoji/twitter/carousel_horse.png differ diff --git a/public/images/emoji/twitter/cat.png b/public/images/emoji/twitter/cat.png index 831bdaaa3..dc33084aa 100644 Binary files a/public/images/emoji/twitter/cat.png and b/public/images/emoji/twitter/cat.png differ diff --git a/public/images/emoji/twitter/cat2.png b/public/images/emoji/twitter/cat2.png index 2bb709fed..18f100d24 100644 Binary files a/public/images/emoji/twitter/cat2.png and b/public/images/emoji/twitter/cat2.png differ diff --git a/public/images/emoji/twitter/cd.png b/public/images/emoji/twitter/cd.png index 939c2dbeb..d5e151d74 100644 Binary files a/public/images/emoji/twitter/cd.png and b/public/images/emoji/twitter/cd.png differ diff --git a/public/images/emoji/twitter/chains.png b/public/images/emoji/twitter/chains.png index 15b22f2e7..610d0e473 100644 Binary files a/public/images/emoji/twitter/chains.png and b/public/images/emoji/twitter/chains.png differ diff --git a/public/images/emoji/twitter/champagne.png b/public/images/emoji/twitter/champagne.png index f27c9ea1e..d09724713 100644 Binary files a/public/images/emoji/twitter/champagne.png and b/public/images/emoji/twitter/champagne.png differ diff --git a/public/images/emoji/twitter/chart.png b/public/images/emoji/twitter/chart.png index b94b21ee4..f8b5a0b7e 100644 Binary files a/public/images/emoji/twitter/chart.png and b/public/images/emoji/twitter/chart.png differ diff --git a/public/images/emoji/twitter/chart_with_downwards_trend.png b/public/images/emoji/twitter/chart_with_downwards_trend.png index b31545daf..b56cfd1cf 100644 Binary files a/public/images/emoji/twitter/chart_with_downwards_trend.png and b/public/images/emoji/twitter/chart_with_downwards_trend.png differ diff --git a/public/images/emoji/twitter/chart_with_upwards_trend.png b/public/images/emoji/twitter/chart_with_upwards_trend.png index 8b8e8be40..8aa20317c 100644 Binary files a/public/images/emoji/twitter/chart_with_upwards_trend.png and b/public/images/emoji/twitter/chart_with_upwards_trend.png differ diff --git a/public/images/emoji/twitter/checkered_flag.png b/public/images/emoji/twitter/checkered_flag.png index 0abec34b6..d9765d7e9 100644 Binary files a/public/images/emoji/twitter/checkered_flag.png and b/public/images/emoji/twitter/checkered_flag.png differ diff --git a/public/images/emoji/twitter/cheese.png b/public/images/emoji/twitter/cheese.png index 8566b2e59..c3a4b402b 100644 Binary files a/public/images/emoji/twitter/cheese.png and b/public/images/emoji/twitter/cheese.png differ diff --git a/public/images/emoji/twitter/cheese_wedge.png b/public/images/emoji/twitter/cheese_wedge.png new file mode 100644 index 000000000..c3a4b402b Binary files /dev/null and b/public/images/emoji/twitter/cheese_wedge.png differ diff --git a/public/images/emoji/twitter/cherries.png b/public/images/emoji/twitter/cherries.png index a55c87f31..52f9b89d9 100644 Binary files a/public/images/emoji/twitter/cherries.png and b/public/images/emoji/twitter/cherries.png differ diff --git a/public/images/emoji/twitter/cherry_blossom.png b/public/images/emoji/twitter/cherry_blossom.png index d8300af3c..ab6c9d789 100644 Binary files a/public/images/emoji/twitter/cherry_blossom.png and b/public/images/emoji/twitter/cherry_blossom.png differ diff --git a/public/images/emoji/twitter/chestnut.png b/public/images/emoji/twitter/chestnut.png index 87712a81d..4314004c4 100644 Binary files a/public/images/emoji/twitter/chestnut.png and b/public/images/emoji/twitter/chestnut.png differ diff --git a/public/images/emoji/twitter/chicken.png b/public/images/emoji/twitter/chicken.png index f43d7b2ea..ea0834b78 100644 Binary files a/public/images/emoji/twitter/chicken.png and b/public/images/emoji/twitter/chicken.png differ diff --git a/public/images/emoji/twitter/children_crossing.png b/public/images/emoji/twitter/children_crossing.png index e9a4a607b..4d5079955 100644 Binary files a/public/images/emoji/twitter/children_crossing.png and b/public/images/emoji/twitter/children_crossing.png differ diff --git a/public/images/emoji/twitter/chipmunk.png b/public/images/emoji/twitter/chipmunk.png index e46b2790d..7abc69e19 100644 Binary files a/public/images/emoji/twitter/chipmunk.png and b/public/images/emoji/twitter/chipmunk.png differ diff --git a/public/images/emoji/twitter/chocolate_bar.png b/public/images/emoji/twitter/chocolate_bar.png index d8795d24b..680b64628 100644 Binary files a/public/images/emoji/twitter/chocolate_bar.png and b/public/images/emoji/twitter/chocolate_bar.png differ diff --git a/public/images/emoji/twitter/christmas_tree.png b/public/images/emoji/twitter/christmas_tree.png index 4cbc21a58..45b678cbd 100644 Binary files a/public/images/emoji/twitter/christmas_tree.png and b/public/images/emoji/twitter/christmas_tree.png differ diff --git a/public/images/emoji/twitter/church.png b/public/images/emoji/twitter/church.png index f87d2311e..393798e2d 100644 Binary files a/public/images/emoji/twitter/church.png and b/public/images/emoji/twitter/church.png differ diff --git a/public/images/emoji/twitter/cinema.png b/public/images/emoji/twitter/cinema.png index 2ba12b0ee..26a9f3f37 100644 Binary files a/public/images/emoji/twitter/cinema.png and b/public/images/emoji/twitter/cinema.png differ diff --git a/public/images/emoji/twitter/circus_tent.png b/public/images/emoji/twitter/circus_tent.png index 60b95ec37..ddbfcfa5c 100644 Binary files a/public/images/emoji/twitter/circus_tent.png and b/public/images/emoji/twitter/circus_tent.png differ diff --git a/public/images/emoji/twitter/city_dusk.png b/public/images/emoji/twitter/city_dusk.png index 2fd9ace38..17dcd8e49 100644 Binary files a/public/images/emoji/twitter/city_dusk.png and b/public/images/emoji/twitter/city_dusk.png differ diff --git a/public/images/emoji/twitter/city_sunrise.png b/public/images/emoji/twitter/city_sunrise.png index 305b7915e..d34ac7ece 100644 Binary files a/public/images/emoji/twitter/city_sunrise.png and b/public/images/emoji/twitter/city_sunrise.png differ diff --git a/public/images/emoji/twitter/city_sunset.png b/public/images/emoji/twitter/city_sunset.png index 8895045b7..d34ac7ece 100644 Binary files a/public/images/emoji/twitter/city_sunset.png and b/public/images/emoji/twitter/city_sunset.png differ diff --git a/public/images/emoji/twitter/cityscape.png b/public/images/emoji/twitter/cityscape.png index 74a0df8a9..24bcea239 100644 Binary files a/public/images/emoji/twitter/cityscape.png and b/public/images/emoji/twitter/cityscape.png differ diff --git a/public/images/emoji/twitter/cl.png b/public/images/emoji/twitter/cl.png index 58b666069..0420f14e2 100644 Binary files a/public/images/emoji/twitter/cl.png and b/public/images/emoji/twitter/cl.png differ diff --git a/public/images/emoji/twitter/clap.png b/public/images/emoji/twitter/clap.png index 6e6191a43..c14c8c90d 100644 Binary files a/public/images/emoji/twitter/clap.png and b/public/images/emoji/twitter/clap.png differ diff --git a/public/images/emoji/twitter/clapper.png b/public/images/emoji/twitter/clapper.png index d1dc89053..dbf6a08ee 100644 Binary files a/public/images/emoji/twitter/clapper.png and b/public/images/emoji/twitter/clapper.png differ diff --git a/public/images/emoji/twitter/classical_building.png b/public/images/emoji/twitter/classical_building.png index 4e9508d69..00dfbe29d 100644 Binary files a/public/images/emoji/twitter/classical_building.png and b/public/images/emoji/twitter/classical_building.png differ diff --git a/public/images/emoji/twitter/clipboard.png b/public/images/emoji/twitter/clipboard.png index 3426bcbd6..b894ad398 100644 Binary files a/public/images/emoji/twitter/clipboard.png and b/public/images/emoji/twitter/clipboard.png differ diff --git a/public/images/emoji/twitter/clock.png b/public/images/emoji/twitter/clock.png index 028f514b3..cf335766a 100644 Binary files a/public/images/emoji/twitter/clock.png and b/public/images/emoji/twitter/clock.png differ diff --git a/public/images/emoji/twitter/clock1.png b/public/images/emoji/twitter/clock1.png index 4b5fb60f5..465f18885 100644 Binary files a/public/images/emoji/twitter/clock1.png and b/public/images/emoji/twitter/clock1.png differ diff --git a/public/images/emoji/twitter/clock10.png b/public/images/emoji/twitter/clock10.png index 99e1160d6..300f45aec 100644 Binary files a/public/images/emoji/twitter/clock10.png and b/public/images/emoji/twitter/clock10.png differ diff --git a/public/images/emoji/twitter/clock1030.png b/public/images/emoji/twitter/clock1030.png index cb56d2183..4b643e021 100644 Binary files a/public/images/emoji/twitter/clock1030.png and b/public/images/emoji/twitter/clock1030.png differ diff --git a/public/images/emoji/twitter/clock11.png b/public/images/emoji/twitter/clock11.png index a3328388f..e030c6777 100644 Binary files a/public/images/emoji/twitter/clock11.png and b/public/images/emoji/twitter/clock11.png differ diff --git a/public/images/emoji/twitter/clock1130.png b/public/images/emoji/twitter/clock1130.png index 737710ab8..3ee235f0f 100644 Binary files a/public/images/emoji/twitter/clock1130.png and b/public/images/emoji/twitter/clock1130.png differ diff --git a/public/images/emoji/twitter/clock12.png b/public/images/emoji/twitter/clock12.png index 78fa0a78f..1e2e220d5 100644 Binary files a/public/images/emoji/twitter/clock12.png and b/public/images/emoji/twitter/clock12.png differ diff --git a/public/images/emoji/twitter/clock1230.png b/public/images/emoji/twitter/clock1230.png index a43eb1c8e..1dac51d5b 100644 Binary files a/public/images/emoji/twitter/clock1230.png and b/public/images/emoji/twitter/clock1230.png differ diff --git a/public/images/emoji/twitter/clock130.png b/public/images/emoji/twitter/clock130.png index 194437e6a..9298daad7 100644 Binary files a/public/images/emoji/twitter/clock130.png and b/public/images/emoji/twitter/clock130.png differ diff --git a/public/images/emoji/twitter/clock2.png b/public/images/emoji/twitter/clock2.png index 14dca1d4b..11a1d1881 100644 Binary files a/public/images/emoji/twitter/clock2.png and b/public/images/emoji/twitter/clock2.png differ diff --git a/public/images/emoji/twitter/clock230.png b/public/images/emoji/twitter/clock230.png index 61ef308ad..4418b2023 100644 Binary files a/public/images/emoji/twitter/clock230.png and b/public/images/emoji/twitter/clock230.png differ diff --git a/public/images/emoji/twitter/clock3.png b/public/images/emoji/twitter/clock3.png index 0cd3b410e..6567c4244 100644 Binary files a/public/images/emoji/twitter/clock3.png and b/public/images/emoji/twitter/clock3.png differ diff --git a/public/images/emoji/twitter/clock330.png b/public/images/emoji/twitter/clock330.png index 68edcb901..6ed01eaed 100644 Binary files a/public/images/emoji/twitter/clock330.png and b/public/images/emoji/twitter/clock330.png differ diff --git a/public/images/emoji/twitter/clock4.png b/public/images/emoji/twitter/clock4.png index ed1884f4b..7d5008928 100644 Binary files a/public/images/emoji/twitter/clock4.png and b/public/images/emoji/twitter/clock4.png differ diff --git a/public/images/emoji/twitter/clock430.png b/public/images/emoji/twitter/clock430.png index 596aae2f0..889bb8e6d 100644 Binary files a/public/images/emoji/twitter/clock430.png and b/public/images/emoji/twitter/clock430.png differ diff --git a/public/images/emoji/twitter/clock5.png b/public/images/emoji/twitter/clock5.png index f63bb5525..1c457c736 100644 Binary files a/public/images/emoji/twitter/clock5.png and b/public/images/emoji/twitter/clock5.png differ diff --git a/public/images/emoji/twitter/clock530.png b/public/images/emoji/twitter/clock530.png index ff4e898b8..0149b40ae 100644 Binary files a/public/images/emoji/twitter/clock530.png and b/public/images/emoji/twitter/clock530.png differ diff --git a/public/images/emoji/twitter/clock6.png b/public/images/emoji/twitter/clock6.png index d4b81c982..47fed8c8e 100644 Binary files a/public/images/emoji/twitter/clock6.png and b/public/images/emoji/twitter/clock6.png differ diff --git a/public/images/emoji/twitter/clock630.png b/public/images/emoji/twitter/clock630.png index bcd86cf9a..1bb3de16c 100644 Binary files a/public/images/emoji/twitter/clock630.png and b/public/images/emoji/twitter/clock630.png differ diff --git a/public/images/emoji/twitter/clock7.png b/public/images/emoji/twitter/clock7.png index 7b79ac44d..d3576b661 100644 Binary files a/public/images/emoji/twitter/clock7.png and b/public/images/emoji/twitter/clock7.png differ diff --git a/public/images/emoji/twitter/clock730.png b/public/images/emoji/twitter/clock730.png index 05b28847c..b33c7dfd3 100644 Binary files a/public/images/emoji/twitter/clock730.png and b/public/images/emoji/twitter/clock730.png differ diff --git a/public/images/emoji/twitter/clock8.png b/public/images/emoji/twitter/clock8.png index 653d076aa..d82dd28a6 100644 Binary files a/public/images/emoji/twitter/clock8.png and b/public/images/emoji/twitter/clock8.png differ diff --git a/public/images/emoji/twitter/clock830.png b/public/images/emoji/twitter/clock830.png index b04e87bf0..d378dfcdf 100644 Binary files a/public/images/emoji/twitter/clock830.png and b/public/images/emoji/twitter/clock830.png differ diff --git a/public/images/emoji/twitter/clock9.png b/public/images/emoji/twitter/clock9.png index 20dc0c0a4..6f64f1174 100644 Binary files a/public/images/emoji/twitter/clock9.png and b/public/images/emoji/twitter/clock9.png differ diff --git a/public/images/emoji/twitter/clock930.png b/public/images/emoji/twitter/clock930.png index 618d8ee5b..8c64802f3 100644 Binary files a/public/images/emoji/twitter/clock930.png and b/public/images/emoji/twitter/clock930.png differ diff --git a/public/images/emoji/twitter/closed_book.png b/public/images/emoji/twitter/closed_book.png index 75ddc4311..45f263cce 100644 Binary files a/public/images/emoji/twitter/closed_book.png and b/public/images/emoji/twitter/closed_book.png differ diff --git a/public/images/emoji/twitter/closed_lock_with_key.png b/public/images/emoji/twitter/closed_lock_with_key.png index 153ae4f1a..c58128ba3 100644 Binary files a/public/images/emoji/twitter/closed_lock_with_key.png and b/public/images/emoji/twitter/closed_lock_with_key.png differ diff --git a/public/images/emoji/twitter/closed_umbrella.png b/public/images/emoji/twitter/closed_umbrella.png index ac173936f..095c56317 100644 Binary files a/public/images/emoji/twitter/closed_umbrella.png and b/public/images/emoji/twitter/closed_umbrella.png differ diff --git a/public/images/emoji/twitter/cloud.png b/public/images/emoji/twitter/cloud.png index e553459c2..ef9717199 100644 Binary files a/public/images/emoji/twitter/cloud.png and b/public/images/emoji/twitter/cloud.png differ diff --git a/public/images/emoji/twitter/cloud_lightning.png b/public/images/emoji/twitter/cloud_lightning.png index 032be57a7..f45cd4219 100644 Binary files a/public/images/emoji/twitter/cloud_lightning.png and b/public/images/emoji/twitter/cloud_lightning.png differ diff --git a/public/images/emoji/twitter/cloud_rain.png b/public/images/emoji/twitter/cloud_rain.png index d7f1c9896..ffd91a25b 100644 Binary files a/public/images/emoji/twitter/cloud_rain.png and b/public/images/emoji/twitter/cloud_rain.png differ diff --git a/public/images/emoji/twitter/cloud_snow.png b/public/images/emoji/twitter/cloud_snow.png index e7c797ba2..24834e2de 100644 Binary files a/public/images/emoji/twitter/cloud_snow.png and b/public/images/emoji/twitter/cloud_snow.png differ diff --git a/public/images/emoji/twitter/cloud_tornado.png b/public/images/emoji/twitter/cloud_tornado.png index 720f7faec..fd843824e 100644 Binary files a/public/images/emoji/twitter/cloud_tornado.png and b/public/images/emoji/twitter/cloud_tornado.png differ diff --git a/public/images/emoji/twitter/cloud_with_lightning.png b/public/images/emoji/twitter/cloud_with_lightning.png new file mode 100644 index 000000000..f45cd4219 Binary files /dev/null and b/public/images/emoji/twitter/cloud_with_lightning.png differ diff --git a/public/images/emoji/twitter/cloud_with_rain.png b/public/images/emoji/twitter/cloud_with_rain.png new file mode 100644 index 000000000..ffd91a25b Binary files /dev/null and b/public/images/emoji/twitter/cloud_with_rain.png differ diff --git a/public/images/emoji/twitter/cloud_with_snow.png b/public/images/emoji/twitter/cloud_with_snow.png new file mode 100644 index 000000000..24834e2de Binary files /dev/null and b/public/images/emoji/twitter/cloud_with_snow.png differ diff --git a/public/images/emoji/twitter/cloud_with_tornado.png b/public/images/emoji/twitter/cloud_with_tornado.png new file mode 100644 index 000000000..fd843824e Binary files /dev/null and b/public/images/emoji/twitter/cloud_with_tornado.png differ diff --git a/public/images/emoji/twitter/clubs.png b/public/images/emoji/twitter/clubs.png index ae7bc0051..410881d4b 100644 Binary files a/public/images/emoji/twitter/clubs.png and b/public/images/emoji/twitter/clubs.png differ diff --git a/public/images/emoji/twitter/cn.png b/public/images/emoji/twitter/cn.png index 56c2dfe23..67efed2e4 100644 Binary files a/public/images/emoji/twitter/cn.png and b/public/images/emoji/twitter/cn.png differ diff --git a/public/images/emoji/twitter/cocktail.png b/public/images/emoji/twitter/cocktail.png index ecad120d4..dc78191f4 100644 Binary files a/public/images/emoji/twitter/cocktail.png and b/public/images/emoji/twitter/cocktail.png differ diff --git a/public/images/emoji/twitter/coffee.png b/public/images/emoji/twitter/coffee.png index ebe28a16f..90990adf2 100644 Binary files a/public/images/emoji/twitter/coffee.png and b/public/images/emoji/twitter/coffee.png differ diff --git a/public/images/emoji/twitter/coffin.png b/public/images/emoji/twitter/coffin.png index c61f4912f..cbf6ba569 100644 Binary files a/public/images/emoji/twitter/coffin.png and b/public/images/emoji/twitter/coffin.png differ diff --git a/public/images/emoji/twitter/cold_sweat.png b/public/images/emoji/twitter/cold_sweat.png index 67780294c..49d200520 100644 Binary files a/public/images/emoji/twitter/cold_sweat.png and b/public/images/emoji/twitter/cold_sweat.png differ diff --git a/public/images/emoji/twitter/collision.png b/public/images/emoji/twitter/collision.png deleted file mode 100644 index a7f1e2a5e..000000000 Binary files a/public/images/emoji/twitter/collision.png and /dev/null differ diff --git a/public/images/emoji/twitter/comet.png b/public/images/emoji/twitter/comet.png index 4ddea9ad8..fceafe31e 100644 Binary files a/public/images/emoji/twitter/comet.png and b/public/images/emoji/twitter/comet.png differ diff --git a/public/images/emoji/twitter/compression.png b/public/images/emoji/twitter/compression.png index b22237fb7..e17edcfc7 100644 Binary files a/public/images/emoji/twitter/compression.png and b/public/images/emoji/twitter/compression.png differ diff --git a/public/images/emoji/twitter/computer.png b/public/images/emoji/twitter/computer.png index 43618584b..02fbfa6e3 100644 Binary files a/public/images/emoji/twitter/computer.png and b/public/images/emoji/twitter/computer.png differ diff --git a/public/images/emoji/twitter/confetti_ball.png b/public/images/emoji/twitter/confetti_ball.png index 62648eb39..7b5e40f7e 100644 Binary files a/public/images/emoji/twitter/confetti_ball.png and b/public/images/emoji/twitter/confetti_ball.png differ diff --git a/public/images/emoji/twitter/confounded.png b/public/images/emoji/twitter/confounded.png index 62bd8dc0b..f20850700 100644 Binary files a/public/images/emoji/twitter/confounded.png and b/public/images/emoji/twitter/confounded.png differ diff --git a/public/images/emoji/twitter/confused.png b/public/images/emoji/twitter/confused.png index b51470710..5b439d34f 100644 Binary files a/public/images/emoji/twitter/confused.png and b/public/images/emoji/twitter/confused.png differ diff --git a/public/images/emoji/twitter/congratulations.png b/public/images/emoji/twitter/congratulations.png index 0dd4c5a48..27bc1589e 100644 Binary files a/public/images/emoji/twitter/congratulations.png and b/public/images/emoji/twitter/congratulations.png differ diff --git a/public/images/emoji/twitter/construction.png b/public/images/emoji/twitter/construction.png index 15770f5ae..fe724686b 100644 Binary files a/public/images/emoji/twitter/construction.png and b/public/images/emoji/twitter/construction.png differ diff --git a/public/images/emoji/twitter/construction_site.png b/public/images/emoji/twitter/construction_site.png index 082a74326..0b2cebc92 100644 Binary files a/public/images/emoji/twitter/construction_site.png and b/public/images/emoji/twitter/construction_site.png differ diff --git a/public/images/emoji/twitter/construction_worker.png b/public/images/emoji/twitter/construction_worker.png index 1ee477f89..c408538fa 100644 Binary files a/public/images/emoji/twitter/construction_worker.png and b/public/images/emoji/twitter/construction_worker.png differ diff --git a/public/images/emoji/twitter/control_knobs.png b/public/images/emoji/twitter/control_knobs.png index 336be9187..c54026dbb 100644 Binary files a/public/images/emoji/twitter/control_knobs.png and b/public/images/emoji/twitter/control_knobs.png differ diff --git a/public/images/emoji/twitter/convenience_store.png b/public/images/emoji/twitter/convenience_store.png index e3b7a4a12..faccc26b0 100644 Binary files a/public/images/emoji/twitter/convenience_store.png and b/public/images/emoji/twitter/convenience_store.png differ diff --git a/public/images/emoji/twitter/cookie.png b/public/images/emoji/twitter/cookie.png index f0e17ef85..eb681f03e 100644 Binary files a/public/images/emoji/twitter/cookie.png and b/public/images/emoji/twitter/cookie.png differ diff --git a/public/images/emoji/twitter/cool.png b/public/images/emoji/twitter/cool.png index 8eccf0c80..cdd509982 100644 Binary files a/public/images/emoji/twitter/cool.png and b/public/images/emoji/twitter/cool.png differ diff --git a/public/images/emoji/twitter/cop.png b/public/images/emoji/twitter/cop.png index 36e819793..5be8c58dc 100644 Binary files a/public/images/emoji/twitter/cop.png and b/public/images/emoji/twitter/cop.png differ diff --git a/public/images/emoji/twitter/copyright.png b/public/images/emoji/twitter/copyright.png index 222a02cd2..de88dfc0f 100644 Binary files a/public/images/emoji/twitter/copyright.png and b/public/images/emoji/twitter/copyright.png differ diff --git a/public/images/emoji/twitter/corn.png b/public/images/emoji/twitter/corn.png index bd39f0bd6..00d63e9cb 100644 Binary files a/public/images/emoji/twitter/corn.png and b/public/images/emoji/twitter/corn.png differ diff --git a/public/images/emoji/twitter/couch.png b/public/images/emoji/twitter/couch.png index 56a8bfa9e..e46d4de85 100644 Binary files a/public/images/emoji/twitter/couch.png and b/public/images/emoji/twitter/couch.png differ diff --git a/public/images/emoji/twitter/couch_and_lamp.png b/public/images/emoji/twitter/couch_and_lamp.png new file mode 100644 index 000000000..e46d4de85 Binary files /dev/null and b/public/images/emoji/twitter/couch_and_lamp.png differ diff --git a/public/images/emoji/twitter/couple.png b/public/images/emoji/twitter/couple.png index 9eb4d7d84..c703fb087 100644 Binary files a/public/images/emoji/twitter/couple.png and b/public/images/emoji/twitter/couple.png differ diff --git a/public/images/emoji/twitter/couple_with_heart.png b/public/images/emoji/twitter/couple_with_heart.png index 8abca3bf4..3842a5b18 100644 Binary files a/public/images/emoji/twitter/couple_with_heart.png and b/public/images/emoji/twitter/couple_with_heart.png differ diff --git a/public/images/emoji/twitter/couplekiss.png b/public/images/emoji/twitter/couplekiss.png index e265ea5f0..fe04756ef 100644 Binary files a/public/images/emoji/twitter/couplekiss.png and b/public/images/emoji/twitter/couplekiss.png differ diff --git a/public/images/emoji/twitter/cow.png b/public/images/emoji/twitter/cow.png index 7dcd6847d..006bf5d83 100644 Binary files a/public/images/emoji/twitter/cow.png and b/public/images/emoji/twitter/cow.png differ diff --git a/public/images/emoji/twitter/cow2.png b/public/images/emoji/twitter/cow2.png index 549bcd72a..616318ded 100644 Binary files a/public/images/emoji/twitter/cow2.png and b/public/images/emoji/twitter/cow2.png differ diff --git a/public/images/emoji/twitter/crab.png b/public/images/emoji/twitter/crab.png index 021356a53..549988455 100644 Binary files a/public/images/emoji/twitter/crab.png and b/public/images/emoji/twitter/crab.png differ diff --git a/public/images/emoji/twitter/crayon.png b/public/images/emoji/twitter/crayon.png index d309e3ba3..0ad5b02c2 100644 Binary files a/public/images/emoji/twitter/crayon.png and b/public/images/emoji/twitter/crayon.png differ diff --git a/public/images/emoji/twitter/credit_card.png b/public/images/emoji/twitter/credit_card.png index 5f8f1229b..3a53503d6 100644 Binary files a/public/images/emoji/twitter/credit_card.png and b/public/images/emoji/twitter/credit_card.png differ diff --git a/public/images/emoji/twitter/crescent_moon.png b/public/images/emoji/twitter/crescent_moon.png index 353c19d84..5462ab485 100644 Binary files a/public/images/emoji/twitter/crescent_moon.png and b/public/images/emoji/twitter/crescent_moon.png differ diff --git a/public/images/emoji/twitter/cricket.png b/public/images/emoji/twitter/cricket.png index 128d9efa8..8a0bf65a6 100644 Binary files a/public/images/emoji/twitter/cricket.png and b/public/images/emoji/twitter/cricket.png differ diff --git a/public/images/emoji/twitter/cricket_bat_ball.png b/public/images/emoji/twitter/cricket_bat_ball.png new file mode 100644 index 000000000..8a0bf65a6 Binary files /dev/null and b/public/images/emoji/twitter/cricket_bat_ball.png differ diff --git a/public/images/emoji/twitter/crocodile.png b/public/images/emoji/twitter/crocodile.png index 0dee6b8e3..c80fa94f7 100644 Binary files a/public/images/emoji/twitter/crocodile.png and b/public/images/emoji/twitter/crocodile.png differ diff --git a/public/images/emoji/twitter/cross.png b/public/images/emoji/twitter/cross.png index 53f8e5cd4..f11e296dd 100644 Binary files a/public/images/emoji/twitter/cross.png and b/public/images/emoji/twitter/cross.png differ diff --git a/public/images/emoji/twitter/crossed_flags.png b/public/images/emoji/twitter/crossed_flags.png index 33fd9fba3..f78b11032 100644 Binary files a/public/images/emoji/twitter/crossed_flags.png and b/public/images/emoji/twitter/crossed_flags.png differ diff --git a/public/images/emoji/twitter/crossed_swords.png b/public/images/emoji/twitter/crossed_swords.png index ec1da0436..644b01652 100644 Binary files a/public/images/emoji/twitter/crossed_swords.png and b/public/images/emoji/twitter/crossed_swords.png differ diff --git a/public/images/emoji/twitter/crown.png b/public/images/emoji/twitter/crown.png index c54072e8d..6e7c89586 100644 Binary files a/public/images/emoji/twitter/crown.png and b/public/images/emoji/twitter/crown.png differ diff --git a/public/images/emoji/twitter/cruise_ship.png b/public/images/emoji/twitter/cruise_ship.png index 99ea24ed7..b1ee56134 100644 Binary files a/public/images/emoji/twitter/cruise_ship.png and b/public/images/emoji/twitter/cruise_ship.png differ diff --git a/public/images/emoji/twitter/cry.png b/public/images/emoji/twitter/cry.png index 2957a058c..7202e049e 100644 Binary files a/public/images/emoji/twitter/cry.png and b/public/images/emoji/twitter/cry.png differ diff --git a/public/images/emoji/twitter/crying_cat_face.png b/public/images/emoji/twitter/crying_cat_face.png index a5fe5d141..17e4845f5 100644 Binary files a/public/images/emoji/twitter/crying_cat_face.png and b/public/images/emoji/twitter/crying_cat_face.png differ diff --git a/public/images/emoji/twitter/crystal_ball.png b/public/images/emoji/twitter/crystal_ball.png index 3bc0ce3cd..131a6971b 100644 Binary files a/public/images/emoji/twitter/crystal_ball.png and b/public/images/emoji/twitter/crystal_ball.png differ diff --git a/public/images/emoji/twitter/cupid.png b/public/images/emoji/twitter/cupid.png index e8a56cf26..30f6c4435 100644 Binary files a/public/images/emoji/twitter/cupid.png and b/public/images/emoji/twitter/cupid.png differ diff --git a/public/images/emoji/twitter/curly_loop.png b/public/images/emoji/twitter/curly_loop.png index b189d1bc4..2ce37d461 100644 Binary files a/public/images/emoji/twitter/curly_loop.png and b/public/images/emoji/twitter/curly_loop.png differ diff --git a/public/images/emoji/twitter/currency_exchange.png b/public/images/emoji/twitter/currency_exchange.png index 6784ecd89..713615ce1 100644 Binary files a/public/images/emoji/twitter/currency_exchange.png and b/public/images/emoji/twitter/currency_exchange.png differ diff --git a/public/images/emoji/twitter/curry.png b/public/images/emoji/twitter/curry.png index 650602ab5..295fa8101 100644 Binary files a/public/images/emoji/twitter/curry.png and b/public/images/emoji/twitter/curry.png differ diff --git a/public/images/emoji/twitter/custard.png b/public/images/emoji/twitter/custard.png index 5edf08274..673db8a3a 100644 Binary files a/public/images/emoji/twitter/custard.png and b/public/images/emoji/twitter/custard.png differ diff --git a/public/images/emoji/twitter/customs.png b/public/images/emoji/twitter/customs.png index fed592323..bd95e5d1c 100644 Binary files a/public/images/emoji/twitter/customs.png and b/public/images/emoji/twitter/customs.png differ diff --git a/public/images/emoji/twitter/cyclone.png b/public/images/emoji/twitter/cyclone.png index e9747a509..06bd2c2d0 100644 Binary files a/public/images/emoji/twitter/cyclone.png and b/public/images/emoji/twitter/cyclone.png differ diff --git a/public/images/emoji/twitter/dagger.png b/public/images/emoji/twitter/dagger.png index 85607ff4c..8e56922aa 100644 Binary files a/public/images/emoji/twitter/dagger.png and b/public/images/emoji/twitter/dagger.png differ diff --git a/public/images/emoji/twitter/dagger_knife.png b/public/images/emoji/twitter/dagger_knife.png new file mode 100644 index 000000000..8e56922aa Binary files /dev/null and b/public/images/emoji/twitter/dagger_knife.png differ diff --git a/public/images/emoji/twitter/dancer.png b/public/images/emoji/twitter/dancer.png index 3d80c20ec..b39cc3a9e 100644 Binary files a/public/images/emoji/twitter/dancer.png and b/public/images/emoji/twitter/dancer.png differ diff --git a/public/images/emoji/twitter/dancers.png b/public/images/emoji/twitter/dancers.png index 368e10d33..4f9a95af3 100644 Binary files a/public/images/emoji/twitter/dancers.png and b/public/images/emoji/twitter/dancers.png differ diff --git a/public/images/emoji/twitter/dango.png b/public/images/emoji/twitter/dango.png index c1bc99fa2..ab7808456 100644 Binary files a/public/images/emoji/twitter/dango.png and b/public/images/emoji/twitter/dango.png differ diff --git a/public/images/emoji/twitter/dark_sunglasses.png b/public/images/emoji/twitter/dark_sunglasses.png index 5e20bb49f..a4a0514f9 100644 Binary files a/public/images/emoji/twitter/dark_sunglasses.png and b/public/images/emoji/twitter/dark_sunglasses.png differ diff --git a/public/images/emoji/twitter/dart.png b/public/images/emoji/twitter/dart.png index 97d1606df..51cea45f9 100644 Binary files a/public/images/emoji/twitter/dart.png and b/public/images/emoji/twitter/dart.png differ diff --git a/public/images/emoji/twitter/dash.png b/public/images/emoji/twitter/dash.png index 60bf7a574..0c75613aa 100644 Binary files a/public/images/emoji/twitter/dash.png and b/public/images/emoji/twitter/dash.png differ diff --git a/public/images/emoji/twitter/date.png b/public/images/emoji/twitter/date.png index 830bebb96..367d67c7e 100644 Binary files a/public/images/emoji/twitter/date.png and b/public/images/emoji/twitter/date.png differ diff --git a/public/images/emoji/twitter/de.png b/public/images/emoji/twitter/de.png index 576dcd27b..746bf1101 100644 Binary files a/public/images/emoji/twitter/de.png and b/public/images/emoji/twitter/de.png differ diff --git a/public/images/emoji/twitter/deciduous_tree.png b/public/images/emoji/twitter/deciduous_tree.png index 97ab7f595..4b24d956c 100644 Binary files a/public/images/emoji/twitter/deciduous_tree.png and b/public/images/emoji/twitter/deciduous_tree.png differ diff --git a/public/images/emoji/twitter/department_store.png b/public/images/emoji/twitter/department_store.png index c6c255633..43138883c 100644 Binary files a/public/images/emoji/twitter/department_store.png and b/public/images/emoji/twitter/department_store.png differ diff --git a/public/images/emoji/twitter/derelict_house_building.png b/public/images/emoji/twitter/derelict_house_building.png new file mode 100644 index 000000000..a48da6049 Binary files /dev/null and b/public/images/emoji/twitter/derelict_house_building.png differ diff --git a/public/images/emoji/twitter/desert.png b/public/images/emoji/twitter/desert.png index 3ec8a867b..34cde2e36 100644 Binary files a/public/images/emoji/twitter/desert.png and b/public/images/emoji/twitter/desert.png differ diff --git a/public/images/emoji/twitter/desert_island.png b/public/images/emoji/twitter/desert_island.png new file mode 100644 index 000000000..37832e018 Binary files /dev/null and b/public/images/emoji/twitter/desert_island.png differ diff --git a/public/images/emoji/twitter/desktop.png b/public/images/emoji/twitter/desktop.png index ba57371eb..120faa753 100644 Binary files a/public/images/emoji/twitter/desktop.png and b/public/images/emoji/twitter/desktop.png differ diff --git a/public/images/emoji/twitter/desktop_computer.png b/public/images/emoji/twitter/desktop_computer.png new file mode 100644 index 000000000..120faa753 Binary files /dev/null and b/public/images/emoji/twitter/desktop_computer.png differ diff --git a/public/images/emoji/twitter/diamond_shape_with_a_dot_inside.png b/public/images/emoji/twitter/diamond_shape_with_a_dot_inside.png index 43d6967c0..7e62b1536 100644 Binary files a/public/images/emoji/twitter/diamond_shape_with_a_dot_inside.png and b/public/images/emoji/twitter/diamond_shape_with_a_dot_inside.png differ diff --git a/public/images/emoji/twitter/diamonds.png b/public/images/emoji/twitter/diamonds.png index 8fd4e2de3..78d2b4e5d 100644 Binary files a/public/images/emoji/twitter/diamonds.png and b/public/images/emoji/twitter/diamonds.png differ diff --git a/public/images/emoji/twitter/disappointed.png b/public/images/emoji/twitter/disappointed.png index 7bbd57a6d..7d0b56d48 100644 Binary files a/public/images/emoji/twitter/disappointed.png and b/public/images/emoji/twitter/disappointed.png differ diff --git a/public/images/emoji/twitter/disappointed_relieved.png b/public/images/emoji/twitter/disappointed_relieved.png index 6f2fe9d84..c6da50200 100644 Binary files a/public/images/emoji/twitter/disappointed_relieved.png and b/public/images/emoji/twitter/disappointed_relieved.png differ diff --git a/public/images/emoji/twitter/dividers.png b/public/images/emoji/twitter/dividers.png index fe01846bb..b1e27091c 100644 Binary files a/public/images/emoji/twitter/dividers.png and b/public/images/emoji/twitter/dividers.png differ diff --git a/public/images/emoji/twitter/dizzy.png b/public/images/emoji/twitter/dizzy.png index 8e44e593a..362150827 100644 Binary files a/public/images/emoji/twitter/dizzy.png and b/public/images/emoji/twitter/dizzy.png differ diff --git a/public/images/emoji/twitter/dizzy_face.png b/public/images/emoji/twitter/dizzy_face.png index a64178596..527b0bed2 100644 Binary files a/public/images/emoji/twitter/dizzy_face.png and b/public/images/emoji/twitter/dizzy_face.png differ diff --git a/public/images/emoji/twitter/do_not_litter.png b/public/images/emoji/twitter/do_not_litter.png index 95cc973a1..86e5cfda4 100644 Binary files a/public/images/emoji/twitter/do_not_litter.png and b/public/images/emoji/twitter/do_not_litter.png differ diff --git a/public/images/emoji/twitter/dog.png b/public/images/emoji/twitter/dog.png index c8b0b70c6..91f68d688 100644 Binary files a/public/images/emoji/twitter/dog.png and b/public/images/emoji/twitter/dog.png differ diff --git a/public/images/emoji/twitter/dog2.png b/public/images/emoji/twitter/dog2.png index e92f1df08..12dd201bc 100644 Binary files a/public/images/emoji/twitter/dog2.png and b/public/images/emoji/twitter/dog2.png differ diff --git a/public/images/emoji/twitter/dollar.png b/public/images/emoji/twitter/dollar.png index 54c20f7f5..7cf0fbcf4 100644 Binary files a/public/images/emoji/twitter/dollar.png and b/public/images/emoji/twitter/dollar.png differ diff --git a/public/images/emoji/twitter/dolls.png b/public/images/emoji/twitter/dolls.png index 61e39c828..182370e8a 100644 Binary files a/public/images/emoji/twitter/dolls.png and b/public/images/emoji/twitter/dolls.png differ diff --git a/public/images/emoji/twitter/dolphin.png b/public/images/emoji/twitter/dolphin.png index 60559867d..1055ea9cb 100644 Binary files a/public/images/emoji/twitter/dolphin.png and b/public/images/emoji/twitter/dolphin.png differ diff --git a/public/images/emoji/twitter/door.png b/public/images/emoji/twitter/door.png index 7ec70cfce..3c9508169 100644 Binary files a/public/images/emoji/twitter/door.png and b/public/images/emoji/twitter/door.png differ diff --git a/public/images/emoji/twitter/double_vertical_bar.png b/public/images/emoji/twitter/double_vertical_bar.png new file mode 100644 index 000000000..624e2df71 Binary files /dev/null and b/public/images/emoji/twitter/double_vertical_bar.png differ diff --git a/public/images/emoji/twitter/doughnut.png b/public/images/emoji/twitter/doughnut.png index a11d44e0f..6c09ea3c7 100644 Binary files a/public/images/emoji/twitter/doughnut.png and b/public/images/emoji/twitter/doughnut.png differ diff --git a/public/images/emoji/twitter/dove.png b/public/images/emoji/twitter/dove.png index c303dda42..721749b09 100644 Binary files a/public/images/emoji/twitter/dove.png and b/public/images/emoji/twitter/dove.png differ diff --git a/public/images/emoji/twitter/dove_of_peace.png b/public/images/emoji/twitter/dove_of_peace.png new file mode 100644 index 000000000..721749b09 Binary files /dev/null and b/public/images/emoji/twitter/dove_of_peace.png differ diff --git a/public/images/emoji/twitter/dragon.png b/public/images/emoji/twitter/dragon.png index 0acbdd203..40233507f 100644 Binary files a/public/images/emoji/twitter/dragon.png and b/public/images/emoji/twitter/dragon.png differ diff --git a/public/images/emoji/twitter/dragon_face.png b/public/images/emoji/twitter/dragon_face.png index e68a469ae..8dbce8f24 100644 Binary files a/public/images/emoji/twitter/dragon_face.png and b/public/images/emoji/twitter/dragon_face.png differ diff --git a/public/images/emoji/twitter/dress.png b/public/images/emoji/twitter/dress.png index 1ba418f1c..12aea7082 100644 Binary files a/public/images/emoji/twitter/dress.png and b/public/images/emoji/twitter/dress.png differ diff --git a/public/images/emoji/twitter/dromedary_camel.png b/public/images/emoji/twitter/dromedary_camel.png index 39315e7db..fce8435bb 100644 Binary files a/public/images/emoji/twitter/dromedary_camel.png and b/public/images/emoji/twitter/dromedary_camel.png differ diff --git a/public/images/emoji/twitter/droplet.png b/public/images/emoji/twitter/droplet.png index c1c509dda..f7d7aeb01 100644 Binary files a/public/images/emoji/twitter/droplet.png and b/public/images/emoji/twitter/droplet.png differ diff --git a/public/images/emoji/twitter/dvd.png b/public/images/emoji/twitter/dvd.png index dea243dfe..c5823e4d8 100644 Binary files a/public/images/emoji/twitter/dvd.png and b/public/images/emoji/twitter/dvd.png differ diff --git a/public/images/emoji/twitter/e-mail.png b/public/images/emoji/twitter/e-mail.png index 9a4302c36..e1f706f93 100644 Binary files a/public/images/emoji/twitter/e-mail.png and b/public/images/emoji/twitter/e-mail.png differ diff --git a/public/images/emoji/twitter/ear.png b/public/images/emoji/twitter/ear.png index 0f0c23132..06f66ba7c 100644 Binary files a/public/images/emoji/twitter/ear.png and b/public/images/emoji/twitter/ear.png differ diff --git a/public/images/emoji/twitter/ear_of_rice.png b/public/images/emoji/twitter/ear_of_rice.png index 0f0ff9b08..0bfd35ba7 100644 Binary files a/public/images/emoji/twitter/ear_of_rice.png and b/public/images/emoji/twitter/ear_of_rice.png differ diff --git a/public/images/emoji/twitter/earth_africa.png b/public/images/emoji/twitter/earth_africa.png index 625b905eb..2a949c2f1 100644 Binary files a/public/images/emoji/twitter/earth_africa.png and b/public/images/emoji/twitter/earth_africa.png differ diff --git a/public/images/emoji/twitter/earth_americas.png b/public/images/emoji/twitter/earth_americas.png index 205fa8921..593af3074 100644 Binary files a/public/images/emoji/twitter/earth_americas.png and b/public/images/emoji/twitter/earth_americas.png differ diff --git a/public/images/emoji/twitter/earth_asia.png b/public/images/emoji/twitter/earth_asia.png index e214ff573..b4c2b8e3a 100644 Binary files a/public/images/emoji/twitter/earth_asia.png and b/public/images/emoji/twitter/earth_asia.png differ diff --git a/public/images/emoji/twitter/egg.png b/public/images/emoji/twitter/egg.png index 77755bf29..596a7389b 100644 Binary files a/public/images/emoji/twitter/egg.png and b/public/images/emoji/twitter/egg.png differ diff --git a/public/images/emoji/twitter/eggplant.png b/public/images/emoji/twitter/eggplant.png index 37a0f5e12..e224fee2c 100644 Binary files a/public/images/emoji/twitter/eggplant.png and b/public/images/emoji/twitter/eggplant.png differ diff --git a/public/images/emoji/twitter/eight.png b/public/images/emoji/twitter/eight.png index 1f2e6a492..e69de29bb 100644 Binary files a/public/images/emoji/twitter/eight.png and b/public/images/emoji/twitter/eight.png differ diff --git a/public/images/emoji/twitter/eight_pointed_black_star.png b/public/images/emoji/twitter/eight_pointed_black_star.png index 33f39ccb8..20c01bbe1 100644 Binary files a/public/images/emoji/twitter/eight_pointed_black_star.png and b/public/images/emoji/twitter/eight_pointed_black_star.png differ diff --git a/public/images/emoji/twitter/eight_spoked_asterisk.png b/public/images/emoji/twitter/eight_spoked_asterisk.png index 559da97fb..d691fd82e 100644 Binary files a/public/images/emoji/twitter/eight_spoked_asterisk.png and b/public/images/emoji/twitter/eight_spoked_asterisk.png differ diff --git a/public/images/emoji/twitter/electric_plug.png b/public/images/emoji/twitter/electric_plug.png index 5d69957f0..160aa7355 100644 Binary files a/public/images/emoji/twitter/electric_plug.png and b/public/images/emoji/twitter/electric_plug.png differ diff --git a/public/images/emoji/twitter/elephant.png b/public/images/emoji/twitter/elephant.png index 40d063a46..21aa28aab 100644 Binary files a/public/images/emoji/twitter/elephant.png and b/public/images/emoji/twitter/elephant.png differ diff --git a/public/images/emoji/twitter/email.png b/public/images/emoji/twitter/email.png index 66bb2e2b9..e1f706f93 100644 Binary files a/public/images/emoji/twitter/email.png and b/public/images/emoji/twitter/email.png differ diff --git a/public/images/emoji/twitter/end.png b/public/images/emoji/twitter/end.png index 462a3913a..398caa505 100644 Binary files a/public/images/emoji/twitter/end.png and b/public/images/emoji/twitter/end.png differ diff --git a/public/images/emoji/twitter/envelope.png b/public/images/emoji/twitter/envelope.png index 68d3a096e..fcdd33b0d 100644 Binary files a/public/images/emoji/twitter/envelope.png and b/public/images/emoji/twitter/envelope.png differ diff --git a/public/images/emoji/twitter/envelope_with_arrow.png b/public/images/emoji/twitter/envelope_with_arrow.png index 101bc8d71..2c4b6cc89 100644 Binary files a/public/images/emoji/twitter/envelope_with_arrow.png and b/public/images/emoji/twitter/envelope_with_arrow.png differ diff --git a/public/images/emoji/twitter/es.png b/public/images/emoji/twitter/es.png index 56bf2dd7c..e0da30d5a 100644 Binary files a/public/images/emoji/twitter/es.png and b/public/images/emoji/twitter/es.png differ diff --git a/public/images/emoji/twitter/euro.png b/public/images/emoji/twitter/euro.png index 6bec9f0a7..6178f2182 100644 Binary files a/public/images/emoji/twitter/euro.png and b/public/images/emoji/twitter/euro.png differ diff --git a/public/images/emoji/twitter/european_castle.png b/public/images/emoji/twitter/european_castle.png index 7fb8518bf..8ccf21a04 100644 Binary files a/public/images/emoji/twitter/european_castle.png and b/public/images/emoji/twitter/european_castle.png differ diff --git a/public/images/emoji/twitter/european_post_office.png b/public/images/emoji/twitter/european_post_office.png index f4f3c9f82..3d68524b8 100644 Binary files a/public/images/emoji/twitter/european_post_office.png and b/public/images/emoji/twitter/european_post_office.png differ diff --git a/public/images/emoji/twitter/evergreen_tree.png b/public/images/emoji/twitter/evergreen_tree.png index 77d8c7a11..a719428f3 100644 Binary files a/public/images/emoji/twitter/evergreen_tree.png and b/public/images/emoji/twitter/evergreen_tree.png differ diff --git a/public/images/emoji/twitter/exclamation.png b/public/images/emoji/twitter/exclamation.png index 4e58af6e6..05ec6365e 100644 Binary files a/public/images/emoji/twitter/exclamation.png and b/public/images/emoji/twitter/exclamation.png differ diff --git a/public/images/emoji/twitter/expressionless.png b/public/images/emoji/twitter/expressionless.png index 311494354..a388cb4b1 100644 Binary files a/public/images/emoji/twitter/expressionless.png and b/public/images/emoji/twitter/expressionless.png differ diff --git a/public/images/emoji/twitter/eye.png b/public/images/emoji/twitter/eye.png index 182e10523..5c77590cb 100644 Binary files a/public/images/emoji/twitter/eye.png and b/public/images/emoji/twitter/eye.png differ diff --git a/public/images/emoji/twitter/eyeglasses.png b/public/images/emoji/twitter/eyeglasses.png index 8cab3a709..265ff3dde 100644 Binary files a/public/images/emoji/twitter/eyeglasses.png and b/public/images/emoji/twitter/eyeglasses.png differ diff --git a/public/images/emoji/twitter/eyes.png b/public/images/emoji/twitter/eyes.png index ce47b7dc3..9f7ea0490 100644 Binary files a/public/images/emoji/twitter/eyes.png and b/public/images/emoji/twitter/eyes.png differ diff --git a/public/images/emoji/twitter/face_with_head_bandage.png b/public/images/emoji/twitter/face_with_head_bandage.png new file mode 100644 index 000000000..f68e8b2f1 Binary files /dev/null and b/public/images/emoji/twitter/face_with_head_bandage.png differ diff --git a/public/images/emoji/twitter/face_with_rolling_eyes.png b/public/images/emoji/twitter/face_with_rolling_eyes.png new file mode 100644 index 000000000..19f91b44b Binary files /dev/null and b/public/images/emoji/twitter/face_with_rolling_eyes.png differ diff --git a/public/images/emoji/twitter/face_with_thermometer.png b/public/images/emoji/twitter/face_with_thermometer.png new file mode 100644 index 000000000..5539251aa Binary files /dev/null and b/public/images/emoji/twitter/face_with_thermometer.png differ diff --git a/public/images/emoji/twitter/facepunch.png b/public/images/emoji/twitter/facepunch.png deleted file mode 100644 index 90a286802..000000000 Binary files a/public/images/emoji/twitter/facepunch.png and /dev/null differ diff --git a/public/images/emoji/twitter/factory.png b/public/images/emoji/twitter/factory.png index 428833f98..aa8a0a7a5 100644 Binary files a/public/images/emoji/twitter/factory.png and b/public/images/emoji/twitter/factory.png differ diff --git a/public/images/emoji/twitter/fallen_leaf.png b/public/images/emoji/twitter/fallen_leaf.png index 5c0779601..778e3e392 100644 Binary files a/public/images/emoji/twitter/fallen_leaf.png and b/public/images/emoji/twitter/fallen_leaf.png differ diff --git a/public/images/emoji/twitter/family.png b/public/images/emoji/twitter/family.png deleted file mode 100644 index 911bb57bc..000000000 Binary files a/public/images/emoji/twitter/family.png and /dev/null differ diff --git a/public/images/emoji/twitter/family_man_woman_boys.png b/public/images/emoji/twitter/family_man_woman_boys.png new file mode 100644 index 000000000..6e182893e Binary files /dev/null and b/public/images/emoji/twitter/family_man_woman_boys.png differ diff --git a/public/images/emoji/twitter/family_man_woman_girl.png b/public/images/emoji/twitter/family_man_woman_girl.png new file mode 100644 index 000000000..87fc9a756 Binary files /dev/null and b/public/images/emoji/twitter/family_man_woman_girl.png differ diff --git a/public/images/emoji/twitter/family_man_woman_girl_boy.png b/public/images/emoji/twitter/family_man_woman_girl_boy.png new file mode 100644 index 000000000..245e06801 Binary files /dev/null and b/public/images/emoji/twitter/family_man_woman_girl_boy.png differ diff --git a/public/images/emoji/twitter/family_man_woman_girls.png b/public/images/emoji/twitter/family_man_woman_girls.png new file mode 100644 index 000000000..932e8dc1f Binary files /dev/null and b/public/images/emoji/twitter/family_man_woman_girls.png differ diff --git a/public/images/emoji/twitter/family_men_boy.png b/public/images/emoji/twitter/family_men_boy.png new file mode 100644 index 000000000..d7f056198 Binary files /dev/null and b/public/images/emoji/twitter/family_men_boy.png differ diff --git a/public/images/emoji/twitter/family_men_boys.png b/public/images/emoji/twitter/family_men_boys.png new file mode 100644 index 000000000..17ef09256 Binary files /dev/null and b/public/images/emoji/twitter/family_men_boys.png differ diff --git a/public/images/emoji/twitter/family_men_girl.png b/public/images/emoji/twitter/family_men_girl.png new file mode 100644 index 000000000..cc4a11184 Binary files /dev/null and b/public/images/emoji/twitter/family_men_girl.png differ diff --git a/public/images/emoji/twitter/family_men_girl_boy.png b/public/images/emoji/twitter/family_men_girl_boy.png new file mode 100644 index 000000000..7772e1d79 Binary files /dev/null and b/public/images/emoji/twitter/family_men_girl_boy.png differ diff --git a/public/images/emoji/twitter/family_men_girls.png b/public/images/emoji/twitter/family_men_girls.png new file mode 100644 index 000000000..3367cfcd7 Binary files /dev/null and b/public/images/emoji/twitter/family_men_girls.png differ diff --git a/public/images/emoji/twitter/family_women_boy.png b/public/images/emoji/twitter/family_women_boy.png new file mode 100644 index 000000000..e9ce32348 Binary files /dev/null and b/public/images/emoji/twitter/family_women_boy.png differ diff --git a/public/images/emoji/twitter/family_women_boys.png b/public/images/emoji/twitter/family_women_boys.png new file mode 100644 index 000000000..a5394941d Binary files /dev/null and b/public/images/emoji/twitter/family_women_boys.png differ diff --git a/public/images/emoji/twitter/family_women_girl.png b/public/images/emoji/twitter/family_women_girl.png new file mode 100644 index 000000000..ce0352c19 Binary files /dev/null and b/public/images/emoji/twitter/family_women_girl.png differ diff --git a/public/images/emoji/twitter/family_women_girl_boy.png b/public/images/emoji/twitter/family_women_girl_boy.png new file mode 100644 index 000000000..24cf7536f Binary files /dev/null and b/public/images/emoji/twitter/family_women_girl_boy.png differ diff --git a/public/images/emoji/twitter/family_women_girls.png b/public/images/emoji/twitter/family_women_girls.png new file mode 100644 index 000000000..610f517f2 Binary files /dev/null and b/public/images/emoji/twitter/family_women_girls.png differ diff --git a/public/images/emoji/twitter/fast_forward.png b/public/images/emoji/twitter/fast_forward.png index c7fe17c84..fe39be222 100644 Binary files a/public/images/emoji/twitter/fast_forward.png and b/public/images/emoji/twitter/fast_forward.png differ diff --git a/public/images/emoji/twitter/fax.png b/public/images/emoji/twitter/fax.png index 689e0c633..1c3438cde 100644 Binary files a/public/images/emoji/twitter/fax.png and b/public/images/emoji/twitter/fax.png differ diff --git a/public/images/emoji/twitter/fearful.png b/public/images/emoji/twitter/fearful.png index c0eae3060..5c0e5127d 100644 Binary files a/public/images/emoji/twitter/fearful.png and b/public/images/emoji/twitter/fearful.png differ diff --git a/public/images/emoji/twitter/feet.png b/public/images/emoji/twitter/feet.png index 36ca50f90..5d89252f0 100644 Binary files a/public/images/emoji/twitter/feet.png and b/public/images/emoji/twitter/feet.png differ diff --git a/public/images/emoji/twitter/female_couple_with_heart.png b/public/images/emoji/twitter/female_couple_with_heart.png new file mode 100644 index 000000000..16dd7df4d Binary files /dev/null and b/public/images/emoji/twitter/female_couple_with_heart.png differ diff --git a/public/images/emoji/twitter/female_couplekiss.png b/public/images/emoji/twitter/female_couplekiss.png new file mode 100644 index 000000000..f238608d9 Binary files /dev/null and b/public/images/emoji/twitter/female_couplekiss.png differ diff --git a/public/images/emoji/twitter/ferris_wheel.png b/public/images/emoji/twitter/ferris_wheel.png index fb25a463a..3168f01b4 100644 Binary files a/public/images/emoji/twitter/ferris_wheel.png and b/public/images/emoji/twitter/ferris_wheel.png differ diff --git a/public/images/emoji/twitter/ferry.png b/public/images/emoji/twitter/ferry.png index 26633aad4..b56a1cb3f 100644 Binary files a/public/images/emoji/twitter/ferry.png and b/public/images/emoji/twitter/ferry.png differ diff --git a/public/images/emoji/twitter/field_hockey.png b/public/images/emoji/twitter/field_hockey.png index 102120077..fb4f1e573 100644 Binary files a/public/images/emoji/twitter/field_hockey.png and b/public/images/emoji/twitter/field_hockey.png differ diff --git a/public/images/emoji/twitter/file_cabinet.png b/public/images/emoji/twitter/file_cabinet.png index 73162f330..f94b0fd46 100644 Binary files a/public/images/emoji/twitter/file_cabinet.png and b/public/images/emoji/twitter/file_cabinet.png differ diff --git a/public/images/emoji/twitter/file_folder.png b/public/images/emoji/twitter/file_folder.png index e4f27d582..0c7de7866 100644 Binary files a/public/images/emoji/twitter/file_folder.png and b/public/images/emoji/twitter/file_folder.png differ diff --git a/public/images/emoji/twitter/film_frames.png b/public/images/emoji/twitter/film_frames.png index f0fcd6fc1..863b21297 100644 Binary files a/public/images/emoji/twitter/film_frames.png and b/public/images/emoji/twitter/film_frames.png differ diff --git a/public/images/emoji/twitter/film_projector.png b/public/images/emoji/twitter/film_projector.png new file mode 100644 index 000000000..3acb6ea9c Binary files /dev/null and b/public/images/emoji/twitter/film_projector.png differ diff --git a/public/images/emoji/twitter/fire.png b/public/images/emoji/twitter/fire.png index 322a9bd51..df992620e 100644 Binary files a/public/images/emoji/twitter/fire.png and b/public/images/emoji/twitter/fire.png differ diff --git a/public/images/emoji/twitter/fire_engine.png b/public/images/emoji/twitter/fire_engine.png index 72403e3f4..a25281a2d 100644 Binary files a/public/images/emoji/twitter/fire_engine.png and b/public/images/emoji/twitter/fire_engine.png differ diff --git a/public/images/emoji/twitter/fireworks.png b/public/images/emoji/twitter/fireworks.png index d67a1af00..2734a6d6e 100644 Binary files a/public/images/emoji/twitter/fireworks.png and b/public/images/emoji/twitter/fireworks.png differ diff --git a/public/images/emoji/twitter/first_quarter_moon.png b/public/images/emoji/twitter/first_quarter_moon.png index 00435a5bd..5713cc73b 100644 Binary files a/public/images/emoji/twitter/first_quarter_moon.png and b/public/images/emoji/twitter/first_quarter_moon.png differ diff --git a/public/images/emoji/twitter/first_quarter_moon_with_face.png b/public/images/emoji/twitter/first_quarter_moon_with_face.png index ec2b890e0..ee984ef90 100644 Binary files a/public/images/emoji/twitter/first_quarter_moon_with_face.png and b/public/images/emoji/twitter/first_quarter_moon_with_face.png differ diff --git a/public/images/emoji/twitter/fish.png b/public/images/emoji/twitter/fish.png index 11d7d0de3..5108b00bb 100644 Binary files a/public/images/emoji/twitter/fish.png and b/public/images/emoji/twitter/fish.png differ diff --git a/public/images/emoji/twitter/fish_cake.png b/public/images/emoji/twitter/fish_cake.png index e5fce4bb5..2bf8bbc0f 100644 Binary files a/public/images/emoji/twitter/fish_cake.png and b/public/images/emoji/twitter/fish_cake.png differ diff --git a/public/images/emoji/twitter/fishing_pole_and_fish.png b/public/images/emoji/twitter/fishing_pole_and_fish.png index a16cc4427..cac34b4f7 100644 Binary files a/public/images/emoji/twitter/fishing_pole_and_fish.png and b/public/images/emoji/twitter/fishing_pole_and_fish.png differ diff --git a/public/images/emoji/twitter/fist.png b/public/images/emoji/twitter/fist.png index 63b926887..240544d25 100644 Binary files a/public/images/emoji/twitter/fist.png and b/public/images/emoji/twitter/fist.png differ diff --git a/public/images/emoji/twitter/five.png b/public/images/emoji/twitter/five.png index 77034136a..e69de29bb 100644 Binary files a/public/images/emoji/twitter/five.png and b/public/images/emoji/twitter/five.png differ diff --git a/public/images/emoji/twitter/flag_black.png b/public/images/emoji/twitter/flag_black.png index c8d8e24c3..5c1237bda 100644 Binary files a/public/images/emoji/twitter/flag_black.png and b/public/images/emoji/twitter/flag_black.png differ diff --git a/public/images/emoji/twitter/flag_cn.png b/public/images/emoji/twitter/flag_cn.png index 3c8867958..67efed2e4 100644 Binary files a/public/images/emoji/twitter/flag_cn.png and b/public/images/emoji/twitter/flag_cn.png differ diff --git a/public/images/emoji/twitter/flag_de.png b/public/images/emoji/twitter/flag_de.png index 8df6465df..746bf1101 100644 Binary files a/public/images/emoji/twitter/flag_de.png and b/public/images/emoji/twitter/flag_de.png differ diff --git a/public/images/emoji/twitter/flag_es.png b/public/images/emoji/twitter/flag_es.png index 4f5942de6..e0da30d5a 100644 Binary files a/public/images/emoji/twitter/flag_es.png and b/public/images/emoji/twitter/flag_es.png differ diff --git a/public/images/emoji/twitter/flag_fr.png b/public/images/emoji/twitter/flag_fr.png index 1818a910e..7943b73f6 100644 Binary files a/public/images/emoji/twitter/flag_fr.png and b/public/images/emoji/twitter/flag_fr.png differ diff --git a/public/images/emoji/twitter/flag_gb.png b/public/images/emoji/twitter/flag_gb.png index fa1e1d658..ad2a6622e 100644 Binary files a/public/images/emoji/twitter/flag_gb.png and b/public/images/emoji/twitter/flag_gb.png differ diff --git a/public/images/emoji/twitter/flag_it.png b/public/images/emoji/twitter/flag_it.png index 556a8df4b..13bbb1b1f 100644 Binary files a/public/images/emoji/twitter/flag_it.png and b/public/images/emoji/twitter/flag_it.png differ diff --git a/public/images/emoji/twitter/flag_jp.png b/public/images/emoji/twitter/flag_jp.png index 53fabdb48..cca79ffb9 100644 Binary files a/public/images/emoji/twitter/flag_jp.png and b/public/images/emoji/twitter/flag_jp.png differ diff --git a/public/images/emoji/twitter/flag_kr.png b/public/images/emoji/twitter/flag_kr.png index 2132a435e..a0657a04c 100644 Binary files a/public/images/emoji/twitter/flag_kr.png and b/public/images/emoji/twitter/flag_kr.png differ diff --git a/public/images/emoji/twitter/flag_ru.png b/public/images/emoji/twitter/flag_ru.png index 798809975..3ecaefd94 100644 Binary files a/public/images/emoji/twitter/flag_ru.png and b/public/images/emoji/twitter/flag_ru.png differ diff --git a/public/images/emoji/twitter/flag_us.png b/public/images/emoji/twitter/flag_us.png index d2d67ab78..450853eca 100644 Binary files a/public/images/emoji/twitter/flag_us.png and b/public/images/emoji/twitter/flag_us.png differ diff --git a/public/images/emoji/twitter/flag_white.png b/public/images/emoji/twitter/flag_white.png index 68543be8f..5f052fff2 100644 Binary files a/public/images/emoji/twitter/flag_white.png and b/public/images/emoji/twitter/flag_white.png differ diff --git a/public/images/emoji/twitter/flags.png b/public/images/emoji/twitter/flags.png index 73af7ed5b..d4cce444c 100644 Binary files a/public/images/emoji/twitter/flags.png and b/public/images/emoji/twitter/flags.png differ diff --git a/public/images/emoji/twitter/flame.png b/public/images/emoji/twitter/flame.png new file mode 100644 index 000000000..df992620e Binary files /dev/null and b/public/images/emoji/twitter/flame.png differ diff --git a/public/images/emoji/twitter/flashlight.png b/public/images/emoji/twitter/flashlight.png index d754b9efa..b9b6635c0 100644 Binary files a/public/images/emoji/twitter/flashlight.png and b/public/images/emoji/twitter/flashlight.png differ diff --git a/public/images/emoji/twitter/fleur-de-lis.png b/public/images/emoji/twitter/fleur-de-lis.png index eaa91aeb3..27cd20904 100644 Binary files a/public/images/emoji/twitter/fleur-de-lis.png and b/public/images/emoji/twitter/fleur-de-lis.png differ diff --git a/public/images/emoji/twitter/flipper.png b/public/images/emoji/twitter/flipper.png deleted file mode 100644 index 157c51d3d..000000000 Binary files a/public/images/emoji/twitter/flipper.png and /dev/null differ diff --git a/public/images/emoji/twitter/floppy_disk.png b/public/images/emoji/twitter/floppy_disk.png index 29991d01c..757a9877a 100644 Binary files a/public/images/emoji/twitter/floppy_disk.png and b/public/images/emoji/twitter/floppy_disk.png differ diff --git a/public/images/emoji/twitter/flower_playing_cards.png b/public/images/emoji/twitter/flower_playing_cards.png index 8abece28b..c0fe22e7d 100644 Binary files a/public/images/emoji/twitter/flower_playing_cards.png and b/public/images/emoji/twitter/flower_playing_cards.png differ diff --git a/public/images/emoji/twitter/flushed.png b/public/images/emoji/twitter/flushed.png index 26e0338c9..e3cf5ad6c 100644 Binary files a/public/images/emoji/twitter/flushed.png and b/public/images/emoji/twitter/flushed.png differ diff --git a/public/images/emoji/twitter/fog.png b/public/images/emoji/twitter/fog.png index f8aee2c7b..c671f9b22 100644 Binary files a/public/images/emoji/twitter/fog.png and b/public/images/emoji/twitter/fog.png differ diff --git a/public/images/emoji/twitter/foggy.png b/public/images/emoji/twitter/foggy.png index 98fe7062c..44febb1d1 100644 Binary files a/public/images/emoji/twitter/foggy.png and b/public/images/emoji/twitter/foggy.png differ diff --git a/public/images/emoji/twitter/football.png b/public/images/emoji/twitter/football.png index 97c5e680a..36dc68b7f 100644 Binary files a/public/images/emoji/twitter/football.png and b/public/images/emoji/twitter/football.png differ diff --git a/public/images/emoji/twitter/footprints.png b/public/images/emoji/twitter/footprints.png index ab903d377..1869c3930 100644 Binary files a/public/images/emoji/twitter/footprints.png and b/public/images/emoji/twitter/footprints.png differ diff --git a/public/images/emoji/twitter/fork_and_knife.png b/public/images/emoji/twitter/fork_and_knife.png index 305b1fe82..c61873438 100644 Binary files a/public/images/emoji/twitter/fork_and_knife.png and b/public/images/emoji/twitter/fork_and_knife.png differ diff --git a/public/images/emoji/twitter/fork_and_knife_with_plate.png b/public/images/emoji/twitter/fork_and_knife_with_plate.png new file mode 100644 index 000000000..df63dcc4f Binary files /dev/null and b/public/images/emoji/twitter/fork_and_knife_with_plate.png differ diff --git a/public/images/emoji/twitter/fork_knife_plate.png b/public/images/emoji/twitter/fork_knife_plate.png index 693fa161c..df63dcc4f 100644 Binary files a/public/images/emoji/twitter/fork_knife_plate.png and b/public/images/emoji/twitter/fork_knife_plate.png differ diff --git a/public/images/emoji/twitter/fountain.png b/public/images/emoji/twitter/fountain.png index 24287325d..06b6307c0 100644 Binary files a/public/images/emoji/twitter/fountain.png and b/public/images/emoji/twitter/fountain.png differ diff --git a/public/images/emoji/twitter/four.png b/public/images/emoji/twitter/four.png index a6debcffc..e69de29bb 100644 Binary files a/public/images/emoji/twitter/four.png and b/public/images/emoji/twitter/four.png differ diff --git a/public/images/emoji/twitter/four_leaf_clover.png b/public/images/emoji/twitter/four_leaf_clover.png index cc9632ca9..eb7ba4628 100644 Binary files a/public/images/emoji/twitter/four_leaf_clover.png and b/public/images/emoji/twitter/four_leaf_clover.png differ diff --git a/public/images/emoji/twitter/fr.png b/public/images/emoji/twitter/fr.png index 8a9ec3c50..7943b73f6 100644 Binary files a/public/images/emoji/twitter/fr.png and b/public/images/emoji/twitter/fr.png differ diff --git a/public/images/emoji/twitter/frame_photo.png b/public/images/emoji/twitter/frame_photo.png index c49805242..ad38ccf08 100644 Binary files a/public/images/emoji/twitter/frame_photo.png and b/public/images/emoji/twitter/frame_photo.png differ diff --git a/public/images/emoji/twitter/frame_with_picture.png b/public/images/emoji/twitter/frame_with_picture.png new file mode 100644 index 000000000..ad38ccf08 Binary files /dev/null and b/public/images/emoji/twitter/frame_with_picture.png differ diff --git a/public/images/emoji/twitter/free.png b/public/images/emoji/twitter/free.png index 2c29f6538..86454606c 100644 Binary files a/public/images/emoji/twitter/free.png and b/public/images/emoji/twitter/free.png differ diff --git a/public/images/emoji/twitter/fried_shrimp.png b/public/images/emoji/twitter/fried_shrimp.png index 9bd785b51..cdf331770 100644 Binary files a/public/images/emoji/twitter/fried_shrimp.png and b/public/images/emoji/twitter/fried_shrimp.png differ diff --git a/public/images/emoji/twitter/fries.png b/public/images/emoji/twitter/fries.png index b5ebe812d..3c52d6b40 100644 Binary files a/public/images/emoji/twitter/fries.png and b/public/images/emoji/twitter/fries.png differ diff --git a/public/images/emoji/twitter/frog.png b/public/images/emoji/twitter/frog.png index 6e90b67d9..a323ed6a3 100644 Binary files a/public/images/emoji/twitter/frog.png and b/public/images/emoji/twitter/frog.png differ diff --git a/public/images/emoji/twitter/frowning.png b/public/images/emoji/twitter/frowning.png index 9b537c8ae..3cef24e85 100644 Binary files a/public/images/emoji/twitter/frowning.png and b/public/images/emoji/twitter/frowning.png differ diff --git a/public/images/emoji/twitter/frowning2.png b/public/images/emoji/twitter/frowning2.png index 0b8335cd5..1c5988a20 100644 Binary files a/public/images/emoji/twitter/frowning2.png and b/public/images/emoji/twitter/frowning2.png differ diff --git a/public/images/emoji/twitter/fuelpump.png b/public/images/emoji/twitter/fuelpump.png index e89361ded..c1a741c68 100644 Binary files a/public/images/emoji/twitter/fuelpump.png and b/public/images/emoji/twitter/fuelpump.png differ diff --git a/public/images/emoji/twitter/full_moon.png b/public/images/emoji/twitter/full_moon.png index 7d6cdea65..27497f720 100644 Binary files a/public/images/emoji/twitter/full_moon.png and b/public/images/emoji/twitter/full_moon.png differ diff --git a/public/images/emoji/twitter/full_moon_with_face.png b/public/images/emoji/twitter/full_moon_with_face.png index 04ea13b6d..98af01c5e 100644 Binary files a/public/images/emoji/twitter/full_moon_with_face.png and b/public/images/emoji/twitter/full_moon_with_face.png differ diff --git a/public/images/emoji/twitter/funeral_urn.png b/public/images/emoji/twitter/funeral_urn.png new file mode 100644 index 000000000..56112c50e Binary files /dev/null and b/public/images/emoji/twitter/funeral_urn.png differ diff --git a/public/images/emoji/twitter/game_die.png b/public/images/emoji/twitter/game_die.png index 6251fb05a..de9bd49f9 100644 Binary files a/public/images/emoji/twitter/game_die.png and b/public/images/emoji/twitter/game_die.png differ diff --git a/public/images/emoji/twitter/gb.png b/public/images/emoji/twitter/gb.png index 79cadb58e..ad2a6622e 100644 Binary files a/public/images/emoji/twitter/gb.png and b/public/images/emoji/twitter/gb.png differ diff --git a/public/images/emoji/twitter/gear.png b/public/images/emoji/twitter/gear.png index b85014eca..6a9d3b8d1 100644 Binary files a/public/images/emoji/twitter/gear.png and b/public/images/emoji/twitter/gear.png differ diff --git a/public/images/emoji/twitter/gem.png b/public/images/emoji/twitter/gem.png index b61b2bd2b..2fe689f35 100644 Binary files a/public/images/emoji/twitter/gem.png and b/public/images/emoji/twitter/gem.png differ diff --git a/public/images/emoji/twitter/gemini.png b/public/images/emoji/twitter/gemini.png index bc07ea9a8..83616019f 100644 Binary files a/public/images/emoji/twitter/gemini.png and b/public/images/emoji/twitter/gemini.png differ diff --git a/public/images/emoji/twitter/ghost.png b/public/images/emoji/twitter/ghost.png index e90310074..dce153060 100644 Binary files a/public/images/emoji/twitter/ghost.png and b/public/images/emoji/twitter/ghost.png differ diff --git a/public/images/emoji/twitter/gift.png b/public/images/emoji/twitter/gift.png index a2b3897bf..aa70fc8f5 100644 Binary files a/public/images/emoji/twitter/gift.png and b/public/images/emoji/twitter/gift.png differ diff --git a/public/images/emoji/twitter/gift_heart.png b/public/images/emoji/twitter/gift_heart.png index 74da29048..bcbd13ba4 100644 Binary files a/public/images/emoji/twitter/gift_heart.png and b/public/images/emoji/twitter/gift_heart.png differ diff --git a/public/images/emoji/twitter/girl.png b/public/images/emoji/twitter/girl.png index 42e21d3bb..b76ac7118 100644 Binary files a/public/images/emoji/twitter/girl.png and b/public/images/emoji/twitter/girl.png differ diff --git a/public/images/emoji/twitter/globe_with_meridians.png b/public/images/emoji/twitter/globe_with_meridians.png index 3f095701a..b20eb5c66 100644 Binary files a/public/images/emoji/twitter/globe_with_meridians.png and b/public/images/emoji/twitter/globe_with_meridians.png differ diff --git a/public/images/emoji/twitter/goat.png b/public/images/emoji/twitter/goat.png index 383abc1f0..9fa297966 100644 Binary files a/public/images/emoji/twitter/goat.png and b/public/images/emoji/twitter/goat.png differ diff --git a/public/images/emoji/twitter/golf.png b/public/images/emoji/twitter/golf.png index ad77eac5c..a378ccce2 100644 Binary files a/public/images/emoji/twitter/golf.png and b/public/images/emoji/twitter/golf.png differ diff --git a/public/images/emoji/twitter/golfer.png b/public/images/emoji/twitter/golfer.png index e13b10d9e..f8a187a88 100644 Binary files a/public/images/emoji/twitter/golfer.png and b/public/images/emoji/twitter/golfer.png differ diff --git a/public/images/emoji/twitter/grandma.png b/public/images/emoji/twitter/grandma.png new file mode 100644 index 000000000..fb6a0cc69 Binary files /dev/null and b/public/images/emoji/twitter/grandma.png differ diff --git a/public/images/emoji/twitter/grapes.png b/public/images/emoji/twitter/grapes.png index 9e766db96..6462d613f 100644 Binary files a/public/images/emoji/twitter/grapes.png and b/public/images/emoji/twitter/grapes.png differ diff --git a/public/images/emoji/twitter/green_apple.png b/public/images/emoji/twitter/green_apple.png index 5b8a85dcd..f45abc551 100644 Binary files a/public/images/emoji/twitter/green_apple.png and b/public/images/emoji/twitter/green_apple.png differ diff --git a/public/images/emoji/twitter/green_book.png b/public/images/emoji/twitter/green_book.png index 4f82e785a..156f1992d 100644 Binary files a/public/images/emoji/twitter/green_book.png and b/public/images/emoji/twitter/green_book.png differ diff --git a/public/images/emoji/twitter/green_heart.png b/public/images/emoji/twitter/green_heart.png index 188661980..93f1538f0 100644 Binary files a/public/images/emoji/twitter/green_heart.png and b/public/images/emoji/twitter/green_heart.png differ diff --git a/public/images/emoji/twitter/grey_exclamation.png b/public/images/emoji/twitter/grey_exclamation.png index a534ffd54..126c3f9e4 100644 Binary files a/public/images/emoji/twitter/grey_exclamation.png and b/public/images/emoji/twitter/grey_exclamation.png differ diff --git a/public/images/emoji/twitter/grey_question.png b/public/images/emoji/twitter/grey_question.png index a040ccadb..b0a3399ff 100644 Binary files a/public/images/emoji/twitter/grey_question.png and b/public/images/emoji/twitter/grey_question.png differ diff --git a/public/images/emoji/twitter/grimacing.png b/public/images/emoji/twitter/grimacing.png index aa09f80da..31239b76c 100644 Binary files a/public/images/emoji/twitter/grimacing.png and b/public/images/emoji/twitter/grimacing.png differ diff --git a/public/images/emoji/twitter/grin.png b/public/images/emoji/twitter/grin.png index bc4a45f22..41bb7be9b 100644 Binary files a/public/images/emoji/twitter/grin.png and b/public/images/emoji/twitter/grin.png differ diff --git a/public/images/emoji/twitter/grinning.png b/public/images/emoji/twitter/grinning.png index f964def14..4d970b6d7 100644 Binary files a/public/images/emoji/twitter/grinning.png and b/public/images/emoji/twitter/grinning.png differ diff --git a/public/images/emoji/twitter/guardsman.png b/public/images/emoji/twitter/guardsman.png index ffd702fe4..6ee3ce550 100644 Binary files a/public/images/emoji/twitter/guardsman.png and b/public/images/emoji/twitter/guardsman.png differ diff --git a/public/images/emoji/twitter/guitar.png b/public/images/emoji/twitter/guitar.png index f4d4cee26..3ef8ad93b 100644 Binary files a/public/images/emoji/twitter/guitar.png and b/public/images/emoji/twitter/guitar.png differ diff --git a/public/images/emoji/twitter/gun.png b/public/images/emoji/twitter/gun.png index f1ff34a44..1d754b2bd 100644 Binary files a/public/images/emoji/twitter/gun.png and b/public/images/emoji/twitter/gun.png differ diff --git a/public/images/emoji/twitter/haircut.png b/public/images/emoji/twitter/haircut.png index e2763af39..ea58297f9 100644 Binary files a/public/images/emoji/twitter/haircut.png and b/public/images/emoji/twitter/haircut.png differ diff --git a/public/images/emoji/twitter/hamburger.png b/public/images/emoji/twitter/hamburger.png index 25d55c423..4c271c166 100644 Binary files a/public/images/emoji/twitter/hamburger.png and b/public/images/emoji/twitter/hamburger.png differ diff --git a/public/images/emoji/twitter/hammer.png b/public/images/emoji/twitter/hammer.png index aa7583507..e82bd5f9e 100644 Binary files a/public/images/emoji/twitter/hammer.png and b/public/images/emoji/twitter/hammer.png differ diff --git a/public/images/emoji/twitter/hammer_and_pick.png b/public/images/emoji/twitter/hammer_and_pick.png new file mode 100644 index 000000000..71bb73f2c Binary files /dev/null and b/public/images/emoji/twitter/hammer_and_pick.png differ diff --git a/public/images/emoji/twitter/hammer_and_wrench.png b/public/images/emoji/twitter/hammer_and_wrench.png new file mode 100644 index 000000000..2b7c33b20 Binary files /dev/null and b/public/images/emoji/twitter/hammer_and_wrench.png differ diff --git a/public/images/emoji/twitter/hammer_pick.png b/public/images/emoji/twitter/hammer_pick.png index 3243f0a42..71bb73f2c 100644 Binary files a/public/images/emoji/twitter/hammer_pick.png and b/public/images/emoji/twitter/hammer_pick.png differ diff --git a/public/images/emoji/twitter/hamster.png b/public/images/emoji/twitter/hamster.png index 20cb6a94c..374bb61e9 100644 Binary files a/public/images/emoji/twitter/hamster.png and b/public/images/emoji/twitter/hamster.png differ diff --git a/public/images/emoji/twitter/hand.png b/public/images/emoji/twitter/hand.png deleted file mode 100644 index 21893fbdd..000000000 Binary files a/public/images/emoji/twitter/hand.png and /dev/null differ diff --git a/public/images/emoji/twitter/hand_splayed.png b/public/images/emoji/twitter/hand_splayed.png index cf2dcda2d..f41f01af4 100644 Binary files a/public/images/emoji/twitter/hand_splayed.png and b/public/images/emoji/twitter/hand_splayed.png differ diff --git a/public/images/emoji/twitter/handbag.png b/public/images/emoji/twitter/handbag.png index e154b9e0d..36b1a929b 100644 Binary files a/public/images/emoji/twitter/handbag.png and b/public/images/emoji/twitter/handbag.png differ diff --git a/public/images/emoji/twitter/hankey.png b/public/images/emoji/twitter/hankey.png index 7194246ee..51661e5df 100644 Binary files a/public/images/emoji/twitter/hankey.png and b/public/images/emoji/twitter/hankey.png differ diff --git a/public/images/emoji/twitter/hash.png b/public/images/emoji/twitter/hash.png index 496e3c8f9..e69de29bb 100644 Binary files a/public/images/emoji/twitter/hash.png and b/public/images/emoji/twitter/hash.png differ diff --git a/public/images/emoji/twitter/hatched_chick.png b/public/images/emoji/twitter/hatched_chick.png index 53ff80881..2a9103aea 100644 Binary files a/public/images/emoji/twitter/hatched_chick.png and b/public/images/emoji/twitter/hatched_chick.png differ diff --git a/public/images/emoji/twitter/hatching_chick.png b/public/images/emoji/twitter/hatching_chick.png index 7a4dc72bc..83889bd72 100644 Binary files a/public/images/emoji/twitter/hatching_chick.png and b/public/images/emoji/twitter/hatching_chick.png differ diff --git a/public/images/emoji/twitter/head_bandage.png b/public/images/emoji/twitter/head_bandage.png index 3be8843a9..f68e8b2f1 100644 Binary files a/public/images/emoji/twitter/head_bandage.png and b/public/images/emoji/twitter/head_bandage.png differ diff --git a/public/images/emoji/twitter/headphones.png b/public/images/emoji/twitter/headphones.png index 1f0c0d32f..d97d79e33 100644 Binary files a/public/images/emoji/twitter/headphones.png and b/public/images/emoji/twitter/headphones.png differ diff --git a/public/images/emoji/twitter/hear_no_evil.png b/public/images/emoji/twitter/hear_no_evil.png index 432a4c542..ddce1643c 100644 Binary files a/public/images/emoji/twitter/hear_no_evil.png and b/public/images/emoji/twitter/hear_no_evil.png differ diff --git a/public/images/emoji/twitter/heart.png b/public/images/emoji/twitter/heart.png index bcdb71ca1..0da147f1e 100644 Binary files a/public/images/emoji/twitter/heart.png and b/public/images/emoji/twitter/heart.png differ diff --git a/public/images/emoji/twitter/heart_decoration.png b/public/images/emoji/twitter/heart_decoration.png index f29ecf36a..7d3434025 100644 Binary files a/public/images/emoji/twitter/heart_decoration.png and b/public/images/emoji/twitter/heart_decoration.png differ diff --git a/public/images/emoji/twitter/heart_exclamation.png b/public/images/emoji/twitter/heart_exclamation.png index adcc6238e..1cb11ddf8 100644 Binary files a/public/images/emoji/twitter/heart_exclamation.png and b/public/images/emoji/twitter/heart_exclamation.png differ diff --git a/public/images/emoji/twitter/heart_eyes.png b/public/images/emoji/twitter/heart_eyes.png index 127926f1a..9f2cef47d 100644 Binary files a/public/images/emoji/twitter/heart_eyes.png and b/public/images/emoji/twitter/heart_eyes.png differ diff --git a/public/images/emoji/twitter/heart_eyes_cat.png b/public/images/emoji/twitter/heart_eyes_cat.png index b572edc30..781f4bdc6 100644 Binary files a/public/images/emoji/twitter/heart_eyes_cat.png and b/public/images/emoji/twitter/heart_eyes_cat.png differ diff --git a/public/images/emoji/twitter/heartbeat.png b/public/images/emoji/twitter/heartbeat.png index e29e8c0aa..9e6cceee8 100644 Binary files a/public/images/emoji/twitter/heartbeat.png and b/public/images/emoji/twitter/heartbeat.png differ diff --git a/public/images/emoji/twitter/heartpulse.png b/public/images/emoji/twitter/heartpulse.png index 4d9895dfe..749f70460 100644 Binary files a/public/images/emoji/twitter/heartpulse.png and b/public/images/emoji/twitter/heartpulse.png differ diff --git a/public/images/emoji/twitter/hearts.png b/public/images/emoji/twitter/hearts.png index 52bb4eede..0f2ba60e3 100644 Binary files a/public/images/emoji/twitter/hearts.png and b/public/images/emoji/twitter/hearts.png differ diff --git a/public/images/emoji/twitter/heavy_check_mark.png b/public/images/emoji/twitter/heavy_check_mark.png index 5ec19a147..fcb2d676a 100644 Binary files a/public/images/emoji/twitter/heavy_check_mark.png and b/public/images/emoji/twitter/heavy_check_mark.png differ diff --git a/public/images/emoji/twitter/heavy_division_sign.png b/public/images/emoji/twitter/heavy_division_sign.png index 1cfd64d8c..3f95c3d20 100644 Binary files a/public/images/emoji/twitter/heavy_division_sign.png and b/public/images/emoji/twitter/heavy_division_sign.png differ diff --git a/public/images/emoji/twitter/heavy_dollar_sign.png b/public/images/emoji/twitter/heavy_dollar_sign.png index ebdce176c..de17bb9cb 100644 Binary files a/public/images/emoji/twitter/heavy_dollar_sign.png and b/public/images/emoji/twitter/heavy_dollar_sign.png differ diff --git a/public/images/emoji/twitter/heavy_exclamation_mark.png b/public/images/emoji/twitter/heavy_exclamation_mark.png deleted file mode 100644 index 9fdca664a..000000000 Binary files a/public/images/emoji/twitter/heavy_exclamation_mark.png and /dev/null differ diff --git a/public/images/emoji/twitter/heavy_heart_exclamation_mark_ornament.png b/public/images/emoji/twitter/heavy_heart_exclamation_mark_ornament.png new file mode 100644 index 000000000..1cb11ddf8 Binary files /dev/null and b/public/images/emoji/twitter/heavy_heart_exclamation_mark_ornament.png differ diff --git a/public/images/emoji/twitter/heavy_minus_sign.png b/public/images/emoji/twitter/heavy_minus_sign.png index 43f8c020c..7bcdae2c0 100644 Binary files a/public/images/emoji/twitter/heavy_minus_sign.png and b/public/images/emoji/twitter/heavy_minus_sign.png differ diff --git a/public/images/emoji/twitter/heavy_multiplication_x.png b/public/images/emoji/twitter/heavy_multiplication_x.png index 47f763d98..f0beeb8b3 100644 Binary files a/public/images/emoji/twitter/heavy_multiplication_x.png and b/public/images/emoji/twitter/heavy_multiplication_x.png differ diff --git a/public/images/emoji/twitter/heavy_plus_sign.png b/public/images/emoji/twitter/heavy_plus_sign.png index 79cb09846..16d121d92 100644 Binary files a/public/images/emoji/twitter/heavy_plus_sign.png and b/public/images/emoji/twitter/heavy_plus_sign.png differ diff --git a/public/images/emoji/twitter/helicopter.png b/public/images/emoji/twitter/helicopter.png index 55b92c4f8..2a913d9d3 100644 Binary files a/public/images/emoji/twitter/helicopter.png and b/public/images/emoji/twitter/helicopter.png differ diff --git a/public/images/emoji/twitter/helmet_with_cross.png b/public/images/emoji/twitter/helmet_with_cross.png index 5d8a20a6b..fa7cdcf33 100644 Binary files a/public/images/emoji/twitter/helmet_with_cross.png and b/public/images/emoji/twitter/helmet_with_cross.png differ diff --git a/public/images/emoji/twitter/helmet_with_white_cross.png b/public/images/emoji/twitter/helmet_with_white_cross.png new file mode 100644 index 000000000..fa7cdcf33 Binary files /dev/null and b/public/images/emoji/twitter/helmet_with_white_cross.png differ diff --git a/public/images/emoji/twitter/herb.png b/public/images/emoji/twitter/herb.png index 451d04112..5599ac0a2 100644 Binary files a/public/images/emoji/twitter/herb.png and b/public/images/emoji/twitter/herb.png differ diff --git a/public/images/emoji/twitter/hibiscus.png b/public/images/emoji/twitter/hibiscus.png index 4e60b2dc4..ddf949061 100644 Binary files a/public/images/emoji/twitter/hibiscus.png and b/public/images/emoji/twitter/hibiscus.png differ diff --git a/public/images/emoji/twitter/high_brightness.png b/public/images/emoji/twitter/high_brightness.png index 53b83a39b..de4172744 100644 Binary files a/public/images/emoji/twitter/high_brightness.png and b/public/images/emoji/twitter/high_brightness.png differ diff --git a/public/images/emoji/twitter/high_heel.png b/public/images/emoji/twitter/high_heel.png index a2b809779..daf3efc3c 100644 Binary files a/public/images/emoji/twitter/high_heel.png and b/public/images/emoji/twitter/high_heel.png differ diff --git a/public/images/emoji/twitter/hocho.png b/public/images/emoji/twitter/hocho.png deleted file mode 100644 index 1dec23fc4..000000000 Binary files a/public/images/emoji/twitter/hocho.png and /dev/null differ diff --git a/public/images/emoji/twitter/hockey.png b/public/images/emoji/twitter/hockey.png index 0959352b8..7b5a1105c 100644 Binary files a/public/images/emoji/twitter/hockey.png and b/public/images/emoji/twitter/hockey.png differ diff --git a/public/images/emoji/twitter/hole.png b/public/images/emoji/twitter/hole.png index 0f3534028..6df8ea8c4 100644 Binary files a/public/images/emoji/twitter/hole.png and b/public/images/emoji/twitter/hole.png differ diff --git a/public/images/emoji/twitter/homes.png b/public/images/emoji/twitter/homes.png index 42fdacd95..5f9a0a658 100644 Binary files a/public/images/emoji/twitter/homes.png and b/public/images/emoji/twitter/homes.png differ diff --git a/public/images/emoji/twitter/honey_pot.png b/public/images/emoji/twitter/honey_pot.png index 8dfe65bdd..468716327 100644 Binary files a/public/images/emoji/twitter/honey_pot.png and b/public/images/emoji/twitter/honey_pot.png differ diff --git a/public/images/emoji/twitter/honeybee.png b/public/images/emoji/twitter/honeybee.png deleted file mode 100644 index 850ec0d69..000000000 Binary files a/public/images/emoji/twitter/honeybee.png and /dev/null differ diff --git a/public/images/emoji/twitter/horse.png b/public/images/emoji/twitter/horse.png index 365bf73de..e98be98a3 100644 Binary files a/public/images/emoji/twitter/horse.png and b/public/images/emoji/twitter/horse.png differ diff --git a/public/images/emoji/twitter/horse_racing.png b/public/images/emoji/twitter/horse_racing.png index d84af3e85..f23208505 100644 Binary files a/public/images/emoji/twitter/horse_racing.png and b/public/images/emoji/twitter/horse_racing.png differ diff --git a/public/images/emoji/twitter/hospital.png b/public/images/emoji/twitter/hospital.png index d36b423ce..7c46f8e09 100644 Binary files a/public/images/emoji/twitter/hospital.png and b/public/images/emoji/twitter/hospital.png differ diff --git a/public/images/emoji/twitter/hot_dog.png b/public/images/emoji/twitter/hot_dog.png new file mode 100644 index 000000000..0fe32af15 Binary files /dev/null and b/public/images/emoji/twitter/hot_dog.png differ diff --git a/public/images/emoji/twitter/hot_pepper.png b/public/images/emoji/twitter/hot_pepper.png index c0f7d3a8f..d72eba3a1 100644 Binary files a/public/images/emoji/twitter/hot_pepper.png and b/public/images/emoji/twitter/hot_pepper.png differ diff --git a/public/images/emoji/twitter/hotdog.png b/public/images/emoji/twitter/hotdog.png index 9d5050a3c..0fe32af15 100644 Binary files a/public/images/emoji/twitter/hotdog.png and b/public/images/emoji/twitter/hotdog.png differ diff --git a/public/images/emoji/twitter/hotel.png b/public/images/emoji/twitter/hotel.png index 5ab3518d3..ecdb4809a 100644 Binary files a/public/images/emoji/twitter/hotel.png and b/public/images/emoji/twitter/hotel.png differ diff --git a/public/images/emoji/twitter/hotsprings.png b/public/images/emoji/twitter/hotsprings.png index e63ddb3ce..88315d1bb 100644 Binary files a/public/images/emoji/twitter/hotsprings.png and b/public/images/emoji/twitter/hotsprings.png differ diff --git a/public/images/emoji/twitter/hourglass.png b/public/images/emoji/twitter/hourglass.png index 90e7e4ebc..9ffa13677 100644 Binary files a/public/images/emoji/twitter/hourglass.png and b/public/images/emoji/twitter/hourglass.png differ diff --git a/public/images/emoji/twitter/hourglass_flowing_sand.png b/public/images/emoji/twitter/hourglass_flowing_sand.png index 4c208cdfb..c15779d53 100644 Binary files a/public/images/emoji/twitter/hourglass_flowing_sand.png and b/public/images/emoji/twitter/hourglass_flowing_sand.png differ diff --git a/public/images/emoji/twitter/house.png b/public/images/emoji/twitter/house.png index 0e322e18a..82904fe8d 100644 Binary files a/public/images/emoji/twitter/house.png and b/public/images/emoji/twitter/house.png differ diff --git a/public/images/emoji/twitter/house_abandoned.png b/public/images/emoji/twitter/house_abandoned.png index 4ca92ee5c..a48da6049 100644 Binary files a/public/images/emoji/twitter/house_abandoned.png and b/public/images/emoji/twitter/house_abandoned.png differ diff --git a/public/images/emoji/twitter/house_buildings.png b/public/images/emoji/twitter/house_buildings.png new file mode 100644 index 000000000..5f9a0a658 Binary files /dev/null and b/public/images/emoji/twitter/house_buildings.png differ diff --git a/public/images/emoji/twitter/house_with_garden.png b/public/images/emoji/twitter/house_with_garden.png index 23391f96c..355631d3e 100644 Binary files a/public/images/emoji/twitter/house_with_garden.png and b/public/images/emoji/twitter/house_with_garden.png differ diff --git a/public/images/emoji/twitter/hugging.png b/public/images/emoji/twitter/hugging.png index aa0784484..4ed699b11 100644 Binary files a/public/images/emoji/twitter/hugging.png and b/public/images/emoji/twitter/hugging.png differ diff --git a/public/images/emoji/twitter/hugging_face.png b/public/images/emoji/twitter/hugging_face.png new file mode 100644 index 000000000..4ed699b11 Binary files /dev/null and b/public/images/emoji/twitter/hugging_face.png differ diff --git a/public/images/emoji/twitter/hushed.png b/public/images/emoji/twitter/hushed.png index fc3895629..3d6332f5d 100644 Binary files a/public/images/emoji/twitter/hushed.png and b/public/images/emoji/twitter/hushed.png differ diff --git a/public/images/emoji/twitter/ice_cream.png b/public/images/emoji/twitter/ice_cream.png index 5a9e82921..957b1971e 100644 Binary files a/public/images/emoji/twitter/ice_cream.png and b/public/images/emoji/twitter/ice_cream.png differ diff --git a/public/images/emoji/twitter/ice_skate.png b/public/images/emoji/twitter/ice_skate.png index 373137fb1..a9e9fcbbe 100644 Binary files a/public/images/emoji/twitter/ice_skate.png and b/public/images/emoji/twitter/ice_skate.png differ diff --git a/public/images/emoji/twitter/icecream.png b/public/images/emoji/twitter/icecream.png index c84be663f..7093cbd1e 100644 Binary files a/public/images/emoji/twitter/icecream.png and b/public/images/emoji/twitter/icecream.png differ diff --git a/public/images/emoji/twitter/id.png b/public/images/emoji/twitter/id.png index c22ef6ef6..a2c716350 100644 Binary files a/public/images/emoji/twitter/id.png and b/public/images/emoji/twitter/id.png differ diff --git a/public/images/emoji/twitter/ideograph_advantage.png b/public/images/emoji/twitter/ideograph_advantage.png index 3a30167aa..5d0fd3d9b 100644 Binary files a/public/images/emoji/twitter/ideograph_advantage.png and b/public/images/emoji/twitter/ideograph_advantage.png differ diff --git a/public/images/emoji/twitter/imp.png b/public/images/emoji/twitter/imp.png index c1c2fde0e..a42152e8c 100644 Binary files a/public/images/emoji/twitter/imp.png and b/public/images/emoji/twitter/imp.png differ diff --git a/public/images/emoji/twitter/inbox_tray.png b/public/images/emoji/twitter/inbox_tray.png index 824bd030b..afe867188 100644 Binary files a/public/images/emoji/twitter/inbox_tray.png and b/public/images/emoji/twitter/inbox_tray.png differ diff --git a/public/images/emoji/twitter/incoming_envelope.png b/public/images/emoji/twitter/incoming_envelope.png index 48392c4e3..2faf6b75b 100644 Binary files a/public/images/emoji/twitter/incoming_envelope.png and b/public/images/emoji/twitter/incoming_envelope.png differ diff --git a/public/images/emoji/twitter/information_desk_person.png b/public/images/emoji/twitter/information_desk_person.png index d4038e6b1..03f503041 100644 Binary files a/public/images/emoji/twitter/information_desk_person.png and b/public/images/emoji/twitter/information_desk_person.png differ diff --git a/public/images/emoji/twitter/information_source.png b/public/images/emoji/twitter/information_source.png index 9f7e6d599..b5fef15f8 100644 Binary files a/public/images/emoji/twitter/information_source.png and b/public/images/emoji/twitter/information_source.png differ diff --git a/public/images/emoji/twitter/innocent.png b/public/images/emoji/twitter/innocent.png index af100e7d4..516c432a4 100644 Binary files a/public/images/emoji/twitter/innocent.png and b/public/images/emoji/twitter/innocent.png differ diff --git a/public/images/emoji/twitter/interrobang.png b/public/images/emoji/twitter/interrobang.png index 06f78f012..3c7893dac 100644 Binary files a/public/images/emoji/twitter/interrobang.png and b/public/images/emoji/twitter/interrobang.png differ diff --git a/public/images/emoji/twitter/iphone.png b/public/images/emoji/twitter/iphone.png index 0f4c2b5c4..66512c75d 100644 Binary files a/public/images/emoji/twitter/iphone.png and b/public/images/emoji/twitter/iphone.png differ diff --git a/public/images/emoji/twitter/island.png b/public/images/emoji/twitter/island.png index 8be357d21..37832e018 100644 Binary files a/public/images/emoji/twitter/island.png and b/public/images/emoji/twitter/island.png differ diff --git a/public/images/emoji/twitter/it.png b/public/images/emoji/twitter/it.png index a8927b3ea..13bbb1b1f 100644 Binary files a/public/images/emoji/twitter/it.png and b/public/images/emoji/twitter/it.png differ diff --git a/public/images/emoji/twitter/izakaya_lantern.png b/public/images/emoji/twitter/izakaya_lantern.png index a045fe8f1..28fb9c8ed 100644 Binary files a/public/images/emoji/twitter/izakaya_lantern.png and b/public/images/emoji/twitter/izakaya_lantern.png differ diff --git a/public/images/emoji/twitter/jack_o_lantern.png b/public/images/emoji/twitter/jack_o_lantern.png index 2bb6865db..d520e1bdb 100644 Binary files a/public/images/emoji/twitter/jack_o_lantern.png and b/public/images/emoji/twitter/jack_o_lantern.png differ diff --git a/public/images/emoji/twitter/japan.png b/public/images/emoji/twitter/japan.png index ec89bf22b..283666100 100644 Binary files a/public/images/emoji/twitter/japan.png and b/public/images/emoji/twitter/japan.png differ diff --git a/public/images/emoji/twitter/japanese_castle.png b/public/images/emoji/twitter/japanese_castle.png index e71612a5d..0bed2c95c 100644 Binary files a/public/images/emoji/twitter/japanese_castle.png and b/public/images/emoji/twitter/japanese_castle.png differ diff --git a/public/images/emoji/twitter/japanese_goblin.png b/public/images/emoji/twitter/japanese_goblin.png index 3fb5b7ecb..9416e35b5 100644 Binary files a/public/images/emoji/twitter/japanese_goblin.png and b/public/images/emoji/twitter/japanese_goblin.png differ diff --git a/public/images/emoji/twitter/japanese_ogre.png b/public/images/emoji/twitter/japanese_ogre.png index 4d49bae60..1e322ae58 100644 Binary files a/public/images/emoji/twitter/japanese_ogre.png and b/public/images/emoji/twitter/japanese_ogre.png differ diff --git a/public/images/emoji/twitter/jeans.png b/public/images/emoji/twitter/jeans.png index 81a4bf9f4..94a93c06e 100644 Binary files a/public/images/emoji/twitter/jeans.png and b/public/images/emoji/twitter/jeans.png differ diff --git a/public/images/emoji/twitter/joy.png b/public/images/emoji/twitter/joy.png index a4e5b2d16..1158e9d47 100644 Binary files a/public/images/emoji/twitter/joy.png and b/public/images/emoji/twitter/joy.png differ diff --git a/public/images/emoji/twitter/joy_cat.png b/public/images/emoji/twitter/joy_cat.png index 6c0b1889a..2124b7c10 100644 Binary files a/public/images/emoji/twitter/joy_cat.png and b/public/images/emoji/twitter/joy_cat.png differ diff --git a/public/images/emoji/twitter/joystick.png b/public/images/emoji/twitter/joystick.png index 2cb7d212e..8e5c09d59 100644 Binary files a/public/images/emoji/twitter/joystick.png and b/public/images/emoji/twitter/joystick.png differ diff --git a/public/images/emoji/twitter/jp.png b/public/images/emoji/twitter/jp.png index 01cc1ccc2..cca79ffb9 100644 Binary files a/public/images/emoji/twitter/jp.png and b/public/images/emoji/twitter/jp.png differ diff --git a/public/images/emoji/twitter/kaaba.png b/public/images/emoji/twitter/kaaba.png index 1f4914e70..b31e29c69 100644 Binary files a/public/images/emoji/twitter/kaaba.png and b/public/images/emoji/twitter/kaaba.png differ diff --git a/public/images/emoji/twitter/key.png b/public/images/emoji/twitter/key.png index b17d1e8e8..94e9e0023 100644 Binary files a/public/images/emoji/twitter/key.png and b/public/images/emoji/twitter/key.png differ diff --git a/public/images/emoji/twitter/key2.png b/public/images/emoji/twitter/key2.png index bb0baeeb6..18b939943 100644 Binary files a/public/images/emoji/twitter/key2.png and b/public/images/emoji/twitter/key2.png differ diff --git a/public/images/emoji/twitter/keyboard.png b/public/images/emoji/twitter/keyboard.png index 35faa872e..a16457d53 100644 Binary files a/public/images/emoji/twitter/keyboard.png and b/public/images/emoji/twitter/keyboard.png differ diff --git a/public/images/emoji/twitter/keycap_star.png b/public/images/emoji/twitter/keycap_star.png new file mode 100644 index 000000000..e69de29bb diff --git a/public/images/emoji/twitter/keycap_ten.png b/public/images/emoji/twitter/keycap_ten.png deleted file mode 100644 index 9cd005d4d..000000000 Binary files a/public/images/emoji/twitter/keycap_ten.png and /dev/null differ diff --git a/public/images/emoji/twitter/kimono.png b/public/images/emoji/twitter/kimono.png index ba0d140dd..10610f889 100644 Binary files a/public/images/emoji/twitter/kimono.png and b/public/images/emoji/twitter/kimono.png differ diff --git a/public/images/emoji/twitter/kiss.png b/public/images/emoji/twitter/kiss.png index 7864eb581..f5bfa3d3c 100644 Binary files a/public/images/emoji/twitter/kiss.png and b/public/images/emoji/twitter/kiss.png differ diff --git a/public/images/emoji/twitter/kissing.png b/public/images/emoji/twitter/kissing.png index f4f143dc4..a95585467 100644 Binary files a/public/images/emoji/twitter/kissing.png and b/public/images/emoji/twitter/kissing.png differ diff --git a/public/images/emoji/twitter/kissing_cat.png b/public/images/emoji/twitter/kissing_cat.png index 445fb5261..2a426077e 100644 Binary files a/public/images/emoji/twitter/kissing_cat.png and b/public/images/emoji/twitter/kissing_cat.png differ diff --git a/public/images/emoji/twitter/kissing_closed_eyes.png b/public/images/emoji/twitter/kissing_closed_eyes.png index 5cabbb2a6..32e0e5642 100644 Binary files a/public/images/emoji/twitter/kissing_closed_eyes.png and b/public/images/emoji/twitter/kissing_closed_eyes.png differ diff --git a/public/images/emoji/twitter/kissing_heart.png b/public/images/emoji/twitter/kissing_heart.png index 10935eadb..6313639a3 100644 Binary files a/public/images/emoji/twitter/kissing_heart.png and b/public/images/emoji/twitter/kissing_heart.png differ diff --git a/public/images/emoji/twitter/kissing_smiling_eyes.png b/public/images/emoji/twitter/kissing_smiling_eyes.png index 443aab95c..633126c96 100644 Binary files a/public/images/emoji/twitter/kissing_smiling_eyes.png and b/public/images/emoji/twitter/kissing_smiling_eyes.png differ diff --git a/public/images/emoji/twitter/knife.png b/public/images/emoji/twitter/knife.png index 9f5813445..a7425d8c3 100644 Binary files a/public/images/emoji/twitter/knife.png and b/public/images/emoji/twitter/knife.png differ diff --git a/public/images/emoji/twitter/koala.png b/public/images/emoji/twitter/koala.png index 3b8dd5592..45da85c1f 100644 Binary files a/public/images/emoji/twitter/koala.png and b/public/images/emoji/twitter/koala.png differ diff --git a/public/images/emoji/twitter/koko.png b/public/images/emoji/twitter/koko.png index 3ea190fbe..8497b7f9c 100644 Binary files a/public/images/emoji/twitter/koko.png and b/public/images/emoji/twitter/koko.png differ diff --git a/public/images/emoji/twitter/kr.png b/public/images/emoji/twitter/kr.png index 3fd1914c6..a0657a04c 100644 Binary files a/public/images/emoji/twitter/kr.png and b/public/images/emoji/twitter/kr.png differ diff --git a/public/images/emoji/twitter/label.png b/public/images/emoji/twitter/label.png index b455f5684..36f91eb31 100644 Binary files a/public/images/emoji/twitter/label.png and b/public/images/emoji/twitter/label.png differ diff --git a/public/images/emoji/twitter/lantern.png b/public/images/emoji/twitter/lantern.png deleted file mode 100644 index f1eee24fc..000000000 Binary files a/public/images/emoji/twitter/lantern.png and /dev/null differ diff --git a/public/images/emoji/twitter/large_blue_circle.png b/public/images/emoji/twitter/large_blue_circle.png index 53f0ed3a2..ebb845428 100644 Binary files a/public/images/emoji/twitter/large_blue_circle.png and b/public/images/emoji/twitter/large_blue_circle.png differ diff --git a/public/images/emoji/twitter/large_blue_diamond.png b/public/images/emoji/twitter/large_blue_diamond.png index 53c7561eb..a7ed27cf5 100644 Binary files a/public/images/emoji/twitter/large_blue_diamond.png and b/public/images/emoji/twitter/large_blue_diamond.png differ diff --git a/public/images/emoji/twitter/large_orange_diamond.png b/public/images/emoji/twitter/large_orange_diamond.png index ecfeac267..c217bb8d0 100644 Binary files a/public/images/emoji/twitter/large_orange_diamond.png and b/public/images/emoji/twitter/large_orange_diamond.png differ diff --git a/public/images/emoji/twitter/last_quarter_moon.png b/public/images/emoji/twitter/last_quarter_moon.png index b7ddaac49..a8ce1493c 100644 Binary files a/public/images/emoji/twitter/last_quarter_moon.png and b/public/images/emoji/twitter/last_quarter_moon.png differ diff --git a/public/images/emoji/twitter/last_quarter_moon_with_face.png b/public/images/emoji/twitter/last_quarter_moon_with_face.png index 35c5f46ec..68f288277 100644 Binary files a/public/images/emoji/twitter/last_quarter_moon_with_face.png and b/public/images/emoji/twitter/last_quarter_moon_with_face.png differ diff --git a/public/images/emoji/twitter/latin_cross.png b/public/images/emoji/twitter/latin_cross.png new file mode 100644 index 000000000..f11e296dd Binary files /dev/null and b/public/images/emoji/twitter/latin_cross.png differ diff --git a/public/images/emoji/twitter/laughing.png b/public/images/emoji/twitter/laughing.png index 7601f88d7..2632d8974 100644 Binary files a/public/images/emoji/twitter/laughing.png and b/public/images/emoji/twitter/laughing.png differ diff --git a/public/images/emoji/twitter/leaves.png b/public/images/emoji/twitter/leaves.png index f647745e7..2ba748425 100644 Binary files a/public/images/emoji/twitter/leaves.png and b/public/images/emoji/twitter/leaves.png differ diff --git a/public/images/emoji/twitter/ledger.png b/public/images/emoji/twitter/ledger.png index 8b448a4c1..425411615 100644 Binary files a/public/images/emoji/twitter/ledger.png and b/public/images/emoji/twitter/ledger.png differ diff --git a/public/images/emoji/twitter/left_luggage.png b/public/images/emoji/twitter/left_luggage.png index ddf472c09..fa49f0ecb 100644 Binary files a/public/images/emoji/twitter/left_luggage.png and b/public/images/emoji/twitter/left_luggage.png differ diff --git a/public/images/emoji/twitter/left_right_arrow.png b/public/images/emoji/twitter/left_right_arrow.png index 8830e6544..87bc8c8a1 100644 Binary files a/public/images/emoji/twitter/left_right_arrow.png and b/public/images/emoji/twitter/left_right_arrow.png differ diff --git a/public/images/emoji/twitter/left_speech_bubble.png b/public/images/emoji/twitter/left_speech_bubble.png new file mode 100644 index 000000000..8cb3b728e Binary files /dev/null and b/public/images/emoji/twitter/left_speech_bubble.png differ diff --git a/public/images/emoji/twitter/leftwards_arrow_with_hook.png b/public/images/emoji/twitter/leftwards_arrow_with_hook.png index 3794a1137..df1515b47 100644 Binary files a/public/images/emoji/twitter/leftwards_arrow_with_hook.png and b/public/images/emoji/twitter/leftwards_arrow_with_hook.png differ diff --git a/public/images/emoji/twitter/lemon.png b/public/images/emoji/twitter/lemon.png index 7c978f6f1..2305ee80d 100644 Binary files a/public/images/emoji/twitter/lemon.png and b/public/images/emoji/twitter/lemon.png differ diff --git a/public/images/emoji/twitter/leo.png b/public/images/emoji/twitter/leo.png index 275f8b789..66a13b19f 100644 Binary files a/public/images/emoji/twitter/leo.png and b/public/images/emoji/twitter/leo.png differ diff --git a/public/images/emoji/twitter/leopard.png b/public/images/emoji/twitter/leopard.png index e07948f10..06e75164b 100644 Binary files a/public/images/emoji/twitter/leopard.png and b/public/images/emoji/twitter/leopard.png differ diff --git a/public/images/emoji/twitter/level_slider.png b/public/images/emoji/twitter/level_slider.png index 560cb59a0..d7c8408ea 100644 Binary files a/public/images/emoji/twitter/level_slider.png and b/public/images/emoji/twitter/level_slider.png differ diff --git a/public/images/emoji/twitter/levitate.png b/public/images/emoji/twitter/levitate.png index 3a3c4b989..622ec86bf 100644 Binary files a/public/images/emoji/twitter/levitate.png and b/public/images/emoji/twitter/levitate.png differ diff --git a/public/images/emoji/twitter/libra.png b/public/images/emoji/twitter/libra.png index 9787221fc..5e241d901 100644 Binary files a/public/images/emoji/twitter/libra.png and b/public/images/emoji/twitter/libra.png differ diff --git a/public/images/emoji/twitter/lifter.png b/public/images/emoji/twitter/lifter.png index 5f43a3577..e0fb05d5e 100644 Binary files a/public/images/emoji/twitter/lifter.png and b/public/images/emoji/twitter/lifter.png differ diff --git a/public/images/emoji/twitter/light_rail.png b/public/images/emoji/twitter/light_rail.png index 79d10c4bf..a1653394f 100644 Binary files a/public/images/emoji/twitter/light_rail.png and b/public/images/emoji/twitter/light_rail.png differ diff --git a/public/images/emoji/twitter/link.png b/public/images/emoji/twitter/link.png index 480c00ee9..98646f785 100644 Binary files a/public/images/emoji/twitter/link.png and b/public/images/emoji/twitter/link.png differ diff --git a/public/images/emoji/twitter/linked_paperclips.png b/public/images/emoji/twitter/linked_paperclips.png new file mode 100644 index 000000000..b4080878f Binary files /dev/null and b/public/images/emoji/twitter/linked_paperclips.png differ diff --git a/public/images/emoji/twitter/lion.png b/public/images/emoji/twitter/lion.png new file mode 100644 index 000000000..8ff236dc4 Binary files /dev/null and b/public/images/emoji/twitter/lion.png differ diff --git a/public/images/emoji/twitter/lion_face.png b/public/images/emoji/twitter/lion_face.png index 7e818c2c1..8ff236dc4 100644 Binary files a/public/images/emoji/twitter/lion_face.png and b/public/images/emoji/twitter/lion_face.png differ diff --git a/public/images/emoji/twitter/lips.png b/public/images/emoji/twitter/lips.png index 23f431fcb..8c792a1f8 100644 Binary files a/public/images/emoji/twitter/lips.png and b/public/images/emoji/twitter/lips.png differ diff --git a/public/images/emoji/twitter/lipstick.png b/public/images/emoji/twitter/lipstick.png index 0943584b2..d245f3230 100644 Binary files a/public/images/emoji/twitter/lipstick.png and b/public/images/emoji/twitter/lipstick.png differ diff --git a/public/images/emoji/twitter/lock.png b/public/images/emoji/twitter/lock.png index 846c5d55f..15bef7d07 100644 Binary files a/public/images/emoji/twitter/lock.png and b/public/images/emoji/twitter/lock.png differ diff --git a/public/images/emoji/twitter/lock_with_ink_pen.png b/public/images/emoji/twitter/lock_with_ink_pen.png index ba5f871e6..d849c8719 100644 Binary files a/public/images/emoji/twitter/lock_with_ink_pen.png and b/public/images/emoji/twitter/lock_with_ink_pen.png differ diff --git a/public/images/emoji/twitter/lollipop.png b/public/images/emoji/twitter/lollipop.png index d31a2e99e..6a436dcb6 100644 Binary files a/public/images/emoji/twitter/lollipop.png and b/public/images/emoji/twitter/lollipop.png differ diff --git a/public/images/emoji/twitter/loop.png b/public/images/emoji/twitter/loop.png index 03520c81d..f9e9290a0 100644 Binary files a/public/images/emoji/twitter/loop.png and b/public/images/emoji/twitter/loop.png differ diff --git a/public/images/emoji/twitter/loud_sound.png b/public/images/emoji/twitter/loud_sound.png index cba0a749a..4ea14e9ee 100644 Binary files a/public/images/emoji/twitter/loud_sound.png and b/public/images/emoji/twitter/loud_sound.png differ diff --git a/public/images/emoji/twitter/loudspeaker.png b/public/images/emoji/twitter/loudspeaker.png index dc3c4a347..377c42203 100644 Binary files a/public/images/emoji/twitter/loudspeaker.png and b/public/images/emoji/twitter/loudspeaker.png differ diff --git a/public/images/emoji/twitter/love_hotel.png b/public/images/emoji/twitter/love_hotel.png index 165600c9c..53ab884a7 100644 Binary files a/public/images/emoji/twitter/love_hotel.png and b/public/images/emoji/twitter/love_hotel.png differ diff --git a/public/images/emoji/twitter/love_letter.png b/public/images/emoji/twitter/love_letter.png index 92c4f068c..52f62ad15 100644 Binary files a/public/images/emoji/twitter/love_letter.png and b/public/images/emoji/twitter/love_letter.png differ diff --git a/public/images/emoji/twitter/low_brightness.png b/public/images/emoji/twitter/low_brightness.png index 959f1333b..bcd7b1869 100644 Binary files a/public/images/emoji/twitter/low_brightness.png and b/public/images/emoji/twitter/low_brightness.png differ diff --git a/public/images/emoji/twitter/lower_left_ballpoint_pen.png b/public/images/emoji/twitter/lower_left_ballpoint_pen.png new file mode 100644 index 000000000..97d8c722a Binary files /dev/null and b/public/images/emoji/twitter/lower_left_ballpoint_pen.png differ diff --git a/public/images/emoji/twitter/lower_left_crayon.png b/public/images/emoji/twitter/lower_left_crayon.png new file mode 100644 index 000000000..0ad5b02c2 Binary files /dev/null and b/public/images/emoji/twitter/lower_left_crayon.png differ diff --git a/public/images/emoji/twitter/lower_left_fountain_pen.png b/public/images/emoji/twitter/lower_left_fountain_pen.png new file mode 100644 index 000000000..96584c9f5 Binary files /dev/null and b/public/images/emoji/twitter/lower_left_fountain_pen.png differ diff --git a/public/images/emoji/twitter/lower_left_paintbrush.png b/public/images/emoji/twitter/lower_left_paintbrush.png new file mode 100644 index 000000000..c7d649a37 Binary files /dev/null and b/public/images/emoji/twitter/lower_left_paintbrush.png differ diff --git a/public/images/emoji/twitter/m.png b/public/images/emoji/twitter/m.png index ba50344ae..cfd35e566 100644 Binary files a/public/images/emoji/twitter/m.png and b/public/images/emoji/twitter/m.png differ diff --git a/public/images/emoji/twitter/mag.png b/public/images/emoji/twitter/mag.png index cc0b35516..3f7a09edc 100644 Binary files a/public/images/emoji/twitter/mag.png and b/public/images/emoji/twitter/mag.png differ diff --git a/public/images/emoji/twitter/mag_right.png b/public/images/emoji/twitter/mag_right.png index 6cf56975d..b490e1e14 100644 Binary files a/public/images/emoji/twitter/mag_right.png and b/public/images/emoji/twitter/mag_right.png differ diff --git a/public/images/emoji/twitter/mahjong.png b/public/images/emoji/twitter/mahjong.png index 71cc0affb..1cb30fe6c 100644 Binary files a/public/images/emoji/twitter/mahjong.png and b/public/images/emoji/twitter/mahjong.png differ diff --git a/public/images/emoji/twitter/mailbox.png b/public/images/emoji/twitter/mailbox.png index f6d85e619..3cf193845 100644 Binary files a/public/images/emoji/twitter/mailbox.png and b/public/images/emoji/twitter/mailbox.png differ diff --git a/public/images/emoji/twitter/mailbox_closed.png b/public/images/emoji/twitter/mailbox_closed.png index 649c33a1a..53d797b5a 100644 Binary files a/public/images/emoji/twitter/mailbox_closed.png and b/public/images/emoji/twitter/mailbox_closed.png differ diff --git a/public/images/emoji/twitter/mailbox_with_mail.png b/public/images/emoji/twitter/mailbox_with_mail.png index 52a21f58d..a6e9af05f 100644 Binary files a/public/images/emoji/twitter/mailbox_with_mail.png and b/public/images/emoji/twitter/mailbox_with_mail.png differ diff --git a/public/images/emoji/twitter/mailbox_with_no_mail.png b/public/images/emoji/twitter/mailbox_with_no_mail.png index 4a9836da1..18eeb4349 100644 Binary files a/public/images/emoji/twitter/mailbox_with_no_mail.png and b/public/images/emoji/twitter/mailbox_with_no_mail.png differ diff --git a/public/images/emoji/twitter/male_couple_with_heart.png b/public/images/emoji/twitter/male_couple_with_heart.png new file mode 100644 index 000000000..587278ae5 Binary files /dev/null and b/public/images/emoji/twitter/male_couple_with_heart.png differ diff --git a/public/images/emoji/twitter/male_couplekiss.png b/public/images/emoji/twitter/male_couplekiss.png new file mode 100644 index 000000000..ea1ec9290 Binary files /dev/null and b/public/images/emoji/twitter/male_couplekiss.png differ diff --git a/public/images/emoji/twitter/man.png b/public/images/emoji/twitter/man.png index 40fb36524..6c53f4e21 100644 Binary files a/public/images/emoji/twitter/man.png and b/public/images/emoji/twitter/man.png differ diff --git a/public/images/emoji/twitter/man_in_business_suit_levitating.png b/public/images/emoji/twitter/man_in_business_suit_levitating.png new file mode 100644 index 000000000..622ec86bf Binary files /dev/null and b/public/images/emoji/twitter/man_in_business_suit_levitating.png differ diff --git a/public/images/emoji/twitter/man_with_gua_pi_mao.png b/public/images/emoji/twitter/man_with_gua_pi_mao.png index d351ebb31..8b0d57073 100644 Binary files a/public/images/emoji/twitter/man_with_gua_pi_mao.png and b/public/images/emoji/twitter/man_with_gua_pi_mao.png differ diff --git a/public/images/emoji/twitter/man_with_turban.png b/public/images/emoji/twitter/man_with_turban.png index 2670ca4a0..fe1c0772b 100644 Binary files a/public/images/emoji/twitter/man_with_turban.png and b/public/images/emoji/twitter/man_with_turban.png differ diff --git a/public/images/emoji/twitter/mans_shoe.png b/public/images/emoji/twitter/mans_shoe.png index 57ad408c7..b6b7b2870 100644 Binary files a/public/images/emoji/twitter/mans_shoe.png and b/public/images/emoji/twitter/mans_shoe.png differ diff --git a/public/images/emoji/twitter/mantlepiece_clock.png b/public/images/emoji/twitter/mantlepiece_clock.png new file mode 100644 index 000000000..cf335766a Binary files /dev/null and b/public/images/emoji/twitter/mantlepiece_clock.png differ diff --git a/public/images/emoji/twitter/map.png b/public/images/emoji/twitter/map.png index c7a727c28..471c048fa 100644 Binary files a/public/images/emoji/twitter/map.png and b/public/images/emoji/twitter/map.png differ diff --git a/public/images/emoji/twitter/maple_leaf.png b/public/images/emoji/twitter/maple_leaf.png index 492793880..5afc3c1e4 100644 Binary files a/public/images/emoji/twitter/maple_leaf.png and b/public/images/emoji/twitter/maple_leaf.png differ diff --git a/public/images/emoji/twitter/mask.png b/public/images/emoji/twitter/mask.png index d879de77a..2488cea0d 100644 Binary files a/public/images/emoji/twitter/mask.png and b/public/images/emoji/twitter/mask.png differ diff --git a/public/images/emoji/twitter/massage.png b/public/images/emoji/twitter/massage.png index 1e5c253b4..01e380bcf 100644 Binary files a/public/images/emoji/twitter/massage.png and b/public/images/emoji/twitter/massage.png differ diff --git a/public/images/emoji/twitter/meat_on_bone.png b/public/images/emoji/twitter/meat_on_bone.png index 23cfcd5ed..8e7f0fedb 100644 Binary files a/public/images/emoji/twitter/meat_on_bone.png and b/public/images/emoji/twitter/meat_on_bone.png differ diff --git a/public/images/emoji/twitter/medal.png b/public/images/emoji/twitter/medal.png index c56f77095..57fbc8512 100644 Binary files a/public/images/emoji/twitter/medal.png and b/public/images/emoji/twitter/medal.png differ diff --git a/public/images/emoji/twitter/mega.png b/public/images/emoji/twitter/mega.png index e5e3942c1..3224f2941 100644 Binary files a/public/images/emoji/twitter/mega.png and b/public/images/emoji/twitter/mega.png differ diff --git a/public/images/emoji/twitter/melon.png b/public/images/emoji/twitter/melon.png index 860811519..ee09a13fd 100644 Binary files a/public/images/emoji/twitter/melon.png and b/public/images/emoji/twitter/melon.png differ diff --git a/public/images/emoji/twitter/memo.png b/public/images/emoji/twitter/memo.png deleted file mode 100644 index c2f7d0094..000000000 Binary files a/public/images/emoji/twitter/memo.png and /dev/null differ diff --git a/public/images/emoji/twitter/menorah.png b/public/images/emoji/twitter/menorah.png index f63c13ac9..bb7276c32 100644 Binary files a/public/images/emoji/twitter/menorah.png and b/public/images/emoji/twitter/menorah.png differ diff --git a/public/images/emoji/twitter/mens.png b/public/images/emoji/twitter/mens.png index d307905f1..cf452ae48 100644 Binary files a/public/images/emoji/twitter/mens.png and b/public/images/emoji/twitter/mens.png differ diff --git a/public/images/emoji/twitter/metal.png b/public/images/emoji/twitter/metal.png index 6107226f1..788071275 100644 Binary files a/public/images/emoji/twitter/metal.png and b/public/images/emoji/twitter/metal.png differ diff --git a/public/images/emoji/twitter/metro.png b/public/images/emoji/twitter/metro.png index c4363d086..3121a36af 100644 Binary files a/public/images/emoji/twitter/metro.png and b/public/images/emoji/twitter/metro.png differ diff --git a/public/images/emoji/twitter/microphone.png b/public/images/emoji/twitter/microphone.png index 796d91dd9..20e7ca5be 100644 Binary files a/public/images/emoji/twitter/microphone.png and b/public/images/emoji/twitter/microphone.png differ diff --git a/public/images/emoji/twitter/microphone2.png b/public/images/emoji/twitter/microphone2.png index a256e3d49..d10b32281 100644 Binary files a/public/images/emoji/twitter/microphone2.png and b/public/images/emoji/twitter/microphone2.png differ diff --git a/public/images/emoji/twitter/microscope.png b/public/images/emoji/twitter/microscope.png index 9d476cb70..e1c985062 100644 Binary files a/public/images/emoji/twitter/microscope.png and b/public/images/emoji/twitter/microscope.png differ diff --git a/public/images/emoji/twitter/middle_finger.png b/public/images/emoji/twitter/middle_finger.png index ba7dcb95d..8e7fce2f4 100644 Binary files a/public/images/emoji/twitter/middle_finger.png and b/public/images/emoji/twitter/middle_finger.png differ diff --git a/public/images/emoji/twitter/military_medal.png b/public/images/emoji/twitter/military_medal.png index afa7ac77e..857488da6 100644 Binary files a/public/images/emoji/twitter/military_medal.png and b/public/images/emoji/twitter/military_medal.png differ diff --git a/public/images/emoji/twitter/milky_way.png b/public/images/emoji/twitter/milky_way.png index 294fc6fce..80d626a4c 100644 Binary files a/public/images/emoji/twitter/milky_way.png and b/public/images/emoji/twitter/milky_way.png differ diff --git a/public/images/emoji/twitter/minibus.png b/public/images/emoji/twitter/minibus.png index df8fa9035..936d739bc 100644 Binary files a/public/images/emoji/twitter/minibus.png and b/public/images/emoji/twitter/minibus.png differ diff --git a/public/images/emoji/twitter/minidisc.png b/public/images/emoji/twitter/minidisc.png index 844efe377..78fd10044 100644 Binary files a/public/images/emoji/twitter/minidisc.png and b/public/images/emoji/twitter/minidisc.png differ diff --git a/public/images/emoji/twitter/mobile_phone_off.png b/public/images/emoji/twitter/mobile_phone_off.png index a902b3368..7a6666ebe 100644 Binary files a/public/images/emoji/twitter/mobile_phone_off.png and b/public/images/emoji/twitter/mobile_phone_off.png differ diff --git a/public/images/emoji/twitter/money_mouth.png b/public/images/emoji/twitter/money_mouth.png index c1f7dcaa3..ef52b6424 100644 Binary files a/public/images/emoji/twitter/money_mouth.png and b/public/images/emoji/twitter/money_mouth.png differ diff --git a/public/images/emoji/twitter/money_mouth_face.png b/public/images/emoji/twitter/money_mouth_face.png new file mode 100644 index 000000000..ef52b6424 Binary files /dev/null and b/public/images/emoji/twitter/money_mouth_face.png differ diff --git a/public/images/emoji/twitter/money_with_wings.png b/public/images/emoji/twitter/money_with_wings.png index 45798c052..4761d0165 100644 Binary files a/public/images/emoji/twitter/money_with_wings.png and b/public/images/emoji/twitter/money_with_wings.png differ diff --git a/public/images/emoji/twitter/moneybag.png b/public/images/emoji/twitter/moneybag.png index cf810c29d..76531a4e6 100644 Binary files a/public/images/emoji/twitter/moneybag.png and b/public/images/emoji/twitter/moneybag.png differ diff --git a/public/images/emoji/twitter/monkey.png b/public/images/emoji/twitter/monkey.png index 6bd4795e2..deb60541b 100644 Binary files a/public/images/emoji/twitter/monkey.png and b/public/images/emoji/twitter/monkey.png differ diff --git a/public/images/emoji/twitter/monkey_face.png b/public/images/emoji/twitter/monkey_face.png index fa67a7ec4..77f6e1578 100644 Binary files a/public/images/emoji/twitter/monkey_face.png and b/public/images/emoji/twitter/monkey_face.png differ diff --git a/public/images/emoji/twitter/monorail.png b/public/images/emoji/twitter/monorail.png index 3c53b952f..78acdf4f5 100644 Binary files a/public/images/emoji/twitter/monorail.png and b/public/images/emoji/twitter/monorail.png differ diff --git a/public/images/emoji/twitter/moon.png b/public/images/emoji/twitter/moon.png deleted file mode 100644 index 6a990e2d3..000000000 Binary files a/public/images/emoji/twitter/moon.png and /dev/null differ diff --git a/public/images/emoji/twitter/mortar_board.png b/public/images/emoji/twitter/mortar_board.png index dcd0ab9aa..1c2539280 100644 Binary files a/public/images/emoji/twitter/mortar_board.png and b/public/images/emoji/twitter/mortar_board.png differ diff --git a/public/images/emoji/twitter/mosque.png b/public/images/emoji/twitter/mosque.png index 570f6971c..b0a68fffb 100644 Binary files a/public/images/emoji/twitter/mosque.png and b/public/images/emoji/twitter/mosque.png differ diff --git a/public/images/emoji/twitter/motorboat.png b/public/images/emoji/twitter/motorboat.png index a849f0683..3eba36576 100644 Binary files a/public/images/emoji/twitter/motorboat.png and b/public/images/emoji/twitter/motorboat.png differ diff --git a/public/images/emoji/twitter/motorcycle.png b/public/images/emoji/twitter/motorcycle.png index 89f8265e3..2c7b22a42 100644 Binary files a/public/images/emoji/twitter/motorcycle.png and b/public/images/emoji/twitter/motorcycle.png differ diff --git a/public/images/emoji/twitter/motorway.png b/public/images/emoji/twitter/motorway.png index 8bc3caf95..84328c865 100644 Binary files a/public/images/emoji/twitter/motorway.png and b/public/images/emoji/twitter/motorway.png differ diff --git a/public/images/emoji/twitter/mount_fuji.png b/public/images/emoji/twitter/mount_fuji.png index 858b10e84..f3048fe89 100644 Binary files a/public/images/emoji/twitter/mount_fuji.png and b/public/images/emoji/twitter/mount_fuji.png differ diff --git a/public/images/emoji/twitter/mountain.png b/public/images/emoji/twitter/mountain.png index 01384a0d1..6b545f005 100644 Binary files a/public/images/emoji/twitter/mountain.png and b/public/images/emoji/twitter/mountain.png differ diff --git a/public/images/emoji/twitter/mountain_bicyclist.png b/public/images/emoji/twitter/mountain_bicyclist.png index 5294de706..f0bc0bf7e 100644 Binary files a/public/images/emoji/twitter/mountain_bicyclist.png and b/public/images/emoji/twitter/mountain_bicyclist.png differ diff --git a/public/images/emoji/twitter/mountain_cableway.png b/public/images/emoji/twitter/mountain_cableway.png index 5f5018e12..22651ca20 100644 Binary files a/public/images/emoji/twitter/mountain_cableway.png and b/public/images/emoji/twitter/mountain_cableway.png differ diff --git a/public/images/emoji/twitter/mountain_railway.png b/public/images/emoji/twitter/mountain_railway.png index 976833099..e6c786425 100644 Binary files a/public/images/emoji/twitter/mountain_railway.png and b/public/images/emoji/twitter/mountain_railway.png differ diff --git a/public/images/emoji/twitter/mountain_snow.png b/public/images/emoji/twitter/mountain_snow.png index 05f51304e..b3e246f09 100644 Binary files a/public/images/emoji/twitter/mountain_snow.png and b/public/images/emoji/twitter/mountain_snow.png differ diff --git a/public/images/emoji/twitter/mouse.png b/public/images/emoji/twitter/mouse.png index 5ce0a4c25..86b89c2fd 100644 Binary files a/public/images/emoji/twitter/mouse.png and b/public/images/emoji/twitter/mouse.png differ diff --git a/public/images/emoji/twitter/mouse2.png b/public/images/emoji/twitter/mouse2.png index 506da8505..e3e5558f4 100644 Binary files a/public/images/emoji/twitter/mouse2.png and b/public/images/emoji/twitter/mouse2.png differ diff --git a/public/images/emoji/twitter/mouse_three_button.png b/public/images/emoji/twitter/mouse_three_button.png index 08541826f..3a71c800c 100644 Binary files a/public/images/emoji/twitter/mouse_three_button.png and b/public/images/emoji/twitter/mouse_three_button.png differ diff --git a/public/images/emoji/twitter/movie_camera.png b/public/images/emoji/twitter/movie_camera.png index f9d5434d5..767f7c81f 100644 Binary files a/public/images/emoji/twitter/movie_camera.png and b/public/images/emoji/twitter/movie_camera.png differ diff --git a/public/images/emoji/twitter/moyai.png b/public/images/emoji/twitter/moyai.png index 38d55a829..afdea8022 100644 Binary files a/public/images/emoji/twitter/moyai.png and b/public/images/emoji/twitter/moyai.png differ diff --git a/public/images/emoji/twitter/muscle.png b/public/images/emoji/twitter/muscle.png index c1baf8497..9d55e38f0 100644 Binary files a/public/images/emoji/twitter/muscle.png and b/public/images/emoji/twitter/muscle.png differ diff --git a/public/images/emoji/twitter/mushroom.png b/public/images/emoji/twitter/mushroom.png index fd4da2bb1..47a2bfb3e 100644 Binary files a/public/images/emoji/twitter/mushroom.png and b/public/images/emoji/twitter/mushroom.png differ diff --git a/public/images/emoji/twitter/musical_keyboard.png b/public/images/emoji/twitter/musical_keyboard.png index 7fdfbb070..fcc417d6c 100644 Binary files a/public/images/emoji/twitter/musical_keyboard.png and b/public/images/emoji/twitter/musical_keyboard.png differ diff --git a/public/images/emoji/twitter/musical_note.png b/public/images/emoji/twitter/musical_note.png index dde6e7027..ad3b1615f 100644 Binary files a/public/images/emoji/twitter/musical_note.png and b/public/images/emoji/twitter/musical_note.png differ diff --git a/public/images/emoji/twitter/musical_score.png b/public/images/emoji/twitter/musical_score.png index 938141519..f84f6a312 100644 Binary files a/public/images/emoji/twitter/musical_score.png and b/public/images/emoji/twitter/musical_score.png differ diff --git a/public/images/emoji/twitter/mute.png b/public/images/emoji/twitter/mute.png index 2b1f7af89..9e3b2b8e2 100644 Binary files a/public/images/emoji/twitter/mute.png and b/public/images/emoji/twitter/mute.png differ diff --git a/public/images/emoji/twitter/nail_care.png b/public/images/emoji/twitter/nail_care.png index 168b73059..22044a204 100644 Binary files a/public/images/emoji/twitter/nail_care.png and b/public/images/emoji/twitter/nail_care.png differ diff --git a/public/images/emoji/twitter/name_badge.png b/public/images/emoji/twitter/name_badge.png index b7371811a..8697a7d53 100644 Binary files a/public/images/emoji/twitter/name_badge.png and b/public/images/emoji/twitter/name_badge.png differ diff --git a/public/images/emoji/twitter/national_park.png b/public/images/emoji/twitter/national_park.png new file mode 100644 index 000000000..db29d2dff Binary files /dev/null and b/public/images/emoji/twitter/national_park.png differ diff --git a/public/images/emoji/twitter/necktie.png b/public/images/emoji/twitter/necktie.png index 1d24cccb4..dd887e487 100644 Binary files a/public/images/emoji/twitter/necktie.png and b/public/images/emoji/twitter/necktie.png differ diff --git a/public/images/emoji/twitter/negative_squared_cross_mark.png b/public/images/emoji/twitter/negative_squared_cross_mark.png index 537f7c949..4b433900f 100644 Binary files a/public/images/emoji/twitter/negative_squared_cross_mark.png and b/public/images/emoji/twitter/negative_squared_cross_mark.png differ diff --git a/public/images/emoji/twitter/nerd.png b/public/images/emoji/twitter/nerd.png index 1d14fc303..6b546277d 100644 Binary files a/public/images/emoji/twitter/nerd.png and b/public/images/emoji/twitter/nerd.png differ diff --git a/public/images/emoji/twitter/nerd_face.png b/public/images/emoji/twitter/nerd_face.png new file mode 100644 index 000000000..6b546277d Binary files /dev/null and b/public/images/emoji/twitter/nerd_face.png differ diff --git a/public/images/emoji/twitter/neutral_face.png b/public/images/emoji/twitter/neutral_face.png index 4261c23af..d120878e9 100644 Binary files a/public/images/emoji/twitter/neutral_face.png and b/public/images/emoji/twitter/neutral_face.png differ diff --git a/public/images/emoji/twitter/new.png b/public/images/emoji/twitter/new.png index c1ebd95b3..3043b9f79 100644 Binary files a/public/images/emoji/twitter/new.png and b/public/images/emoji/twitter/new.png differ diff --git a/public/images/emoji/twitter/new_moon.png b/public/images/emoji/twitter/new_moon.png index d196481f7..826e38b1b 100644 Binary files a/public/images/emoji/twitter/new_moon.png and b/public/images/emoji/twitter/new_moon.png differ diff --git a/public/images/emoji/twitter/new_moon_with_face.png b/public/images/emoji/twitter/new_moon_with_face.png index 3d7b15a84..e16a5a5af 100644 Binary files a/public/images/emoji/twitter/new_moon_with_face.png and b/public/images/emoji/twitter/new_moon_with_face.png differ diff --git a/public/images/emoji/twitter/newspaper.png b/public/images/emoji/twitter/newspaper.png index 40b3d722c..70b1aaf3b 100644 Binary files a/public/images/emoji/twitter/newspaper.png and b/public/images/emoji/twitter/newspaper.png differ diff --git a/public/images/emoji/twitter/newspaper2.png b/public/images/emoji/twitter/newspaper2.png index bc184c041..052dcce75 100644 Binary files a/public/images/emoji/twitter/newspaper2.png and b/public/images/emoji/twitter/newspaper2.png differ diff --git a/public/images/emoji/twitter/next_track.png b/public/images/emoji/twitter/next_track.png new file mode 100644 index 000000000..13953da5d Binary files /dev/null and b/public/images/emoji/twitter/next_track.png differ diff --git a/public/images/emoji/twitter/ng.png b/public/images/emoji/twitter/ng.png index 4979e1d28..ab8234e77 100644 Binary files a/public/images/emoji/twitter/ng.png and b/public/images/emoji/twitter/ng.png differ diff --git a/public/images/emoji/twitter/night_with_stars.png b/public/images/emoji/twitter/night_with_stars.png index cb19066ac..eb2f416de 100644 Binary files a/public/images/emoji/twitter/night_with_stars.png and b/public/images/emoji/twitter/night_with_stars.png differ diff --git a/public/images/emoji/twitter/nine.png b/public/images/emoji/twitter/nine.png index ba757742c..e69de29bb 100644 Binary files a/public/images/emoji/twitter/nine.png and b/public/images/emoji/twitter/nine.png differ diff --git a/public/images/emoji/twitter/no_bell.png b/public/images/emoji/twitter/no_bell.png index ad89f6398..f9971547d 100644 Binary files a/public/images/emoji/twitter/no_bell.png and b/public/images/emoji/twitter/no_bell.png differ diff --git a/public/images/emoji/twitter/no_bicycles.png b/public/images/emoji/twitter/no_bicycles.png index c5cb70e35..a3f3104aa 100644 Binary files a/public/images/emoji/twitter/no_bicycles.png and b/public/images/emoji/twitter/no_bicycles.png differ diff --git a/public/images/emoji/twitter/no_entry.png b/public/images/emoji/twitter/no_entry.png index 8274ee05d..7bcdf65ec 100644 Binary files a/public/images/emoji/twitter/no_entry.png and b/public/images/emoji/twitter/no_entry.png differ diff --git a/public/images/emoji/twitter/no_entry_sign.png b/public/images/emoji/twitter/no_entry_sign.png index 8bd12ca9c..f723884aa 100644 Binary files a/public/images/emoji/twitter/no_entry_sign.png and b/public/images/emoji/twitter/no_entry_sign.png differ diff --git a/public/images/emoji/twitter/no_good.png b/public/images/emoji/twitter/no_good.png index 83c70a8ae..f388e6454 100644 Binary files a/public/images/emoji/twitter/no_good.png and b/public/images/emoji/twitter/no_good.png differ diff --git a/public/images/emoji/twitter/no_mobile_phones.png b/public/images/emoji/twitter/no_mobile_phones.png index 00d21f506..bbeacfc24 100644 Binary files a/public/images/emoji/twitter/no_mobile_phones.png and b/public/images/emoji/twitter/no_mobile_phones.png differ diff --git a/public/images/emoji/twitter/no_mouth.png b/public/images/emoji/twitter/no_mouth.png index c2b4f3e00..0ea6a5760 100644 Binary files a/public/images/emoji/twitter/no_mouth.png and b/public/images/emoji/twitter/no_mouth.png differ diff --git a/public/images/emoji/twitter/no_pedestrians.png b/public/images/emoji/twitter/no_pedestrians.png index 52fdb72b1..03a7652b1 100644 Binary files a/public/images/emoji/twitter/no_pedestrians.png and b/public/images/emoji/twitter/no_pedestrians.png differ diff --git a/public/images/emoji/twitter/no_smoking.png b/public/images/emoji/twitter/no_smoking.png index dfa574a2b..f60796c68 100644 Binary files a/public/images/emoji/twitter/no_smoking.png and b/public/images/emoji/twitter/no_smoking.png differ diff --git a/public/images/emoji/twitter/non-potable_water.png b/public/images/emoji/twitter/non-potable_water.png index 25585cd00..8336a41d9 100644 Binary files a/public/images/emoji/twitter/non-potable_water.png and b/public/images/emoji/twitter/non-potable_water.png differ diff --git a/public/images/emoji/twitter/nose.png b/public/images/emoji/twitter/nose.png index fae396ae6..8bb47186e 100644 Binary files a/public/images/emoji/twitter/nose.png and b/public/images/emoji/twitter/nose.png differ diff --git a/public/images/emoji/twitter/notebook.png b/public/images/emoji/twitter/notebook.png index 4d7110ed8..7c0190636 100644 Binary files a/public/images/emoji/twitter/notebook.png and b/public/images/emoji/twitter/notebook.png differ diff --git a/public/images/emoji/twitter/notebook_with_decorative_cover.png b/public/images/emoji/twitter/notebook_with_decorative_cover.png index 833cf40db..0fd6e82ee 100644 Binary files a/public/images/emoji/twitter/notebook_with_decorative_cover.png and b/public/images/emoji/twitter/notebook_with_decorative_cover.png differ diff --git a/public/images/emoji/twitter/notepad_spiral.png b/public/images/emoji/twitter/notepad_spiral.png index b57a95c28..b8ebfe080 100644 Binary files a/public/images/emoji/twitter/notepad_spiral.png and b/public/images/emoji/twitter/notepad_spiral.png differ diff --git a/public/images/emoji/twitter/notes.png b/public/images/emoji/twitter/notes.png index 2cbc951ca..7b6e995d0 100644 Binary files a/public/images/emoji/twitter/notes.png and b/public/images/emoji/twitter/notes.png differ diff --git a/public/images/emoji/twitter/nut_and_bolt.png b/public/images/emoji/twitter/nut_and_bolt.png index 31b21dd2c..bf485d6e9 100644 Binary files a/public/images/emoji/twitter/nut_and_bolt.png and b/public/images/emoji/twitter/nut_and_bolt.png differ diff --git a/public/images/emoji/twitter/o.png b/public/images/emoji/twitter/o.png index e9964a2fa..2da812f9d 100644 Binary files a/public/images/emoji/twitter/o.png and b/public/images/emoji/twitter/o.png differ diff --git a/public/images/emoji/twitter/o2.png b/public/images/emoji/twitter/o2.png index 174f217c9..f450cd817 100644 Binary files a/public/images/emoji/twitter/o2.png and b/public/images/emoji/twitter/o2.png differ diff --git a/public/images/emoji/twitter/ocean.png b/public/images/emoji/twitter/ocean.png index c21507673..238ed9137 100644 Binary files a/public/images/emoji/twitter/ocean.png and b/public/images/emoji/twitter/ocean.png differ diff --git a/public/images/emoji/twitter/octopus.png b/public/images/emoji/twitter/octopus.png index c5798b431..6bb3e2a0b 100644 Binary files a/public/images/emoji/twitter/octopus.png and b/public/images/emoji/twitter/octopus.png differ diff --git a/public/images/emoji/twitter/oden.png b/public/images/emoji/twitter/oden.png index dd29356a7..deae77669 100644 Binary files a/public/images/emoji/twitter/oden.png and b/public/images/emoji/twitter/oden.png differ diff --git a/public/images/emoji/twitter/office.png b/public/images/emoji/twitter/office.png index 9009632b6..8c0599fa6 100644 Binary files a/public/images/emoji/twitter/office.png and b/public/images/emoji/twitter/office.png differ diff --git a/public/images/emoji/twitter/oil.png b/public/images/emoji/twitter/oil.png index 6aab4045d..7c6d9e728 100644 Binary files a/public/images/emoji/twitter/oil.png and b/public/images/emoji/twitter/oil.png differ diff --git a/public/images/emoji/twitter/oil_drum.png b/public/images/emoji/twitter/oil_drum.png new file mode 100644 index 000000000..7c6d9e728 Binary files /dev/null and b/public/images/emoji/twitter/oil_drum.png differ diff --git a/public/images/emoji/twitter/ok.png b/public/images/emoji/twitter/ok.png index 93f62cb49..e8ae7f51d 100644 Binary files a/public/images/emoji/twitter/ok.png and b/public/images/emoji/twitter/ok.png differ diff --git a/public/images/emoji/twitter/ok_hand.png b/public/images/emoji/twitter/ok_hand.png index 9efe8a8c8..8630c33d3 100644 Binary files a/public/images/emoji/twitter/ok_hand.png and b/public/images/emoji/twitter/ok_hand.png differ diff --git a/public/images/emoji/twitter/ok_woman.png b/public/images/emoji/twitter/ok_woman.png index c912be42f..d81cd3063 100644 Binary files a/public/images/emoji/twitter/ok_woman.png and b/public/images/emoji/twitter/ok_woman.png differ diff --git a/public/images/emoji/twitter/old_key.png b/public/images/emoji/twitter/old_key.png new file mode 100644 index 000000000..18b939943 Binary files /dev/null and b/public/images/emoji/twitter/old_key.png differ diff --git a/public/images/emoji/twitter/older_man.png b/public/images/emoji/twitter/older_man.png index 2fcaf291c..0953bf4b6 100644 Binary files a/public/images/emoji/twitter/older_man.png and b/public/images/emoji/twitter/older_man.png differ diff --git a/public/images/emoji/twitter/older_woman.png b/public/images/emoji/twitter/older_woman.png index 141dc4ea4..fb6a0cc69 100644 Binary files a/public/images/emoji/twitter/older_woman.png and b/public/images/emoji/twitter/older_woman.png differ diff --git a/public/images/emoji/twitter/om_symbol.png b/public/images/emoji/twitter/om_symbol.png index 6b59c9803..bcd711314 100644 Binary files a/public/images/emoji/twitter/om_symbol.png and b/public/images/emoji/twitter/om_symbol.png differ diff --git a/public/images/emoji/twitter/on.png b/public/images/emoji/twitter/on.png index 447ac16af..cb0d26f5a 100644 Binary files a/public/images/emoji/twitter/on.png and b/public/images/emoji/twitter/on.png differ diff --git a/public/images/emoji/twitter/oncoming_automobile.png b/public/images/emoji/twitter/oncoming_automobile.png index d6c19c9e5..2fbf351b8 100644 Binary files a/public/images/emoji/twitter/oncoming_automobile.png and b/public/images/emoji/twitter/oncoming_automobile.png differ diff --git a/public/images/emoji/twitter/oncoming_bus.png b/public/images/emoji/twitter/oncoming_bus.png index 043ef5899..ad73d9041 100644 Binary files a/public/images/emoji/twitter/oncoming_bus.png and b/public/images/emoji/twitter/oncoming_bus.png differ diff --git a/public/images/emoji/twitter/oncoming_police_car.png b/public/images/emoji/twitter/oncoming_police_car.png index 7548baa99..e0969d011 100644 Binary files a/public/images/emoji/twitter/oncoming_police_car.png and b/public/images/emoji/twitter/oncoming_police_car.png differ diff --git a/public/images/emoji/twitter/oncoming_taxi.png b/public/images/emoji/twitter/oncoming_taxi.png index 43e3e1502..c9043c238 100644 Binary files a/public/images/emoji/twitter/oncoming_taxi.png and b/public/images/emoji/twitter/oncoming_taxi.png differ diff --git a/public/images/emoji/twitter/one.png b/public/images/emoji/twitter/one.png index e61050b62..e69de29bb 100644 Binary files a/public/images/emoji/twitter/one.png and b/public/images/emoji/twitter/one.png differ diff --git a/public/images/emoji/twitter/open_book.png b/public/images/emoji/twitter/open_book.png deleted file mode 100644 index c952d6ab3..000000000 Binary files a/public/images/emoji/twitter/open_book.png and /dev/null differ diff --git a/public/images/emoji/twitter/open_file_folder.png b/public/images/emoji/twitter/open_file_folder.png index 3f4973e52..e094a56fa 100644 Binary files a/public/images/emoji/twitter/open_file_folder.png and b/public/images/emoji/twitter/open_file_folder.png differ diff --git a/public/images/emoji/twitter/open_hands.png b/public/images/emoji/twitter/open_hands.png index 1312422d9..195fc14ac 100644 Binary files a/public/images/emoji/twitter/open_hands.png and b/public/images/emoji/twitter/open_hands.png differ diff --git a/public/images/emoji/twitter/open_mouth.png b/public/images/emoji/twitter/open_mouth.png index e7a33f5c7..be96806fb 100644 Binary files a/public/images/emoji/twitter/open_mouth.png and b/public/images/emoji/twitter/open_mouth.png differ diff --git a/public/images/emoji/twitter/ophiuchus.png b/public/images/emoji/twitter/ophiuchus.png index e8355c929..6ab20a8f4 100644 Binary files a/public/images/emoji/twitter/ophiuchus.png and b/public/images/emoji/twitter/ophiuchus.png differ diff --git a/public/images/emoji/twitter/orange_book.png b/public/images/emoji/twitter/orange_book.png index d70967967..23f446928 100644 Binary files a/public/images/emoji/twitter/orange_book.png and b/public/images/emoji/twitter/orange_book.png differ diff --git a/public/images/emoji/twitter/orthodox_cross.png b/public/images/emoji/twitter/orthodox_cross.png index 796b51f9d..5b398f5cf 100644 Binary files a/public/images/emoji/twitter/orthodox_cross.png and b/public/images/emoji/twitter/orthodox_cross.png differ diff --git a/public/images/emoji/twitter/outbox_tray.png b/public/images/emoji/twitter/outbox_tray.png index 1e5b5986d..c26dd23ef 100644 Binary files a/public/images/emoji/twitter/outbox_tray.png and b/public/images/emoji/twitter/outbox_tray.png differ diff --git a/public/images/emoji/twitter/ox.png b/public/images/emoji/twitter/ox.png index 9f953f848..d9ba4840b 100644 Binary files a/public/images/emoji/twitter/ox.png and b/public/images/emoji/twitter/ox.png differ diff --git a/public/images/emoji/twitter/package.png b/public/images/emoji/twitter/package.png index 39ec969ab..10d438ca2 100644 Binary files a/public/images/emoji/twitter/package.png and b/public/images/emoji/twitter/package.png differ diff --git a/public/images/emoji/twitter/page_facing_up.png b/public/images/emoji/twitter/page_facing_up.png index dce1f3639..2dd1bb85f 100644 Binary files a/public/images/emoji/twitter/page_facing_up.png and b/public/images/emoji/twitter/page_facing_up.png differ diff --git a/public/images/emoji/twitter/page_with_curl.png b/public/images/emoji/twitter/page_with_curl.png index d13d198c6..31a59dcf5 100644 Binary files a/public/images/emoji/twitter/page_with_curl.png and b/public/images/emoji/twitter/page_with_curl.png differ diff --git a/public/images/emoji/twitter/pager.png b/public/images/emoji/twitter/pager.png index 7cb248980..b4a37b359 100644 Binary files a/public/images/emoji/twitter/pager.png and b/public/images/emoji/twitter/pager.png differ diff --git a/public/images/emoji/twitter/paintbrush.png b/public/images/emoji/twitter/paintbrush.png index 94b575de1..c7d649a37 100644 Binary files a/public/images/emoji/twitter/paintbrush.png and b/public/images/emoji/twitter/paintbrush.png differ diff --git a/public/images/emoji/twitter/palm_tree.png b/public/images/emoji/twitter/palm_tree.png index 98469a520..4f431333b 100644 Binary files a/public/images/emoji/twitter/palm_tree.png and b/public/images/emoji/twitter/palm_tree.png differ diff --git a/public/images/emoji/twitter/panda_face.png b/public/images/emoji/twitter/panda_face.png index 8b846e852..2b48135fd 100644 Binary files a/public/images/emoji/twitter/panda_face.png and b/public/images/emoji/twitter/panda_face.png differ diff --git a/public/images/emoji/twitter/paperclip.png b/public/images/emoji/twitter/paperclip.png index 9fcbeca6e..eab8b01fa 100644 Binary files a/public/images/emoji/twitter/paperclip.png and b/public/images/emoji/twitter/paperclip.png differ diff --git a/public/images/emoji/twitter/paperclips.png b/public/images/emoji/twitter/paperclips.png index 126b43926..b4080878f 100644 Binary files a/public/images/emoji/twitter/paperclips.png and b/public/images/emoji/twitter/paperclips.png differ diff --git a/public/images/emoji/twitter/park.png b/public/images/emoji/twitter/park.png index 5dec43509..db29d2dff 100644 Binary files a/public/images/emoji/twitter/park.png and b/public/images/emoji/twitter/park.png differ diff --git a/public/images/emoji/twitter/parking.png b/public/images/emoji/twitter/parking.png index 3824025e5..8b5ed7869 100644 Binary files a/public/images/emoji/twitter/parking.png and b/public/images/emoji/twitter/parking.png differ diff --git a/public/images/emoji/twitter/part_alternation_mark.png b/public/images/emoji/twitter/part_alternation_mark.png index 2e23f2bad..3e2642155 100644 Binary files a/public/images/emoji/twitter/part_alternation_mark.png and b/public/images/emoji/twitter/part_alternation_mark.png differ diff --git a/public/images/emoji/twitter/partly_sunny.png b/public/images/emoji/twitter/partly_sunny.png index 6e06f775e..544e6eafe 100644 Binary files a/public/images/emoji/twitter/partly_sunny.png and b/public/images/emoji/twitter/partly_sunny.png differ diff --git a/public/images/emoji/twitter/passenger_ship.png b/public/images/emoji/twitter/passenger_ship.png new file mode 100644 index 000000000..b1ee56134 Binary files /dev/null and b/public/images/emoji/twitter/passenger_ship.png differ diff --git a/public/images/emoji/twitter/passport_control.png b/public/images/emoji/twitter/passport_control.png index 55d3a9b47..de4b774c1 100644 Binary files a/public/images/emoji/twitter/passport_control.png and b/public/images/emoji/twitter/passport_control.png differ diff --git a/public/images/emoji/twitter/pause_button.png b/public/images/emoji/twitter/pause_button.png index 78d4ae8ac..624e2df71 100644 Binary files a/public/images/emoji/twitter/pause_button.png and b/public/images/emoji/twitter/pause_button.png differ diff --git a/public/images/emoji/twitter/paw_prints.png b/public/images/emoji/twitter/paw_prints.png index 94deaa1e5..5d89252f0 100644 Binary files a/public/images/emoji/twitter/paw_prints.png and b/public/images/emoji/twitter/paw_prints.png differ diff --git a/public/images/emoji/twitter/peace.png b/public/images/emoji/twitter/peace.png index 74e529b15..4eeaef2b5 100644 Binary files a/public/images/emoji/twitter/peace.png and b/public/images/emoji/twitter/peace.png differ diff --git a/public/images/emoji/twitter/peace_symbol.png b/public/images/emoji/twitter/peace_symbol.png new file mode 100644 index 000000000..4eeaef2b5 Binary files /dev/null and b/public/images/emoji/twitter/peace_symbol.png differ diff --git a/public/images/emoji/twitter/peach.png b/public/images/emoji/twitter/peach.png index cfee94c1d..c71572786 100644 Binary files a/public/images/emoji/twitter/peach.png and b/public/images/emoji/twitter/peach.png differ diff --git a/public/images/emoji/twitter/pear.png b/public/images/emoji/twitter/pear.png index 6ebb4d706..b84c90c15 100644 Binary files a/public/images/emoji/twitter/pear.png and b/public/images/emoji/twitter/pear.png differ diff --git a/public/images/emoji/twitter/pen_ballpoint.png b/public/images/emoji/twitter/pen_ballpoint.png index 6219ae26c..97d8c722a 100644 Binary files a/public/images/emoji/twitter/pen_ballpoint.png and b/public/images/emoji/twitter/pen_ballpoint.png differ diff --git a/public/images/emoji/twitter/pen_fountain.png b/public/images/emoji/twitter/pen_fountain.png index f2579410b..96584c9f5 100644 Binary files a/public/images/emoji/twitter/pen_fountain.png and b/public/images/emoji/twitter/pen_fountain.png differ diff --git a/public/images/emoji/twitter/pencil.png b/public/images/emoji/twitter/pencil.png index 6152d1395..9cefdba7e 100644 Binary files a/public/images/emoji/twitter/pencil.png and b/public/images/emoji/twitter/pencil.png differ diff --git a/public/images/emoji/twitter/pencil2.png b/public/images/emoji/twitter/pencil2.png index a6658a52f..195bad416 100644 Binary files a/public/images/emoji/twitter/pencil2.png and b/public/images/emoji/twitter/pencil2.png differ diff --git a/public/images/emoji/twitter/penguin.png b/public/images/emoji/twitter/penguin.png index b7b0ad9ad..81e227d7e 100644 Binary files a/public/images/emoji/twitter/penguin.png and b/public/images/emoji/twitter/penguin.png differ diff --git a/public/images/emoji/twitter/pensive.png b/public/images/emoji/twitter/pensive.png index 941d6c8c7..642bfd330 100644 Binary files a/public/images/emoji/twitter/pensive.png and b/public/images/emoji/twitter/pensive.png differ diff --git a/public/images/emoji/twitter/performing_arts.png b/public/images/emoji/twitter/performing_arts.png index f26cee85b..1d2796a27 100644 Binary files a/public/images/emoji/twitter/performing_arts.png and b/public/images/emoji/twitter/performing_arts.png differ diff --git a/public/images/emoji/twitter/persevere.png b/public/images/emoji/twitter/persevere.png index 5c99ddbb5..e2ea3c297 100644 Binary files a/public/images/emoji/twitter/persevere.png and b/public/images/emoji/twitter/persevere.png differ diff --git a/public/images/emoji/twitter/person_frowning.png b/public/images/emoji/twitter/person_frowning.png index 4f262c3ad..f1ca30e53 100644 Binary files a/public/images/emoji/twitter/person_frowning.png and b/public/images/emoji/twitter/person_frowning.png differ diff --git a/public/images/emoji/twitter/person_with_ball.png b/public/images/emoji/twitter/person_with_ball.png new file mode 100644 index 000000000..af55a33bf Binary files /dev/null and b/public/images/emoji/twitter/person_with_ball.png differ diff --git a/public/images/emoji/twitter/person_with_blond_hair.png b/public/images/emoji/twitter/person_with_blond_hair.png index 51bb86986..419c5d22c 100644 Binary files a/public/images/emoji/twitter/person_with_blond_hair.png and b/public/images/emoji/twitter/person_with_blond_hair.png differ diff --git a/public/images/emoji/twitter/person_with_pouting_face.png b/public/images/emoji/twitter/person_with_pouting_face.png index ec114b7b8..8d764bf4f 100644 Binary files a/public/images/emoji/twitter/person_with_pouting_face.png and b/public/images/emoji/twitter/person_with_pouting_face.png differ diff --git a/public/images/emoji/twitter/phone.png b/public/images/emoji/twitter/phone.png deleted file mode 100644 index d8626e6e6..000000000 Binary files a/public/images/emoji/twitter/phone.png and /dev/null differ diff --git a/public/images/emoji/twitter/pick.png b/public/images/emoji/twitter/pick.png index 696accaff..cc216bfca 100644 Binary files a/public/images/emoji/twitter/pick.png and b/public/images/emoji/twitter/pick.png differ diff --git a/public/images/emoji/twitter/pig.png b/public/images/emoji/twitter/pig.png index 85bc8a378..f7e2cadb0 100644 Binary files a/public/images/emoji/twitter/pig.png and b/public/images/emoji/twitter/pig.png differ diff --git a/public/images/emoji/twitter/pig2.png b/public/images/emoji/twitter/pig2.png index 51c1dda2d..120baeb2a 100644 Binary files a/public/images/emoji/twitter/pig2.png and b/public/images/emoji/twitter/pig2.png differ diff --git a/public/images/emoji/twitter/pig_nose.png b/public/images/emoji/twitter/pig_nose.png index 9575ae1b5..65e0d1c5f 100644 Binary files a/public/images/emoji/twitter/pig_nose.png and b/public/images/emoji/twitter/pig_nose.png differ diff --git a/public/images/emoji/twitter/pill.png b/public/images/emoji/twitter/pill.png index fd1873fdf..282d510e4 100644 Binary files a/public/images/emoji/twitter/pill.png and b/public/images/emoji/twitter/pill.png differ diff --git a/public/images/emoji/twitter/pineapple.png b/public/images/emoji/twitter/pineapple.png index b1d8f2ff7..274e691cc 100644 Binary files a/public/images/emoji/twitter/pineapple.png and b/public/images/emoji/twitter/pineapple.png differ diff --git a/public/images/emoji/twitter/ping_pong.png b/public/images/emoji/twitter/ping_pong.png index 44de4d951..935993c86 100644 Binary files a/public/images/emoji/twitter/ping_pong.png and b/public/images/emoji/twitter/ping_pong.png differ diff --git a/public/images/emoji/twitter/pisces.png b/public/images/emoji/twitter/pisces.png index a0ff83a0e..a8f2ab6ba 100644 Binary files a/public/images/emoji/twitter/pisces.png and b/public/images/emoji/twitter/pisces.png differ diff --git a/public/images/emoji/twitter/pizza.png b/public/images/emoji/twitter/pizza.png index 00652465a..5dee65364 100644 Binary files a/public/images/emoji/twitter/pizza.png and b/public/images/emoji/twitter/pizza.png differ diff --git a/public/images/emoji/twitter/place_of_worship.png b/public/images/emoji/twitter/place_of_worship.png index b8e099695..19e1150b3 100644 Binary files a/public/images/emoji/twitter/place_of_worship.png and b/public/images/emoji/twitter/place_of_worship.png differ diff --git a/public/images/emoji/twitter/play_pause.png b/public/images/emoji/twitter/play_pause.png index 0839a426e..64b999854 100644 Binary files a/public/images/emoji/twitter/play_pause.png and b/public/images/emoji/twitter/play_pause.png differ diff --git a/public/images/emoji/twitter/point_down.png b/public/images/emoji/twitter/point_down.png index 3d6fa1dc3..2bcb778a1 100644 Binary files a/public/images/emoji/twitter/point_down.png and b/public/images/emoji/twitter/point_down.png differ diff --git a/public/images/emoji/twitter/point_left.png b/public/images/emoji/twitter/point_left.png index de4a4d6ba..349d9eb34 100644 Binary files a/public/images/emoji/twitter/point_left.png and b/public/images/emoji/twitter/point_left.png differ diff --git a/public/images/emoji/twitter/point_right.png b/public/images/emoji/twitter/point_right.png index 41e8d012a..4aaaf5360 100644 Binary files a/public/images/emoji/twitter/point_right.png and b/public/images/emoji/twitter/point_right.png differ diff --git a/public/images/emoji/twitter/point_up.png b/public/images/emoji/twitter/point_up.png index 64f4ba209..8628dba3b 100644 Binary files a/public/images/emoji/twitter/point_up.png and b/public/images/emoji/twitter/point_up.png differ diff --git a/public/images/emoji/twitter/point_up_2.png b/public/images/emoji/twitter/point_up_2.png index c6cb2afdf..2ad37c859 100644 Binary files a/public/images/emoji/twitter/point_up_2.png and b/public/images/emoji/twitter/point_up_2.png differ diff --git a/public/images/emoji/twitter/police_car.png b/public/images/emoji/twitter/police_car.png index 7bb763e82..7e383292b 100644 Binary files a/public/images/emoji/twitter/police_car.png and b/public/images/emoji/twitter/police_car.png differ diff --git a/public/images/emoji/twitter/poo.png b/public/images/emoji/twitter/poo.png new file mode 100644 index 000000000..51661e5df Binary files /dev/null and b/public/images/emoji/twitter/poo.png differ diff --git a/public/images/emoji/twitter/poodle.png b/public/images/emoji/twitter/poodle.png index 485d34b0a..4029c7552 100644 Binary files a/public/images/emoji/twitter/poodle.png and b/public/images/emoji/twitter/poodle.png differ diff --git a/public/images/emoji/twitter/poop.png b/public/images/emoji/twitter/poop.png index 7284027c6..51661e5df 100644 Binary files a/public/images/emoji/twitter/poop.png and b/public/images/emoji/twitter/poop.png differ diff --git a/public/images/emoji/twitter/popcorn.png b/public/images/emoji/twitter/popcorn.png index 6f4e0f0b6..ccdc42f6c 100644 Binary files a/public/images/emoji/twitter/popcorn.png and b/public/images/emoji/twitter/popcorn.png differ diff --git a/public/images/emoji/twitter/post_office.png b/public/images/emoji/twitter/post_office.png index 06385a2c8..ae0689752 100644 Binary files a/public/images/emoji/twitter/post_office.png and b/public/images/emoji/twitter/post_office.png differ diff --git a/public/images/emoji/twitter/postal_horn.png b/public/images/emoji/twitter/postal_horn.png index c0cfacae6..5e3c044e4 100644 Binary files a/public/images/emoji/twitter/postal_horn.png and b/public/images/emoji/twitter/postal_horn.png differ diff --git a/public/images/emoji/twitter/postbox.png b/public/images/emoji/twitter/postbox.png index d2c3f3d4d..dac21ed2c 100644 Binary files a/public/images/emoji/twitter/postbox.png and b/public/images/emoji/twitter/postbox.png differ diff --git a/public/images/emoji/twitter/potable_water.png b/public/images/emoji/twitter/potable_water.png index 5f04b98a9..76c9dc2c2 100644 Binary files a/public/images/emoji/twitter/potable_water.png and b/public/images/emoji/twitter/potable_water.png differ diff --git a/public/images/emoji/twitter/pouch.png b/public/images/emoji/twitter/pouch.png index 43522c9ef..7cc75779f 100644 Binary files a/public/images/emoji/twitter/pouch.png and b/public/images/emoji/twitter/pouch.png differ diff --git a/public/images/emoji/twitter/poultry_leg.png b/public/images/emoji/twitter/poultry_leg.png index abcb924ec..7829ee602 100644 Binary files a/public/images/emoji/twitter/poultry_leg.png and b/public/images/emoji/twitter/poultry_leg.png differ diff --git a/public/images/emoji/twitter/pound.png b/public/images/emoji/twitter/pound.png index a4d63e844..b68ce1139 100644 Binary files a/public/images/emoji/twitter/pound.png and b/public/images/emoji/twitter/pound.png differ diff --git a/public/images/emoji/twitter/pouting_cat.png b/public/images/emoji/twitter/pouting_cat.png index fbc093ffb..87a39c56f 100644 Binary files a/public/images/emoji/twitter/pouting_cat.png and b/public/images/emoji/twitter/pouting_cat.png differ diff --git a/public/images/emoji/twitter/pray.png b/public/images/emoji/twitter/pray.png index 143dc395e..c0f43f999 100644 Binary files a/public/images/emoji/twitter/pray.png and b/public/images/emoji/twitter/pray.png differ diff --git a/public/images/emoji/twitter/prayer_beads.png b/public/images/emoji/twitter/prayer_beads.png index e7709c6cb..06ae366e5 100644 Binary files a/public/images/emoji/twitter/prayer_beads.png and b/public/images/emoji/twitter/prayer_beads.png differ diff --git a/public/images/emoji/twitter/previous_track.png b/public/images/emoji/twitter/previous_track.png new file mode 100644 index 000000000..ada39abc3 Binary files /dev/null and b/public/images/emoji/twitter/previous_track.png differ diff --git a/public/images/emoji/twitter/princess.png b/public/images/emoji/twitter/princess.png index 1f410e26b..a0ada98dc 100644 Binary files a/public/images/emoji/twitter/princess.png and b/public/images/emoji/twitter/princess.png differ diff --git a/public/images/emoji/twitter/printer.png b/public/images/emoji/twitter/printer.png index 58961b6b0..3fbfb20f2 100644 Binary files a/public/images/emoji/twitter/printer.png and b/public/images/emoji/twitter/printer.png differ diff --git a/public/images/emoji/twitter/projector.png b/public/images/emoji/twitter/projector.png index 6135a3366..3acb6ea9c 100644 Binary files a/public/images/emoji/twitter/projector.png and b/public/images/emoji/twitter/projector.png differ diff --git a/public/images/emoji/twitter/punch.png b/public/images/emoji/twitter/punch.png index b41129276..28448af2f 100644 Binary files a/public/images/emoji/twitter/punch.png and b/public/images/emoji/twitter/punch.png differ diff --git a/public/images/emoji/twitter/purple_heart.png b/public/images/emoji/twitter/purple_heart.png index c84cce076..015e60fa4 100644 Binary files a/public/images/emoji/twitter/purple_heart.png and b/public/images/emoji/twitter/purple_heart.png differ diff --git a/public/images/emoji/twitter/purse.png b/public/images/emoji/twitter/purse.png index 91b11916e..de231d06c 100644 Binary files a/public/images/emoji/twitter/purse.png and b/public/images/emoji/twitter/purse.png differ diff --git a/public/images/emoji/twitter/pushpin.png b/public/images/emoji/twitter/pushpin.png index ab27d5696..52d71021d 100644 Binary files a/public/images/emoji/twitter/pushpin.png and b/public/images/emoji/twitter/pushpin.png differ diff --git a/public/images/emoji/twitter/put_litter_in_its_place.png b/public/images/emoji/twitter/put_litter_in_its_place.png index fc7b6b669..619504716 100644 Binary files a/public/images/emoji/twitter/put_litter_in_its_place.png and b/public/images/emoji/twitter/put_litter_in_its_place.png differ diff --git a/public/images/emoji/twitter/question.png b/public/images/emoji/twitter/question.png index 1e723aea5..ad5cc0dc0 100644 Binary files a/public/images/emoji/twitter/question.png and b/public/images/emoji/twitter/question.png differ diff --git a/public/images/emoji/twitter/rabbit.png b/public/images/emoji/twitter/rabbit.png index 8187e7c09..5641d5690 100644 Binary files a/public/images/emoji/twitter/rabbit.png and b/public/images/emoji/twitter/rabbit.png differ diff --git a/public/images/emoji/twitter/rabbit2.png b/public/images/emoji/twitter/rabbit2.png index aa11d6801..3599137f5 100644 Binary files a/public/images/emoji/twitter/rabbit2.png and b/public/images/emoji/twitter/rabbit2.png differ diff --git a/public/images/emoji/twitter/race_car.png b/public/images/emoji/twitter/race_car.png index 894f1b62c..8cf595469 100644 Binary files a/public/images/emoji/twitter/race_car.png and b/public/images/emoji/twitter/race_car.png differ diff --git a/public/images/emoji/twitter/racehorse.png b/public/images/emoji/twitter/racehorse.png index edd7816d8..871345050 100644 Binary files a/public/images/emoji/twitter/racehorse.png and b/public/images/emoji/twitter/racehorse.png differ diff --git a/public/images/emoji/twitter/racing_car.png b/public/images/emoji/twitter/racing_car.png new file mode 100644 index 000000000..8cf595469 Binary files /dev/null and b/public/images/emoji/twitter/racing_car.png differ diff --git a/public/images/emoji/twitter/racing_motorcycle.png b/public/images/emoji/twitter/racing_motorcycle.png new file mode 100644 index 000000000..2c7b22a42 Binary files /dev/null and b/public/images/emoji/twitter/racing_motorcycle.png differ diff --git a/public/images/emoji/twitter/radio.png b/public/images/emoji/twitter/radio.png index 360967517..cc1cccd52 100644 Binary files a/public/images/emoji/twitter/radio.png and b/public/images/emoji/twitter/radio.png differ diff --git a/public/images/emoji/twitter/radio_button.png b/public/images/emoji/twitter/radio_button.png index 39a73ebf0..7cf5335a4 100644 Binary files a/public/images/emoji/twitter/radio_button.png and b/public/images/emoji/twitter/radio_button.png differ diff --git a/public/images/emoji/twitter/radioactive.png b/public/images/emoji/twitter/radioactive.png index 2c4d0ab57..8fdf276cd 100644 Binary files a/public/images/emoji/twitter/radioactive.png and b/public/images/emoji/twitter/radioactive.png differ diff --git a/public/images/emoji/twitter/radioactive_sign.png b/public/images/emoji/twitter/radioactive_sign.png new file mode 100644 index 000000000..8fdf276cd Binary files /dev/null and b/public/images/emoji/twitter/radioactive_sign.png differ diff --git a/public/images/emoji/twitter/rage.png b/public/images/emoji/twitter/rage.png index 7a646ebbf..c72b5eebd 100644 Binary files a/public/images/emoji/twitter/rage.png and b/public/images/emoji/twitter/rage.png differ diff --git a/public/images/emoji/twitter/railroad_track.png b/public/images/emoji/twitter/railroad_track.png new file mode 100644 index 000000000..09bac6b7d Binary files /dev/null and b/public/images/emoji/twitter/railroad_track.png differ diff --git a/public/images/emoji/twitter/railway_car.png b/public/images/emoji/twitter/railway_car.png index 6d8d459a3..e2ee0c171 100644 Binary files a/public/images/emoji/twitter/railway_car.png and b/public/images/emoji/twitter/railway_car.png differ diff --git a/public/images/emoji/twitter/railway_track.png b/public/images/emoji/twitter/railway_track.png index 8a09aa1ed..09bac6b7d 100644 Binary files a/public/images/emoji/twitter/railway_track.png and b/public/images/emoji/twitter/railway_track.png differ diff --git a/public/images/emoji/twitter/rainbow.png b/public/images/emoji/twitter/rainbow.png index b9bc2ba59..ec793adc7 100644 Binary files a/public/images/emoji/twitter/rainbow.png and b/public/images/emoji/twitter/rainbow.png differ diff --git a/public/images/emoji/twitter/raised_hand.png b/public/images/emoji/twitter/raised_hand.png index f7edfd6c3..8a2c6cc32 100644 Binary files a/public/images/emoji/twitter/raised_hand.png and b/public/images/emoji/twitter/raised_hand.png differ diff --git a/public/images/emoji/twitter/raised_hand_with_fingers_splayed.png b/public/images/emoji/twitter/raised_hand_with_fingers_splayed.png new file mode 100644 index 000000000..f41f01af4 Binary files /dev/null and b/public/images/emoji/twitter/raised_hand_with_fingers_splayed.png differ diff --git a/public/images/emoji/twitter/raised_hand_with_part_between_middle_and_ring_fingers.png b/public/images/emoji/twitter/raised_hand_with_part_between_middle_and_ring_fingers.png new file mode 100644 index 000000000..624592945 Binary files /dev/null and b/public/images/emoji/twitter/raised_hand_with_part_between_middle_and_ring_fingers.png differ diff --git a/public/images/emoji/twitter/raised_hands.png b/public/images/emoji/twitter/raised_hands.png index c936e1cb0..6c1962a67 100644 Binary files a/public/images/emoji/twitter/raised_hands.png and b/public/images/emoji/twitter/raised_hands.png differ diff --git a/public/images/emoji/twitter/raising_hand.png b/public/images/emoji/twitter/raising_hand.png index 279c64159..88082b408 100644 Binary files a/public/images/emoji/twitter/raising_hand.png and b/public/images/emoji/twitter/raising_hand.png differ diff --git a/public/images/emoji/twitter/ram.png b/public/images/emoji/twitter/ram.png index 696065724..66c80027f 100644 Binary files a/public/images/emoji/twitter/ram.png and b/public/images/emoji/twitter/ram.png differ diff --git a/public/images/emoji/twitter/ramen.png b/public/images/emoji/twitter/ramen.png index dac5de6f2..16a264789 100644 Binary files a/public/images/emoji/twitter/ramen.png and b/public/images/emoji/twitter/ramen.png differ diff --git a/public/images/emoji/twitter/rat.png b/public/images/emoji/twitter/rat.png index 6e65af5d1..0ec83c0db 100644 Binary files a/public/images/emoji/twitter/rat.png and b/public/images/emoji/twitter/rat.png differ diff --git a/public/images/emoji/twitter/record_button.png b/public/images/emoji/twitter/record_button.png index 3725e1c21..9015b0fde 100644 Binary files a/public/images/emoji/twitter/record_button.png and b/public/images/emoji/twitter/record_button.png differ diff --git a/public/images/emoji/twitter/recycle.png b/public/images/emoji/twitter/recycle.png index 670dd2b5d..e967360d4 100644 Binary files a/public/images/emoji/twitter/recycle.png and b/public/images/emoji/twitter/recycle.png differ diff --git a/public/images/emoji/twitter/red_car.png b/public/images/emoji/twitter/red_car.png index 3dd084f99..d4613010a 100644 Binary files a/public/images/emoji/twitter/red_car.png and b/public/images/emoji/twitter/red_car.png differ diff --git a/public/images/emoji/twitter/red_circle.png b/public/images/emoji/twitter/red_circle.png index c44bc094b..db691f4d5 100644 Binary files a/public/images/emoji/twitter/red_circle.png and b/public/images/emoji/twitter/red_circle.png differ diff --git a/public/images/emoji/twitter/registered.png b/public/images/emoji/twitter/registered.png index e8ec23f66..0cd3b0aa2 100644 Binary files a/public/images/emoji/twitter/registered.png and b/public/images/emoji/twitter/registered.png differ diff --git a/public/images/emoji/twitter/relaxed.png b/public/images/emoji/twitter/relaxed.png index 0c030587f..0ba406c8d 100644 Binary files a/public/images/emoji/twitter/relaxed.png and b/public/images/emoji/twitter/relaxed.png differ diff --git a/public/images/emoji/twitter/relieved.png b/public/images/emoji/twitter/relieved.png index b9ca87e45..c050abd24 100644 Binary files a/public/images/emoji/twitter/relieved.png and b/public/images/emoji/twitter/relieved.png differ diff --git a/public/images/emoji/twitter/reminder_ribbon.png b/public/images/emoji/twitter/reminder_ribbon.png index 09d8d0e30..c6c9d3192 100644 Binary files a/public/images/emoji/twitter/reminder_ribbon.png and b/public/images/emoji/twitter/reminder_ribbon.png differ diff --git a/public/images/emoji/twitter/repeat.png b/public/images/emoji/twitter/repeat.png index 3b995af9d..5714e85ef 100644 Binary files a/public/images/emoji/twitter/repeat.png and b/public/images/emoji/twitter/repeat.png differ diff --git a/public/images/emoji/twitter/repeat_one.png b/public/images/emoji/twitter/repeat_one.png index 10f7bbb75..382d5f112 100644 Binary files a/public/images/emoji/twitter/repeat_one.png and b/public/images/emoji/twitter/repeat_one.png differ diff --git a/public/images/emoji/twitter/restroom.png b/public/images/emoji/twitter/restroom.png index 77d411f3e..2d042e4ea 100644 Binary files a/public/images/emoji/twitter/restroom.png and b/public/images/emoji/twitter/restroom.png differ diff --git a/public/images/emoji/twitter/reversed_hand_with_middle_finger_extended.png b/public/images/emoji/twitter/reversed_hand_with_middle_finger_extended.png new file mode 100644 index 000000000..8e7fce2f4 Binary files /dev/null and b/public/images/emoji/twitter/reversed_hand_with_middle_finger_extended.png differ diff --git a/public/images/emoji/twitter/revolving_hearts.png b/public/images/emoji/twitter/revolving_hearts.png index 334f2ffbf..c0bb8f110 100644 Binary files a/public/images/emoji/twitter/revolving_hearts.png and b/public/images/emoji/twitter/revolving_hearts.png differ diff --git a/public/images/emoji/twitter/rewind.png b/public/images/emoji/twitter/rewind.png index 7a1373627..1648d7185 100644 Binary files a/public/images/emoji/twitter/rewind.png and b/public/images/emoji/twitter/rewind.png differ diff --git a/public/images/emoji/twitter/ribbon.png b/public/images/emoji/twitter/ribbon.png index 6836ca115..b99af7c8a 100644 Binary files a/public/images/emoji/twitter/ribbon.png and b/public/images/emoji/twitter/ribbon.png differ diff --git a/public/images/emoji/twitter/rice.png b/public/images/emoji/twitter/rice.png index 96d33e210..5018b04fc 100644 Binary files a/public/images/emoji/twitter/rice.png and b/public/images/emoji/twitter/rice.png differ diff --git a/public/images/emoji/twitter/rice_ball.png b/public/images/emoji/twitter/rice_ball.png index 2a1d21ae7..066d4203e 100644 Binary files a/public/images/emoji/twitter/rice_ball.png and b/public/images/emoji/twitter/rice_ball.png differ diff --git a/public/images/emoji/twitter/rice_cracker.png b/public/images/emoji/twitter/rice_cracker.png index 191ba5aa2..a4bd346c6 100644 Binary files a/public/images/emoji/twitter/rice_cracker.png and b/public/images/emoji/twitter/rice_cracker.png differ diff --git a/public/images/emoji/twitter/rice_scene.png b/public/images/emoji/twitter/rice_scene.png index eb37d84a1..5e2fba15f 100644 Binary files a/public/images/emoji/twitter/rice_scene.png and b/public/images/emoji/twitter/rice_scene.png differ diff --git a/public/images/emoji/twitter/right_anger_bubble.png b/public/images/emoji/twitter/right_anger_bubble.png new file mode 100644 index 000000000..3d3ee7dcf Binary files /dev/null and b/public/images/emoji/twitter/right_anger_bubble.png differ diff --git a/public/images/emoji/twitter/ring.png b/public/images/emoji/twitter/ring.png index 2bd05ada0..780842e3c 100644 Binary files a/public/images/emoji/twitter/ring.png and b/public/images/emoji/twitter/ring.png differ diff --git a/public/images/emoji/twitter/robot.png b/public/images/emoji/twitter/robot.png index 03eff68a6..c728ecf9c 100644 Binary files a/public/images/emoji/twitter/robot.png and b/public/images/emoji/twitter/robot.png differ diff --git a/public/images/emoji/twitter/robot_face.png b/public/images/emoji/twitter/robot_face.png new file mode 100644 index 000000000..c728ecf9c Binary files /dev/null and b/public/images/emoji/twitter/robot_face.png differ diff --git a/public/images/emoji/twitter/rocket.png b/public/images/emoji/twitter/rocket.png index 2f6633a7c..5cb78bd0c 100644 Binary files a/public/images/emoji/twitter/rocket.png and b/public/images/emoji/twitter/rocket.png differ diff --git a/public/images/emoji/twitter/rolled_up_newspaper.png b/public/images/emoji/twitter/rolled_up_newspaper.png new file mode 100644 index 000000000..052dcce75 Binary files /dev/null and b/public/images/emoji/twitter/rolled_up_newspaper.png differ diff --git a/public/images/emoji/twitter/roller_coaster.png b/public/images/emoji/twitter/roller_coaster.png index 82ebb2259..73ab9964d 100644 Binary files a/public/images/emoji/twitter/roller_coaster.png and b/public/images/emoji/twitter/roller_coaster.png differ diff --git a/public/images/emoji/twitter/rolling_eyes.png b/public/images/emoji/twitter/rolling_eyes.png index e2e047be1..19f91b44b 100644 Binary files a/public/images/emoji/twitter/rolling_eyes.png and b/public/images/emoji/twitter/rolling_eyes.png differ diff --git a/public/images/emoji/twitter/rooster.png b/public/images/emoji/twitter/rooster.png index bdc0711c6..79d690813 100644 Binary files a/public/images/emoji/twitter/rooster.png and b/public/images/emoji/twitter/rooster.png differ diff --git a/public/images/emoji/twitter/rose.png b/public/images/emoji/twitter/rose.png index e780aa72f..400fd8a70 100644 Binary files a/public/images/emoji/twitter/rose.png and b/public/images/emoji/twitter/rose.png differ diff --git a/public/images/emoji/twitter/rosette.png b/public/images/emoji/twitter/rosette.png index 3ef48e7eb..b21ae33e6 100644 Binary files a/public/images/emoji/twitter/rosette.png and b/public/images/emoji/twitter/rosette.png differ diff --git a/public/images/emoji/twitter/rotating_light.png b/public/images/emoji/twitter/rotating_light.png index 464e8de8a..0b5c6aa71 100644 Binary files a/public/images/emoji/twitter/rotating_light.png and b/public/images/emoji/twitter/rotating_light.png differ diff --git a/public/images/emoji/twitter/round_pushpin.png b/public/images/emoji/twitter/round_pushpin.png index e8d12293f..17c2a7493 100644 Binary files a/public/images/emoji/twitter/round_pushpin.png and b/public/images/emoji/twitter/round_pushpin.png differ diff --git a/public/images/emoji/twitter/rowboat.png b/public/images/emoji/twitter/rowboat.png index 1a56f0fde..56b905e6f 100644 Binary files a/public/images/emoji/twitter/rowboat.png and b/public/images/emoji/twitter/rowboat.png differ diff --git a/public/images/emoji/twitter/ru.png b/public/images/emoji/twitter/ru.png index 33da99a65..3ecaefd94 100644 Binary files a/public/images/emoji/twitter/ru.png and b/public/images/emoji/twitter/ru.png differ diff --git a/public/images/emoji/twitter/rugby_football.png b/public/images/emoji/twitter/rugby_football.png index a2233524c..fb3d3d712 100644 Binary files a/public/images/emoji/twitter/rugby_football.png and b/public/images/emoji/twitter/rugby_football.png differ diff --git a/public/images/emoji/twitter/runner.png b/public/images/emoji/twitter/runner.png index b9a3bb4a2..2d5d3a83b 100644 Binary files a/public/images/emoji/twitter/runner.png and b/public/images/emoji/twitter/runner.png differ diff --git a/public/images/emoji/twitter/running.png b/public/images/emoji/twitter/running.png deleted file mode 100644 index cff2b793d..000000000 Binary files a/public/images/emoji/twitter/running.png and /dev/null differ diff --git a/public/images/emoji/twitter/running_shirt_with_sash.png b/public/images/emoji/twitter/running_shirt_with_sash.png index f44753c9e..731947e88 100644 Binary files a/public/images/emoji/twitter/running_shirt_with_sash.png and b/public/images/emoji/twitter/running_shirt_with_sash.png differ diff --git a/public/images/emoji/twitter/sa.png b/public/images/emoji/twitter/sa.png index c334448c0..f6cb5820c 100644 Binary files a/public/images/emoji/twitter/sa.png and b/public/images/emoji/twitter/sa.png differ diff --git a/public/images/emoji/twitter/sagittarius.png b/public/images/emoji/twitter/sagittarius.png index b6f475c85..12a424a76 100644 Binary files a/public/images/emoji/twitter/sagittarius.png and b/public/images/emoji/twitter/sagittarius.png differ diff --git a/public/images/emoji/twitter/sailboat.png b/public/images/emoji/twitter/sailboat.png index 7b4a289ed..ebb0c029f 100644 Binary files a/public/images/emoji/twitter/sailboat.png and b/public/images/emoji/twitter/sailboat.png differ diff --git a/public/images/emoji/twitter/sake.png b/public/images/emoji/twitter/sake.png index 245f59b67..5712e64df 100644 Binary files a/public/images/emoji/twitter/sake.png and b/public/images/emoji/twitter/sake.png differ diff --git a/public/images/emoji/twitter/sandal.png b/public/images/emoji/twitter/sandal.png index 41669e2b2..3f6d14594 100644 Binary files a/public/images/emoji/twitter/sandal.png and b/public/images/emoji/twitter/sandal.png differ diff --git a/public/images/emoji/twitter/santa.png b/public/images/emoji/twitter/santa.png index bb9d04f11..9af2d28bb 100644 Binary files a/public/images/emoji/twitter/santa.png and b/public/images/emoji/twitter/santa.png differ diff --git a/public/images/emoji/twitter/satellite.png b/public/images/emoji/twitter/satellite.png index 7c55cb91a..00c384c5d 100644 Binary files a/public/images/emoji/twitter/satellite.png and b/public/images/emoji/twitter/satellite.png differ diff --git a/public/images/emoji/twitter/satellite_orbital.png b/public/images/emoji/twitter/satellite_orbital.png index 81715516a..ef004f4ec 100644 Binary files a/public/images/emoji/twitter/satellite_orbital.png and b/public/images/emoji/twitter/satellite_orbital.png differ diff --git a/public/images/emoji/twitter/satisfied.png b/public/images/emoji/twitter/satisfied.png index fe3876f9f..2632d8974 100644 Binary files a/public/images/emoji/twitter/satisfied.png and b/public/images/emoji/twitter/satisfied.png differ diff --git a/public/images/emoji/twitter/saxophone.png b/public/images/emoji/twitter/saxophone.png index e97a2dabe..0db8249b1 100644 Binary files a/public/images/emoji/twitter/saxophone.png and b/public/images/emoji/twitter/saxophone.png differ diff --git a/public/images/emoji/twitter/scales.png b/public/images/emoji/twitter/scales.png index 164746462..75713abc2 100644 Binary files a/public/images/emoji/twitter/scales.png and b/public/images/emoji/twitter/scales.png differ diff --git a/public/images/emoji/twitter/school.png b/public/images/emoji/twitter/school.png index a74d1e4c9..1fad20176 100644 Binary files a/public/images/emoji/twitter/school.png and b/public/images/emoji/twitter/school.png differ diff --git a/public/images/emoji/twitter/school_satchel.png b/public/images/emoji/twitter/school_satchel.png index a173c78b0..a17dea66b 100644 Binary files a/public/images/emoji/twitter/school_satchel.png and b/public/images/emoji/twitter/school_satchel.png differ diff --git a/public/images/emoji/twitter/scissors.png b/public/images/emoji/twitter/scissors.png index a5636452b..3e9b3bf95 100644 Binary files a/public/images/emoji/twitter/scissors.png and b/public/images/emoji/twitter/scissors.png differ diff --git a/public/images/emoji/twitter/scorpion.png b/public/images/emoji/twitter/scorpion.png index cf0f2e7e1..6b0d18e53 100644 Binary files a/public/images/emoji/twitter/scorpion.png and b/public/images/emoji/twitter/scorpion.png differ diff --git a/public/images/emoji/twitter/scorpius.png b/public/images/emoji/twitter/scorpius.png index faf1b3f62..38ac5b062 100644 Binary files a/public/images/emoji/twitter/scorpius.png and b/public/images/emoji/twitter/scorpius.png differ diff --git a/public/images/emoji/twitter/scream.png b/public/images/emoji/twitter/scream.png index 10a491784..1efe91af5 100644 Binary files a/public/images/emoji/twitter/scream.png and b/public/images/emoji/twitter/scream.png differ diff --git a/public/images/emoji/twitter/scream_cat.png b/public/images/emoji/twitter/scream_cat.png index d084db086..38d004fa6 100644 Binary files a/public/images/emoji/twitter/scream_cat.png and b/public/images/emoji/twitter/scream_cat.png differ diff --git a/public/images/emoji/twitter/scroll.png b/public/images/emoji/twitter/scroll.png index 8b41be4ab..401706f22 100644 Binary files a/public/images/emoji/twitter/scroll.png and b/public/images/emoji/twitter/scroll.png differ diff --git a/public/images/emoji/twitter/seat.png b/public/images/emoji/twitter/seat.png index 4e8b84553..6462fb8c6 100644 Binary files a/public/images/emoji/twitter/seat.png and b/public/images/emoji/twitter/seat.png differ diff --git a/public/images/emoji/twitter/secret.png b/public/images/emoji/twitter/secret.png index c7dcf736a..c2dac6492 100644 Binary files a/public/images/emoji/twitter/secret.png and b/public/images/emoji/twitter/secret.png differ diff --git a/public/images/emoji/twitter/see_no_evil.png b/public/images/emoji/twitter/see_no_evil.png index dc3908ceb..490b2993a 100644 Binary files a/public/images/emoji/twitter/see_no_evil.png and b/public/images/emoji/twitter/see_no_evil.png differ diff --git a/public/images/emoji/twitter/seedling.png b/public/images/emoji/twitter/seedling.png index 2840e7070..67fd8389b 100644 Binary files a/public/images/emoji/twitter/seedling.png and b/public/images/emoji/twitter/seedling.png differ diff --git a/public/images/emoji/twitter/seven.png b/public/images/emoji/twitter/seven.png index 9d846a987..e69de29bb 100644 Binary files a/public/images/emoji/twitter/seven.png and b/public/images/emoji/twitter/seven.png differ diff --git a/public/images/emoji/twitter/shamrock.png b/public/images/emoji/twitter/shamrock.png index 275a50598..dfad1cfc7 100644 Binary files a/public/images/emoji/twitter/shamrock.png and b/public/images/emoji/twitter/shamrock.png differ diff --git a/public/images/emoji/twitter/shaved_ice.png b/public/images/emoji/twitter/shaved_ice.png index 5f0924771..1ecf099ca 100644 Binary files a/public/images/emoji/twitter/shaved_ice.png and b/public/images/emoji/twitter/shaved_ice.png differ diff --git a/public/images/emoji/twitter/sheep.png b/public/images/emoji/twitter/sheep.png index 4ceaab6d1..b60d354d7 100644 Binary files a/public/images/emoji/twitter/sheep.png and b/public/images/emoji/twitter/sheep.png differ diff --git a/public/images/emoji/twitter/shell.png b/public/images/emoji/twitter/shell.png index da805ef84..2d2893650 100644 Binary files a/public/images/emoji/twitter/shell.png and b/public/images/emoji/twitter/shell.png differ diff --git a/public/images/emoji/twitter/shield.png b/public/images/emoji/twitter/shield.png index 51ce00cd2..4fbc6a591 100644 Binary files a/public/images/emoji/twitter/shield.png and b/public/images/emoji/twitter/shield.png differ diff --git a/public/images/emoji/twitter/shinto_shrine.png b/public/images/emoji/twitter/shinto_shrine.png index d5c11c548..52c368a6a 100644 Binary files a/public/images/emoji/twitter/shinto_shrine.png and b/public/images/emoji/twitter/shinto_shrine.png differ diff --git a/public/images/emoji/twitter/ship.png b/public/images/emoji/twitter/ship.png index c3d7cc094..ea28e555b 100644 Binary files a/public/images/emoji/twitter/ship.png and b/public/images/emoji/twitter/ship.png differ diff --git a/public/images/emoji/twitter/shirt.png b/public/images/emoji/twitter/shirt.png index 7efd56ad0..4723c7947 100644 Binary files a/public/images/emoji/twitter/shirt.png and b/public/images/emoji/twitter/shirt.png differ diff --git a/public/images/emoji/twitter/shit.png b/public/images/emoji/twitter/shit.png index 7284027c6..51661e5df 100644 Binary files a/public/images/emoji/twitter/shit.png and b/public/images/emoji/twitter/shit.png differ diff --git a/public/images/emoji/twitter/shoe.png b/public/images/emoji/twitter/shoe.png deleted file mode 100644 index 71d4be2c3..000000000 Binary files a/public/images/emoji/twitter/shoe.png and /dev/null differ diff --git a/public/images/emoji/twitter/shopping_bags.png b/public/images/emoji/twitter/shopping_bags.png index 685a70cdc..ee15abd99 100644 Binary files a/public/images/emoji/twitter/shopping_bags.png and b/public/images/emoji/twitter/shopping_bags.png differ diff --git a/public/images/emoji/twitter/shower.png b/public/images/emoji/twitter/shower.png index 2fe95989b..e47369360 100644 Binary files a/public/images/emoji/twitter/shower.png and b/public/images/emoji/twitter/shower.png differ diff --git a/public/images/emoji/twitter/sign_of_the_horns.png b/public/images/emoji/twitter/sign_of_the_horns.png new file mode 100644 index 000000000..788071275 Binary files /dev/null and b/public/images/emoji/twitter/sign_of_the_horns.png differ diff --git a/public/images/emoji/twitter/signal_strength.png b/public/images/emoji/twitter/signal_strength.png index f99fd0376..762da75ac 100644 Binary files a/public/images/emoji/twitter/signal_strength.png and b/public/images/emoji/twitter/signal_strength.png differ diff --git a/public/images/emoji/twitter/six.png b/public/images/emoji/twitter/six.png index a79b45b73..e69de29bb 100644 Binary files a/public/images/emoji/twitter/six.png and b/public/images/emoji/twitter/six.png differ diff --git a/public/images/emoji/twitter/six_pointed_star.png b/public/images/emoji/twitter/six_pointed_star.png index 96891a116..25fd08b61 100644 Binary files a/public/images/emoji/twitter/six_pointed_star.png and b/public/images/emoji/twitter/six_pointed_star.png differ diff --git a/public/images/emoji/twitter/skeleton.png b/public/images/emoji/twitter/skeleton.png new file mode 100644 index 000000000..e9a1ff941 Binary files /dev/null and b/public/images/emoji/twitter/skeleton.png differ diff --git a/public/images/emoji/twitter/ski.png b/public/images/emoji/twitter/ski.png index 24d3ed617..dec2ce435 100644 Binary files a/public/images/emoji/twitter/ski.png and b/public/images/emoji/twitter/ski.png differ diff --git a/public/images/emoji/twitter/skier.png b/public/images/emoji/twitter/skier.png index 0a99f58df..c9598b96b 100644 Binary files a/public/images/emoji/twitter/skier.png and b/public/images/emoji/twitter/skier.png differ diff --git a/public/images/emoji/twitter/skull.png b/public/images/emoji/twitter/skull.png index c14227ead..e9a1ff941 100644 Binary files a/public/images/emoji/twitter/skull.png and b/public/images/emoji/twitter/skull.png differ diff --git a/public/images/emoji/twitter/skull_and_crossbones.png b/public/images/emoji/twitter/skull_and_crossbones.png new file mode 100644 index 000000000..df4531d2b Binary files /dev/null and b/public/images/emoji/twitter/skull_and_crossbones.png differ diff --git a/public/images/emoji/twitter/skull_crossbones.png b/public/images/emoji/twitter/skull_crossbones.png index 8aebd69f2..df4531d2b 100644 Binary files a/public/images/emoji/twitter/skull_crossbones.png and b/public/images/emoji/twitter/skull_crossbones.png differ diff --git a/public/images/emoji/twitter/sleeping.png b/public/images/emoji/twitter/sleeping.png index 0f75f7f65..55bd19842 100644 Binary files a/public/images/emoji/twitter/sleeping.png and b/public/images/emoji/twitter/sleeping.png differ diff --git a/public/images/emoji/twitter/sleeping_accommodation.png b/public/images/emoji/twitter/sleeping_accommodation.png index aab85aeaa..70398fd09 100644 Binary files a/public/images/emoji/twitter/sleeping_accommodation.png and b/public/images/emoji/twitter/sleeping_accommodation.png differ diff --git a/public/images/emoji/twitter/sleepy.png b/public/images/emoji/twitter/sleepy.png index 2b454fadd..125521645 100644 Binary files a/public/images/emoji/twitter/sleepy.png and b/public/images/emoji/twitter/sleepy.png differ diff --git a/public/images/emoji/twitter/sleuth_or_spy.png b/public/images/emoji/twitter/sleuth_or_spy.png new file mode 100644 index 000000000..6b77a14a2 Binary files /dev/null and b/public/images/emoji/twitter/sleuth_or_spy.png differ diff --git a/public/images/emoji/twitter/slight_frown.png b/public/images/emoji/twitter/slight_frown.png index 3f3c9251a..d7dfe0e84 100644 Binary files a/public/images/emoji/twitter/slight_frown.png and b/public/images/emoji/twitter/slight_frown.png differ diff --git a/public/images/emoji/twitter/slight_smile.png b/public/images/emoji/twitter/slight_smile.png index 4360c49ec..89e96a612 100644 Binary files a/public/images/emoji/twitter/slight_smile.png and b/public/images/emoji/twitter/slight_smile.png differ diff --git a/public/images/emoji/twitter/slightly_frowning_face.png b/public/images/emoji/twitter/slightly_frowning_face.png new file mode 100644 index 000000000..d7dfe0e84 Binary files /dev/null and b/public/images/emoji/twitter/slightly_frowning_face.png differ diff --git a/public/images/emoji/twitter/slightly_smiling.png b/public/images/emoji/twitter/slightly_smiling.png deleted file mode 100644 index 6242f5865..000000000 Binary files a/public/images/emoji/twitter/slightly_smiling.png and /dev/null differ diff --git a/public/images/emoji/twitter/slightly_smiling_face.png b/public/images/emoji/twitter/slightly_smiling_face.png new file mode 100644 index 000000000..89e96a612 Binary files /dev/null and b/public/images/emoji/twitter/slightly_smiling_face.png differ diff --git a/public/images/emoji/twitter/slot_machine.png b/public/images/emoji/twitter/slot_machine.png index c090c7298..bcadcc419 100644 Binary files a/public/images/emoji/twitter/slot_machine.png and b/public/images/emoji/twitter/slot_machine.png differ diff --git a/public/images/emoji/twitter/small_airplane.png b/public/images/emoji/twitter/small_airplane.png new file mode 100644 index 000000000..6784909ff Binary files /dev/null and b/public/images/emoji/twitter/small_airplane.png differ diff --git a/public/images/emoji/twitter/small_blue_diamond.png b/public/images/emoji/twitter/small_blue_diamond.png index 811edc4d4..b5544beb3 100644 Binary files a/public/images/emoji/twitter/small_blue_diamond.png and b/public/images/emoji/twitter/small_blue_diamond.png differ diff --git a/public/images/emoji/twitter/small_orange_diamond.png b/public/images/emoji/twitter/small_orange_diamond.png index 6a06f956c..3e39911f9 100644 Binary files a/public/images/emoji/twitter/small_orange_diamond.png and b/public/images/emoji/twitter/small_orange_diamond.png differ diff --git a/public/images/emoji/twitter/small_red_triangle.png b/public/images/emoji/twitter/small_red_triangle.png index be4f7bfd6..6412caf00 100644 Binary files a/public/images/emoji/twitter/small_red_triangle.png and b/public/images/emoji/twitter/small_red_triangle.png differ diff --git a/public/images/emoji/twitter/small_red_triangle_down.png b/public/images/emoji/twitter/small_red_triangle_down.png index 62dc1bc55..f39249626 100644 Binary files a/public/images/emoji/twitter/small_red_triangle_down.png and b/public/images/emoji/twitter/small_red_triangle_down.png differ diff --git a/public/images/emoji/twitter/smile.png b/public/images/emoji/twitter/smile.png index b22bc0c4f..46b6e2509 100644 Binary files a/public/images/emoji/twitter/smile.png and b/public/images/emoji/twitter/smile.png differ diff --git a/public/images/emoji/twitter/smile_cat.png b/public/images/emoji/twitter/smile_cat.png index fcf381e39..de25c5699 100644 Binary files a/public/images/emoji/twitter/smile_cat.png and b/public/images/emoji/twitter/smile_cat.png differ diff --git a/public/images/emoji/twitter/smiley.png b/public/images/emoji/twitter/smiley.png index 276d7e49a..f77bf3e33 100644 Binary files a/public/images/emoji/twitter/smiley.png and b/public/images/emoji/twitter/smiley.png differ diff --git a/public/images/emoji/twitter/smiley_cat.png b/public/images/emoji/twitter/smiley_cat.png index 0b12667d8..d2b189233 100644 Binary files a/public/images/emoji/twitter/smiley_cat.png and b/public/images/emoji/twitter/smiley_cat.png differ diff --git a/public/images/emoji/twitter/smiling_imp.png b/public/images/emoji/twitter/smiling_imp.png index 949df8aa7..22b29c96a 100644 Binary files a/public/images/emoji/twitter/smiling_imp.png and b/public/images/emoji/twitter/smiling_imp.png differ diff --git a/public/images/emoji/twitter/smirk.png b/public/images/emoji/twitter/smirk.png index 5a131b961..9e1d88021 100644 Binary files a/public/images/emoji/twitter/smirk.png and b/public/images/emoji/twitter/smirk.png differ diff --git a/public/images/emoji/twitter/smirk_cat.png b/public/images/emoji/twitter/smirk_cat.png index e5ef07c63..717af143c 100644 Binary files a/public/images/emoji/twitter/smirk_cat.png and b/public/images/emoji/twitter/smirk_cat.png differ diff --git a/public/images/emoji/twitter/smoking.png b/public/images/emoji/twitter/smoking.png index 4c874e481..8e2fdd5b3 100644 Binary files a/public/images/emoji/twitter/smoking.png and b/public/images/emoji/twitter/smoking.png differ diff --git a/public/images/emoji/twitter/snail.png b/public/images/emoji/twitter/snail.png index 55821215c..2c8545a39 100644 Binary files a/public/images/emoji/twitter/snail.png and b/public/images/emoji/twitter/snail.png differ diff --git a/public/images/emoji/twitter/snake.png b/public/images/emoji/twitter/snake.png index c6425e3fd..b734332f6 100644 Binary files a/public/images/emoji/twitter/snake.png and b/public/images/emoji/twitter/snake.png differ diff --git a/public/images/emoji/twitter/snow_capped_mountain.png b/public/images/emoji/twitter/snow_capped_mountain.png new file mode 100644 index 000000000..b3e246f09 Binary files /dev/null and b/public/images/emoji/twitter/snow_capped_mountain.png differ diff --git a/public/images/emoji/twitter/snowboarder.png b/public/images/emoji/twitter/snowboarder.png index 5dfbfbd2e..2c2ae4788 100644 Binary files a/public/images/emoji/twitter/snowboarder.png and b/public/images/emoji/twitter/snowboarder.png differ diff --git a/public/images/emoji/twitter/snowflake.png b/public/images/emoji/twitter/snowflake.png index 987a0ab1b..bc9fb1827 100644 Binary files a/public/images/emoji/twitter/snowflake.png and b/public/images/emoji/twitter/snowflake.png differ diff --git a/public/images/emoji/twitter/snowman.png b/public/images/emoji/twitter/snowman.png index 9cc713675..93df265fb 100644 Binary files a/public/images/emoji/twitter/snowman.png and b/public/images/emoji/twitter/snowman.png differ diff --git a/public/images/emoji/twitter/snowman2.png b/public/images/emoji/twitter/snowman2.png index 8d53ae6e2..d73b56cff 100644 Binary files a/public/images/emoji/twitter/snowman2.png and b/public/images/emoji/twitter/snowman2.png differ diff --git a/public/images/emoji/twitter/sob.png b/public/images/emoji/twitter/sob.png index 5fd60102f..674f4df95 100644 Binary files a/public/images/emoji/twitter/sob.png and b/public/images/emoji/twitter/sob.png differ diff --git a/public/images/emoji/twitter/soccer.png b/public/images/emoji/twitter/soccer.png index 5c399e494..4900e9275 100644 Binary files a/public/images/emoji/twitter/soccer.png and b/public/images/emoji/twitter/soccer.png differ diff --git a/public/images/emoji/twitter/soon.png b/public/images/emoji/twitter/soon.png index 247ee1ec9..11fe57f6f 100644 Binary files a/public/images/emoji/twitter/soon.png and b/public/images/emoji/twitter/soon.png differ diff --git a/public/images/emoji/twitter/sos.png b/public/images/emoji/twitter/sos.png index 08dc5ee19..38c28308b 100644 Binary files a/public/images/emoji/twitter/sos.png and b/public/images/emoji/twitter/sos.png differ diff --git a/public/images/emoji/twitter/sound.png b/public/images/emoji/twitter/sound.png index bfdba6bdb..e329e82f8 100644 Binary files a/public/images/emoji/twitter/sound.png and b/public/images/emoji/twitter/sound.png differ diff --git a/public/images/emoji/twitter/space_invader.png b/public/images/emoji/twitter/space_invader.png index 56031f352..043e4950a 100644 Binary files a/public/images/emoji/twitter/space_invader.png and b/public/images/emoji/twitter/space_invader.png differ diff --git a/public/images/emoji/twitter/spades.png b/public/images/emoji/twitter/spades.png index 939a04e99..e5eea9eed 100644 Binary files a/public/images/emoji/twitter/spades.png and b/public/images/emoji/twitter/spades.png differ diff --git a/public/images/emoji/twitter/spaghetti.png b/public/images/emoji/twitter/spaghetti.png index 324f6be8e..fb02e2d7e 100644 Binary files a/public/images/emoji/twitter/spaghetti.png and b/public/images/emoji/twitter/spaghetti.png differ diff --git a/public/images/emoji/twitter/sparkle.png b/public/images/emoji/twitter/sparkle.png index 926e8ff21..4f242cf1e 100644 Binary files a/public/images/emoji/twitter/sparkle.png and b/public/images/emoji/twitter/sparkle.png differ diff --git a/public/images/emoji/twitter/sparkler.png b/public/images/emoji/twitter/sparkler.png index f7fffca2f..35bf617ae 100644 Binary files a/public/images/emoji/twitter/sparkler.png and b/public/images/emoji/twitter/sparkler.png differ diff --git a/public/images/emoji/twitter/sparkles.png b/public/images/emoji/twitter/sparkles.png index 1fa5de891..d67e396ec 100644 Binary files a/public/images/emoji/twitter/sparkles.png and b/public/images/emoji/twitter/sparkles.png differ diff --git a/public/images/emoji/twitter/sparkling_heart.png b/public/images/emoji/twitter/sparkling_heart.png index 433612d79..1090b7908 100644 Binary files a/public/images/emoji/twitter/sparkling_heart.png and b/public/images/emoji/twitter/sparkling_heart.png differ diff --git a/public/images/emoji/twitter/speak_no_evil.png b/public/images/emoji/twitter/speak_no_evil.png index 2b8ba38ac..7f4bf5c32 100644 Binary files a/public/images/emoji/twitter/speak_no_evil.png and b/public/images/emoji/twitter/speak_no_evil.png differ diff --git a/public/images/emoji/twitter/speaker.png b/public/images/emoji/twitter/speaker.png index 9bb76c392..2ae9cac2a 100644 Binary files a/public/images/emoji/twitter/speaker.png and b/public/images/emoji/twitter/speaker.png differ diff --git a/public/images/emoji/twitter/speaking_head.png b/public/images/emoji/twitter/speaking_head.png index 56d482de5..edf252b9b 100644 Binary files a/public/images/emoji/twitter/speaking_head.png and b/public/images/emoji/twitter/speaking_head.png differ diff --git a/public/images/emoji/twitter/speaking_head_in_silhouette.png b/public/images/emoji/twitter/speaking_head_in_silhouette.png new file mode 100644 index 000000000..edf252b9b Binary files /dev/null and b/public/images/emoji/twitter/speaking_head_in_silhouette.png differ diff --git a/public/images/emoji/twitter/speech_balloon.png b/public/images/emoji/twitter/speech_balloon.png index 5810381b0..f833a7f2e 100644 Binary files a/public/images/emoji/twitter/speech_balloon.png and b/public/images/emoji/twitter/speech_balloon.png differ diff --git a/public/images/emoji/twitter/speedboat.png b/public/images/emoji/twitter/speedboat.png index b9e9ef852..ce0b69cc3 100644 Binary files a/public/images/emoji/twitter/speedboat.png and b/public/images/emoji/twitter/speedboat.png differ diff --git a/public/images/emoji/twitter/spider.png b/public/images/emoji/twitter/spider.png index e3e128e54..12ef291fa 100644 Binary files a/public/images/emoji/twitter/spider.png and b/public/images/emoji/twitter/spider.png differ diff --git a/public/images/emoji/twitter/spider_web.png b/public/images/emoji/twitter/spider_web.png index 683a02c90..568c1dec8 100644 Binary files a/public/images/emoji/twitter/spider_web.png and b/public/images/emoji/twitter/spider_web.png differ diff --git a/public/images/emoji/twitter/spiral_calendar_pad.png b/public/images/emoji/twitter/spiral_calendar_pad.png new file mode 100644 index 000000000..8cd3bd7e5 Binary files /dev/null and b/public/images/emoji/twitter/spiral_calendar_pad.png differ diff --git a/public/images/emoji/twitter/spiral_note_pad.png b/public/images/emoji/twitter/spiral_note_pad.png new file mode 100644 index 000000000..b8ebfe080 Binary files /dev/null and b/public/images/emoji/twitter/spiral_note_pad.png differ diff --git a/public/images/emoji/twitter/sports_medal.png b/public/images/emoji/twitter/sports_medal.png new file mode 100644 index 000000000..57fbc8512 Binary files /dev/null and b/public/images/emoji/twitter/sports_medal.png differ diff --git a/public/images/emoji/twitter/spy.png b/public/images/emoji/twitter/spy.png index 5dfa1e366..6b77a14a2 100644 Binary files a/public/images/emoji/twitter/spy.png and b/public/images/emoji/twitter/spy.png differ diff --git a/public/images/emoji/twitter/stadium.png b/public/images/emoji/twitter/stadium.png index 6e56ffd85..4ca5f1e8f 100644 Binary files a/public/images/emoji/twitter/stadium.png and b/public/images/emoji/twitter/stadium.png differ diff --git a/public/images/emoji/twitter/star.png b/public/images/emoji/twitter/star.png index 0abed9fcf..05c465d8b 100644 Binary files a/public/images/emoji/twitter/star.png and b/public/images/emoji/twitter/star.png differ diff --git a/public/images/emoji/twitter/star2.png b/public/images/emoji/twitter/star2.png index b69cb7824..3243a0a11 100644 Binary files a/public/images/emoji/twitter/star2.png and b/public/images/emoji/twitter/star2.png differ diff --git a/public/images/emoji/twitter/star_and_crescent.png b/public/images/emoji/twitter/star_and_crescent.png index ae1f13869..a89f689ad 100644 Binary files a/public/images/emoji/twitter/star_and_crescent.png and b/public/images/emoji/twitter/star_and_crescent.png differ diff --git a/public/images/emoji/twitter/star_of_david.png b/public/images/emoji/twitter/star_of_david.png index efe21ecdf..96462ffd5 100644 Binary files a/public/images/emoji/twitter/star_of_david.png and b/public/images/emoji/twitter/star_of_david.png differ diff --git a/public/images/emoji/twitter/stars.png b/public/images/emoji/twitter/stars.png index 8e26865e6..2eac0bd6b 100644 Binary files a/public/images/emoji/twitter/stars.png and b/public/images/emoji/twitter/stars.png differ diff --git a/public/images/emoji/twitter/station.png b/public/images/emoji/twitter/station.png index ced5872ef..71ba5b434 100644 Binary files a/public/images/emoji/twitter/station.png and b/public/images/emoji/twitter/station.png differ diff --git a/public/images/emoji/twitter/statue_of_liberty.png b/public/images/emoji/twitter/statue_of_liberty.png index 33f740e3e..a7323b5e9 100644 Binary files a/public/images/emoji/twitter/statue_of_liberty.png and b/public/images/emoji/twitter/statue_of_liberty.png differ diff --git a/public/images/emoji/twitter/steam_locomotive.png b/public/images/emoji/twitter/steam_locomotive.png index cd3f33471..37b6bee92 100644 Binary files a/public/images/emoji/twitter/steam_locomotive.png and b/public/images/emoji/twitter/steam_locomotive.png differ diff --git a/public/images/emoji/twitter/stew.png b/public/images/emoji/twitter/stew.png index b27bcf962..01ccebbb9 100644 Binary files a/public/images/emoji/twitter/stew.png and b/public/images/emoji/twitter/stew.png differ diff --git a/public/images/emoji/twitter/stop_button.png b/public/images/emoji/twitter/stop_button.png index 8b8953809..bbdb0b7b7 100644 Binary files a/public/images/emoji/twitter/stop_button.png and b/public/images/emoji/twitter/stop_button.png differ diff --git a/public/images/emoji/twitter/stopwatch.png b/public/images/emoji/twitter/stopwatch.png index 91ee4827a..74bff4400 100644 Binary files a/public/images/emoji/twitter/stopwatch.png and b/public/images/emoji/twitter/stopwatch.png differ diff --git a/public/images/emoji/twitter/straight_ruler.png b/public/images/emoji/twitter/straight_ruler.png index dc6409e0a..1e7ae4b9d 100644 Binary files a/public/images/emoji/twitter/straight_ruler.png and b/public/images/emoji/twitter/straight_ruler.png differ diff --git a/public/images/emoji/twitter/strawberry.png b/public/images/emoji/twitter/strawberry.png index a19bd4a23..a75327110 100644 Binary files a/public/images/emoji/twitter/strawberry.png and b/public/images/emoji/twitter/strawberry.png differ diff --git a/public/images/emoji/twitter/stuck_out_tongue.png b/public/images/emoji/twitter/stuck_out_tongue.png index b1127e5cc..dca4ab017 100644 Binary files a/public/images/emoji/twitter/stuck_out_tongue.png and b/public/images/emoji/twitter/stuck_out_tongue.png differ diff --git a/public/images/emoji/twitter/stuck_out_tongue_closed_eyes.png b/public/images/emoji/twitter/stuck_out_tongue_closed_eyes.png index 0ea2bdd14..dd35229ed 100644 Binary files a/public/images/emoji/twitter/stuck_out_tongue_closed_eyes.png and b/public/images/emoji/twitter/stuck_out_tongue_closed_eyes.png differ diff --git a/public/images/emoji/twitter/stuck_out_tongue_winking_eye.png b/public/images/emoji/twitter/stuck_out_tongue_winking_eye.png index 1dda4a54d..3bd49a186 100644 Binary files a/public/images/emoji/twitter/stuck_out_tongue_winking_eye.png and b/public/images/emoji/twitter/stuck_out_tongue_winking_eye.png differ diff --git a/public/images/emoji/twitter/studio_microphone.png b/public/images/emoji/twitter/studio_microphone.png new file mode 100644 index 000000000..d10b32281 Binary files /dev/null and b/public/images/emoji/twitter/studio_microphone.png differ diff --git a/public/images/emoji/twitter/sun_with_face.png b/public/images/emoji/twitter/sun_with_face.png index 1445a34ee..05d645ea0 100644 Binary files a/public/images/emoji/twitter/sun_with_face.png and b/public/images/emoji/twitter/sun_with_face.png differ diff --git a/public/images/emoji/twitter/sunflower.png b/public/images/emoji/twitter/sunflower.png index e28bc6fc8..04867d738 100644 Binary files a/public/images/emoji/twitter/sunflower.png and b/public/images/emoji/twitter/sunflower.png differ diff --git a/public/images/emoji/twitter/sunglasses.png b/public/images/emoji/twitter/sunglasses.png index 988e2f1af..3cf2e455b 100644 Binary files a/public/images/emoji/twitter/sunglasses.png and b/public/images/emoji/twitter/sunglasses.png differ diff --git a/public/images/emoji/twitter/sunny.png b/public/images/emoji/twitter/sunny.png index 14c4db83b..99a9c31e9 100644 Binary files a/public/images/emoji/twitter/sunny.png and b/public/images/emoji/twitter/sunny.png differ diff --git a/public/images/emoji/twitter/sunrise.png b/public/images/emoji/twitter/sunrise.png index ada8c90e0..effc33940 100644 Binary files a/public/images/emoji/twitter/sunrise.png and b/public/images/emoji/twitter/sunrise.png differ diff --git a/public/images/emoji/twitter/sunrise_over_mountains.png b/public/images/emoji/twitter/sunrise_over_mountains.png index dd4f94bbf..13c27a2f3 100644 Binary files a/public/images/emoji/twitter/sunrise_over_mountains.png and b/public/images/emoji/twitter/sunrise_over_mountains.png differ diff --git a/public/images/emoji/twitter/surfer.png b/public/images/emoji/twitter/surfer.png index 852efd417..d34fcfdc4 100644 Binary files a/public/images/emoji/twitter/surfer.png and b/public/images/emoji/twitter/surfer.png differ diff --git a/public/images/emoji/twitter/sushi.png b/public/images/emoji/twitter/sushi.png index 807d0fdda..db6873e59 100644 Binary files a/public/images/emoji/twitter/sushi.png and b/public/images/emoji/twitter/sushi.png differ diff --git a/public/images/emoji/twitter/suspension_railway.png b/public/images/emoji/twitter/suspension_railway.png index 8fc402f89..fd713c6dc 100644 Binary files a/public/images/emoji/twitter/suspension_railway.png and b/public/images/emoji/twitter/suspension_railway.png differ diff --git a/public/images/emoji/twitter/sweat.png b/public/images/emoji/twitter/sweat.png index bcad0e3f2..d8588f6a7 100644 Binary files a/public/images/emoji/twitter/sweat.png and b/public/images/emoji/twitter/sweat.png differ diff --git a/public/images/emoji/twitter/sweat_drops.png b/public/images/emoji/twitter/sweat_drops.png index adae64441..9ac6c5fce 100644 Binary files a/public/images/emoji/twitter/sweat_drops.png and b/public/images/emoji/twitter/sweat_drops.png differ diff --git a/public/images/emoji/twitter/sweat_smile.png b/public/images/emoji/twitter/sweat_smile.png index 25e97effc..bbacee36f 100644 Binary files a/public/images/emoji/twitter/sweat_smile.png and b/public/images/emoji/twitter/sweat_smile.png differ diff --git a/public/images/emoji/twitter/sweet_potato.png b/public/images/emoji/twitter/sweet_potato.png index c9449e499..784fc80a3 100644 Binary files a/public/images/emoji/twitter/sweet_potato.png and b/public/images/emoji/twitter/sweet_potato.png differ diff --git a/public/images/emoji/twitter/swimmer.png b/public/images/emoji/twitter/swimmer.png index 4aea21a9e..7fa40aa21 100644 Binary files a/public/images/emoji/twitter/swimmer.png and b/public/images/emoji/twitter/swimmer.png differ diff --git a/public/images/emoji/twitter/symbols.png b/public/images/emoji/twitter/symbols.png index 7715cd6ca..e2c4d08d8 100644 Binary files a/public/images/emoji/twitter/symbols.png and b/public/images/emoji/twitter/symbols.png differ diff --git a/public/images/emoji/twitter/synagogue.png b/public/images/emoji/twitter/synagogue.png index 9dc959850..c72b028f2 100644 Binary files a/public/images/emoji/twitter/synagogue.png and b/public/images/emoji/twitter/synagogue.png differ diff --git a/public/images/emoji/twitter/syringe.png b/public/images/emoji/twitter/syringe.png index b09330245..e48b3960b 100644 Binary files a/public/images/emoji/twitter/syringe.png and b/public/images/emoji/twitter/syringe.png differ diff --git a/public/images/emoji/twitter/table_tennis.png b/public/images/emoji/twitter/table_tennis.png new file mode 100644 index 000000000..935993c86 Binary files /dev/null and b/public/images/emoji/twitter/table_tennis.png differ diff --git a/public/images/emoji/twitter/taco.png b/public/images/emoji/twitter/taco.png index fdb8752e1..8e395d91d 100644 Binary files a/public/images/emoji/twitter/taco.png and b/public/images/emoji/twitter/taco.png differ diff --git a/public/images/emoji/twitter/tada.png b/public/images/emoji/twitter/tada.png index 13736cbb6..424685f2a 100644 Binary files a/public/images/emoji/twitter/tada.png and b/public/images/emoji/twitter/tada.png differ diff --git a/public/images/emoji/twitter/tanabata_tree.png b/public/images/emoji/twitter/tanabata_tree.png index 45d5c253a..65d0cdf40 100644 Binary files a/public/images/emoji/twitter/tanabata_tree.png and b/public/images/emoji/twitter/tanabata_tree.png differ diff --git a/public/images/emoji/twitter/tangerine.png b/public/images/emoji/twitter/tangerine.png index 1ac523ec4..b6f885384 100644 Binary files a/public/images/emoji/twitter/tangerine.png and b/public/images/emoji/twitter/tangerine.png differ diff --git a/public/images/emoji/twitter/taurus.png b/public/images/emoji/twitter/taurus.png index 6ea439229..a6cddc274 100644 Binary files a/public/images/emoji/twitter/taurus.png and b/public/images/emoji/twitter/taurus.png differ diff --git a/public/images/emoji/twitter/taxi.png b/public/images/emoji/twitter/taxi.png index 5484b2fe0..51348cd96 100644 Binary files a/public/images/emoji/twitter/taxi.png and b/public/images/emoji/twitter/taxi.png differ diff --git a/public/images/emoji/twitter/tea.png b/public/images/emoji/twitter/tea.png index b546aa730..1fe48e32f 100644 Binary files a/public/images/emoji/twitter/tea.png and b/public/images/emoji/twitter/tea.png differ diff --git a/public/images/emoji/twitter/telephone.png b/public/images/emoji/twitter/telephone.png index 3d636ba8c..cb305644f 100644 Binary files a/public/images/emoji/twitter/telephone.png and b/public/images/emoji/twitter/telephone.png differ diff --git a/public/images/emoji/twitter/telephone_receiver.png b/public/images/emoji/twitter/telephone_receiver.png index 6f796dfde..11edc3ce8 100644 Binary files a/public/images/emoji/twitter/telephone_receiver.png and b/public/images/emoji/twitter/telephone_receiver.png differ diff --git a/public/images/emoji/twitter/telescope.png b/public/images/emoji/twitter/telescope.png index 86c117624..8174a6819 100644 Binary files a/public/images/emoji/twitter/telescope.png and b/public/images/emoji/twitter/telescope.png differ diff --git a/public/images/emoji/twitter/ten.png b/public/images/emoji/twitter/ten.png index 9151e978c..77727fec8 100644 Binary files a/public/images/emoji/twitter/ten.png and b/public/images/emoji/twitter/ten.png differ diff --git a/public/images/emoji/twitter/tennis.png b/public/images/emoji/twitter/tennis.png index f8120a86c..7e45256cc 100644 Binary files a/public/images/emoji/twitter/tennis.png and b/public/images/emoji/twitter/tennis.png differ diff --git a/public/images/emoji/twitter/tent.png b/public/images/emoji/twitter/tent.png index 82f8931a4..1a982903c 100644 Binary files a/public/images/emoji/twitter/tent.png and b/public/images/emoji/twitter/tent.png differ diff --git a/public/images/emoji/twitter/thermometer.png b/public/images/emoji/twitter/thermometer.png index 53746a78b..eef50895b 100644 Binary files a/public/images/emoji/twitter/thermometer.png and b/public/images/emoji/twitter/thermometer.png differ diff --git a/public/images/emoji/twitter/thermometer_face.png b/public/images/emoji/twitter/thermometer_face.png index c9440239c..5539251aa 100644 Binary files a/public/images/emoji/twitter/thermometer_face.png and b/public/images/emoji/twitter/thermometer_face.png differ diff --git a/public/images/emoji/twitter/thinking.png b/public/images/emoji/twitter/thinking.png index 41be4fd6b..f1bc0726a 100644 Binary files a/public/images/emoji/twitter/thinking.png and b/public/images/emoji/twitter/thinking.png differ diff --git a/public/images/emoji/twitter/thinking_face.png b/public/images/emoji/twitter/thinking_face.png new file mode 100644 index 000000000..f1bc0726a Binary files /dev/null and b/public/images/emoji/twitter/thinking_face.png differ diff --git a/public/images/emoji/twitter/thought_balloon.png b/public/images/emoji/twitter/thought_balloon.png index f2f024a24..cffdcb58f 100644 Binary files a/public/images/emoji/twitter/thought_balloon.png and b/public/images/emoji/twitter/thought_balloon.png differ diff --git a/public/images/emoji/twitter/three.png b/public/images/emoji/twitter/three.png index 044578cda..e69de29bb 100644 Binary files a/public/images/emoji/twitter/three.png and b/public/images/emoji/twitter/three.png differ diff --git a/public/images/emoji/twitter/three_button_mouse.png b/public/images/emoji/twitter/three_button_mouse.png new file mode 100644 index 000000000..3a71c800c Binary files /dev/null and b/public/images/emoji/twitter/three_button_mouse.png differ diff --git a/public/images/emoji/twitter/thumbsdown.png b/public/images/emoji/twitter/thumbsdown.png index d740aa7b2..4f345c535 100644 Binary files a/public/images/emoji/twitter/thumbsdown.png and b/public/images/emoji/twitter/thumbsdown.png differ diff --git a/public/images/emoji/twitter/thumbsup.png b/public/images/emoji/twitter/thumbsup.png index f4bafe3cc..a64fb4752 100644 Binary files a/public/images/emoji/twitter/thumbsup.png and b/public/images/emoji/twitter/thumbsup.png differ diff --git a/public/images/emoji/twitter/thunder_cloud_and_rain.png b/public/images/emoji/twitter/thunder_cloud_and_rain.png new file mode 100644 index 000000000..be44d531a Binary files /dev/null and b/public/images/emoji/twitter/thunder_cloud_and_rain.png differ diff --git a/public/images/emoji/twitter/thunder_cloud_rain.png b/public/images/emoji/twitter/thunder_cloud_rain.png index 71c2af139..be44d531a 100644 Binary files a/public/images/emoji/twitter/thunder_cloud_rain.png and b/public/images/emoji/twitter/thunder_cloud_rain.png differ diff --git a/public/images/emoji/twitter/ticket.png b/public/images/emoji/twitter/ticket.png index 347662a23..c304049b2 100644 Binary files a/public/images/emoji/twitter/ticket.png and b/public/images/emoji/twitter/ticket.png differ diff --git a/public/images/emoji/twitter/tickets.png b/public/images/emoji/twitter/tickets.png index 11c88ec85..295e9bbdc 100644 Binary files a/public/images/emoji/twitter/tickets.png and b/public/images/emoji/twitter/tickets.png differ diff --git a/public/images/emoji/twitter/tiger.png b/public/images/emoji/twitter/tiger.png index ab9a80f3a..2f12f4730 100644 Binary files a/public/images/emoji/twitter/tiger.png and b/public/images/emoji/twitter/tiger.png differ diff --git a/public/images/emoji/twitter/tiger2.png b/public/images/emoji/twitter/tiger2.png index 8dfdd97ec..fd5681ab7 100644 Binary files a/public/images/emoji/twitter/tiger2.png and b/public/images/emoji/twitter/tiger2.png differ diff --git a/public/images/emoji/twitter/timer.png b/public/images/emoji/twitter/timer.png index c7f6d21c6..31f31d893 100644 Binary files a/public/images/emoji/twitter/timer.png and b/public/images/emoji/twitter/timer.png differ diff --git a/public/images/emoji/twitter/timer_clock.png b/public/images/emoji/twitter/timer_clock.png new file mode 100644 index 000000000..31f31d893 Binary files /dev/null and b/public/images/emoji/twitter/timer_clock.png differ diff --git a/public/images/emoji/twitter/tired_face.png b/public/images/emoji/twitter/tired_face.png index dc99e21d6..4da81b158 100644 Binary files a/public/images/emoji/twitter/tired_face.png and b/public/images/emoji/twitter/tired_face.png differ diff --git a/public/images/emoji/twitter/tm.png b/public/images/emoji/twitter/tm.png index a46e367ea..8727b45e6 100644 Binary files a/public/images/emoji/twitter/tm.png and b/public/images/emoji/twitter/tm.png differ diff --git a/public/images/emoji/twitter/toilet.png b/public/images/emoji/twitter/toilet.png index fe173f23f..8031faeb2 100644 Binary files a/public/images/emoji/twitter/toilet.png and b/public/images/emoji/twitter/toilet.png differ diff --git a/public/images/emoji/twitter/tokyo_tower.png b/public/images/emoji/twitter/tokyo_tower.png index a139ecd61..9d88cb1e2 100644 Binary files a/public/images/emoji/twitter/tokyo_tower.png and b/public/images/emoji/twitter/tokyo_tower.png differ diff --git a/public/images/emoji/twitter/tomato.png b/public/images/emoji/twitter/tomato.png index c8163e636..95d1e38fb 100644 Binary files a/public/images/emoji/twitter/tomato.png and b/public/images/emoji/twitter/tomato.png differ diff --git a/public/images/emoji/twitter/tongue.png b/public/images/emoji/twitter/tongue.png index e98250d2e..e700e9344 100644 Binary files a/public/images/emoji/twitter/tongue.png and b/public/images/emoji/twitter/tongue.png differ diff --git a/public/images/emoji/twitter/tools.png b/public/images/emoji/twitter/tools.png index 2448331da..2b7c33b20 100644 Binary files a/public/images/emoji/twitter/tools.png and b/public/images/emoji/twitter/tools.png differ diff --git a/public/images/emoji/twitter/top.png b/public/images/emoji/twitter/top.png index da019b78e..4a5d5c956 100644 Binary files a/public/images/emoji/twitter/top.png and b/public/images/emoji/twitter/top.png differ diff --git a/public/images/emoji/twitter/tophat.png b/public/images/emoji/twitter/tophat.png index 558cbc375..be0f1d2a0 100644 Binary files a/public/images/emoji/twitter/tophat.png and b/public/images/emoji/twitter/tophat.png differ diff --git a/public/images/emoji/twitter/track_next.png b/public/images/emoji/twitter/track_next.png index 9aafe8deb..13953da5d 100644 Binary files a/public/images/emoji/twitter/track_next.png and b/public/images/emoji/twitter/track_next.png differ diff --git a/public/images/emoji/twitter/track_previous.png b/public/images/emoji/twitter/track_previous.png index d6f3c89e2..ada39abc3 100644 Binary files a/public/images/emoji/twitter/track_previous.png and b/public/images/emoji/twitter/track_previous.png differ diff --git a/public/images/emoji/twitter/trackball.png b/public/images/emoji/twitter/trackball.png index 8205a4e84..069138421 100644 Binary files a/public/images/emoji/twitter/trackball.png and b/public/images/emoji/twitter/trackball.png differ diff --git a/public/images/emoji/twitter/tractor.png b/public/images/emoji/twitter/tractor.png index 3f85ef3f5..f1334c882 100644 Binary files a/public/images/emoji/twitter/tractor.png and b/public/images/emoji/twitter/tractor.png differ diff --git a/public/images/emoji/twitter/traffic_light.png b/public/images/emoji/twitter/traffic_light.png index aa83e08d7..ef646b329 100644 Binary files a/public/images/emoji/twitter/traffic_light.png and b/public/images/emoji/twitter/traffic_light.png differ diff --git a/public/images/emoji/twitter/train.png b/public/images/emoji/twitter/train.png index 6fad581c7..5d31926ca 100644 Binary files a/public/images/emoji/twitter/train.png and b/public/images/emoji/twitter/train.png differ diff --git a/public/images/emoji/twitter/train2.png b/public/images/emoji/twitter/train2.png index 1ce7231db..098821a2e 100644 Binary files a/public/images/emoji/twitter/train2.png and b/public/images/emoji/twitter/train2.png differ diff --git a/public/images/emoji/twitter/tram.png b/public/images/emoji/twitter/tram.png index 878ac023f..27c1d3c5c 100644 Binary files a/public/images/emoji/twitter/tram.png and b/public/images/emoji/twitter/tram.png differ diff --git a/public/images/emoji/twitter/triangular_flag_on_post.png b/public/images/emoji/twitter/triangular_flag_on_post.png index 94a0c030b..1fde97f94 100644 Binary files a/public/images/emoji/twitter/triangular_flag_on_post.png and b/public/images/emoji/twitter/triangular_flag_on_post.png differ diff --git a/public/images/emoji/twitter/triangular_ruler.png b/public/images/emoji/twitter/triangular_ruler.png index 52c61fa05..cd1ccf67a 100644 Binary files a/public/images/emoji/twitter/triangular_ruler.png and b/public/images/emoji/twitter/triangular_ruler.png differ diff --git a/public/images/emoji/twitter/trident.png b/public/images/emoji/twitter/trident.png index 968747edb..3f5eac141 100644 Binary files a/public/images/emoji/twitter/trident.png and b/public/images/emoji/twitter/trident.png differ diff --git a/public/images/emoji/twitter/triumph.png b/public/images/emoji/twitter/triumph.png index 31d2aea97..9782c78dd 100644 Binary files a/public/images/emoji/twitter/triumph.png and b/public/images/emoji/twitter/triumph.png differ diff --git a/public/images/emoji/twitter/trolleybus.png b/public/images/emoji/twitter/trolleybus.png index cc6c588f5..98633d356 100644 Binary files a/public/images/emoji/twitter/trolleybus.png and b/public/images/emoji/twitter/trolleybus.png differ diff --git a/public/images/emoji/twitter/trophy.png b/public/images/emoji/twitter/trophy.png index 842a4e917..fea06478b 100644 Binary files a/public/images/emoji/twitter/trophy.png and b/public/images/emoji/twitter/trophy.png differ diff --git a/public/images/emoji/twitter/tropical_drink.png b/public/images/emoji/twitter/tropical_drink.png index 3d3131af0..9eaab4257 100644 Binary files a/public/images/emoji/twitter/tropical_drink.png and b/public/images/emoji/twitter/tropical_drink.png differ diff --git a/public/images/emoji/twitter/tropical_fish.png b/public/images/emoji/twitter/tropical_fish.png index 273059a1c..550c8e296 100644 Binary files a/public/images/emoji/twitter/tropical_fish.png and b/public/images/emoji/twitter/tropical_fish.png differ diff --git a/public/images/emoji/twitter/truck.png b/public/images/emoji/twitter/truck.png index 05ae5ffc8..12e1365f2 100644 Binary files a/public/images/emoji/twitter/truck.png and b/public/images/emoji/twitter/truck.png differ diff --git a/public/images/emoji/twitter/trumpet.png b/public/images/emoji/twitter/trumpet.png index 55eda7897..d3b1fec70 100644 Binary files a/public/images/emoji/twitter/trumpet.png and b/public/images/emoji/twitter/trumpet.png differ diff --git a/public/images/emoji/twitter/tshirt.png b/public/images/emoji/twitter/tshirt.png deleted file mode 100644 index e9461499f..000000000 Binary files a/public/images/emoji/twitter/tshirt.png and /dev/null differ diff --git a/public/images/emoji/twitter/tulip.png b/public/images/emoji/twitter/tulip.png index f0b86589a..394ff4aca 100644 Binary files a/public/images/emoji/twitter/tulip.png and b/public/images/emoji/twitter/tulip.png differ diff --git a/public/images/emoji/twitter/turkey.png b/public/images/emoji/twitter/turkey.png index 20856a9e8..043a7ac81 100644 Binary files a/public/images/emoji/twitter/turkey.png and b/public/images/emoji/twitter/turkey.png differ diff --git a/public/images/emoji/twitter/turtle.png b/public/images/emoji/twitter/turtle.png index 2c763eb7b..0ff7f79a9 100644 Binary files a/public/images/emoji/twitter/turtle.png and b/public/images/emoji/twitter/turtle.png differ diff --git a/public/images/emoji/twitter/tv.png b/public/images/emoji/twitter/tv.png index b487503fe..06de17907 100644 Binary files a/public/images/emoji/twitter/tv.png and b/public/images/emoji/twitter/tv.png differ diff --git a/public/images/emoji/twitter/twisted_rightwards_arrows.png b/public/images/emoji/twitter/twisted_rightwards_arrows.png index 5046a51b9..943f924fe 100644 Binary files a/public/images/emoji/twitter/twisted_rightwards_arrows.png and b/public/images/emoji/twitter/twisted_rightwards_arrows.png differ diff --git a/public/images/emoji/twitter/two.png b/public/images/emoji/twitter/two.png index 886ccfcd7..e69de29bb 100644 Binary files a/public/images/emoji/twitter/two.png and b/public/images/emoji/twitter/two.png differ diff --git a/public/images/emoji/twitter/two_hearts.png b/public/images/emoji/twitter/two_hearts.png index f06417a15..a2bf46462 100644 Binary files a/public/images/emoji/twitter/two_hearts.png and b/public/images/emoji/twitter/two_hearts.png differ diff --git a/public/images/emoji/twitter/two_men_holding_hands.png b/public/images/emoji/twitter/two_men_holding_hands.png index 8d92e3531..ed10e5407 100644 Binary files a/public/images/emoji/twitter/two_men_holding_hands.png and b/public/images/emoji/twitter/two_men_holding_hands.png differ diff --git a/public/images/emoji/twitter/two_women_holding_hands.png b/public/images/emoji/twitter/two_women_holding_hands.png index ecd95a9fc..4a2a92931 100644 Binary files a/public/images/emoji/twitter/two_women_holding_hands.png and b/public/images/emoji/twitter/two_women_holding_hands.png differ diff --git a/public/images/emoji/twitter/u5272.png b/public/images/emoji/twitter/u5272.png index 859d9139f..39e3ed851 100644 Binary files a/public/images/emoji/twitter/u5272.png and b/public/images/emoji/twitter/u5272.png differ diff --git a/public/images/emoji/twitter/u5408.png b/public/images/emoji/twitter/u5408.png index 327b529cd..4c486f5a0 100644 Binary files a/public/images/emoji/twitter/u5408.png and b/public/images/emoji/twitter/u5408.png differ diff --git a/public/images/emoji/twitter/u55b6.png b/public/images/emoji/twitter/u55b6.png index 3dc3f4c50..706605d7b 100644 Binary files a/public/images/emoji/twitter/u55b6.png and b/public/images/emoji/twitter/u55b6.png differ diff --git a/public/images/emoji/twitter/u6307.png b/public/images/emoji/twitter/u6307.png index bc6995841..ed4775ce0 100644 Binary files a/public/images/emoji/twitter/u6307.png and b/public/images/emoji/twitter/u6307.png differ diff --git a/public/images/emoji/twitter/u6708.png b/public/images/emoji/twitter/u6708.png index 2cda0d291..21bca19f0 100644 Binary files a/public/images/emoji/twitter/u6708.png and b/public/images/emoji/twitter/u6708.png differ diff --git a/public/images/emoji/twitter/u6709.png b/public/images/emoji/twitter/u6709.png index 8eb5b60aa..79ec215b8 100644 Binary files a/public/images/emoji/twitter/u6709.png and b/public/images/emoji/twitter/u6709.png differ diff --git a/public/images/emoji/twitter/u6e80.png b/public/images/emoji/twitter/u6e80.png index 10bd555e3..79d5083a0 100644 Binary files a/public/images/emoji/twitter/u6e80.png and b/public/images/emoji/twitter/u6e80.png differ diff --git a/public/images/emoji/twitter/u7121.png b/public/images/emoji/twitter/u7121.png index 06f7d61c7..1cb4be468 100644 Binary files a/public/images/emoji/twitter/u7121.png and b/public/images/emoji/twitter/u7121.png differ diff --git a/public/images/emoji/twitter/u7533.png b/public/images/emoji/twitter/u7533.png index ef5cb065a..2c503dbdd 100644 Binary files a/public/images/emoji/twitter/u7533.png and b/public/images/emoji/twitter/u7533.png differ diff --git a/public/images/emoji/twitter/u7981.png b/public/images/emoji/twitter/u7981.png index ea2ea8f4a..4ec660b54 100644 Binary files a/public/images/emoji/twitter/u7981.png and b/public/images/emoji/twitter/u7981.png differ diff --git a/public/images/emoji/twitter/u7a7a.png b/public/images/emoji/twitter/u7a7a.png index e053172a9..00d828d9d 100644 Binary files a/public/images/emoji/twitter/u7a7a.png and b/public/images/emoji/twitter/u7a7a.png differ diff --git a/public/images/emoji/twitter/uk.png b/public/images/emoji/twitter/uk.png deleted file mode 100644 index 1790afe9c..000000000 Binary files a/public/images/emoji/twitter/uk.png and /dev/null differ diff --git a/public/images/emoji/twitter/umbrella.png b/public/images/emoji/twitter/umbrella.png index 0d063ddae..e149b9f0f 100644 Binary files a/public/images/emoji/twitter/umbrella.png and b/public/images/emoji/twitter/umbrella.png differ diff --git a/public/images/emoji/twitter/umbrella2.png b/public/images/emoji/twitter/umbrella2.png index 24e72f080..ec99aeb16 100644 Binary files a/public/images/emoji/twitter/umbrella2.png and b/public/images/emoji/twitter/umbrella2.png differ diff --git a/public/images/emoji/twitter/umbrella_on_ground.png b/public/images/emoji/twitter/umbrella_on_ground.png new file mode 100644 index 000000000..d12db22ec Binary files /dev/null and b/public/images/emoji/twitter/umbrella_on_ground.png differ diff --git a/public/images/emoji/twitter/unamused.png b/public/images/emoji/twitter/unamused.png index 71d2b7bba..d1f66ad9d 100644 Binary files a/public/images/emoji/twitter/unamused.png and b/public/images/emoji/twitter/unamused.png differ diff --git a/public/images/emoji/twitter/underage.png b/public/images/emoji/twitter/underage.png index c19179fc3..7c5deb816 100644 Binary files a/public/images/emoji/twitter/underage.png and b/public/images/emoji/twitter/underage.png differ diff --git a/public/images/emoji/twitter/unicorn.png b/public/images/emoji/twitter/unicorn.png index 4afcbe217..60db92718 100644 Binary files a/public/images/emoji/twitter/unicorn.png and b/public/images/emoji/twitter/unicorn.png differ diff --git a/public/images/emoji/twitter/unicorn_face.png b/public/images/emoji/twitter/unicorn_face.png new file mode 100644 index 000000000..60db92718 Binary files /dev/null and b/public/images/emoji/twitter/unicorn_face.png differ diff --git a/public/images/emoji/twitter/unlock.png b/public/images/emoji/twitter/unlock.png index 9fc5764fb..420adafd4 100644 Binary files a/public/images/emoji/twitter/unlock.png and b/public/images/emoji/twitter/unlock.png differ diff --git a/public/images/emoji/twitter/up.png b/public/images/emoji/twitter/up.png index d4a1b9db9..b7eac2ee8 100644 Binary files a/public/images/emoji/twitter/up.png and b/public/images/emoji/twitter/up.png differ diff --git a/public/images/emoji/twitter/upside_down.png b/public/images/emoji/twitter/upside_down.png index e8abd4381..85c96142c 100644 Binary files a/public/images/emoji/twitter/upside_down.png and b/public/images/emoji/twitter/upside_down.png differ diff --git a/public/images/emoji/twitter/upside_down_face.png b/public/images/emoji/twitter/upside_down_face.png new file mode 100644 index 000000000..85c96142c Binary files /dev/null and b/public/images/emoji/twitter/upside_down_face.png differ diff --git a/public/images/emoji/twitter/urn.png b/public/images/emoji/twitter/urn.png index cc65fe127..56112c50e 100644 Binary files a/public/images/emoji/twitter/urn.png and b/public/images/emoji/twitter/urn.png differ diff --git a/public/images/emoji/twitter/us.png b/public/images/emoji/twitter/us.png index a9807a157..450853eca 100644 Binary files a/public/images/emoji/twitter/us.png and b/public/images/emoji/twitter/us.png differ diff --git a/public/images/emoji/twitter/v.png b/public/images/emoji/twitter/v.png index 2fb5e9811..88575a6d2 100644 Binary files a/public/images/emoji/twitter/v.png and b/public/images/emoji/twitter/v.png differ diff --git a/public/images/emoji/twitter/vertical_traffic_light.png b/public/images/emoji/twitter/vertical_traffic_light.png index f614f5cbe..176356502 100644 Binary files a/public/images/emoji/twitter/vertical_traffic_light.png and b/public/images/emoji/twitter/vertical_traffic_light.png differ diff --git a/public/images/emoji/twitter/vhs.png b/public/images/emoji/twitter/vhs.png index 33f48127f..7aa14dd85 100644 Binary files a/public/images/emoji/twitter/vhs.png and b/public/images/emoji/twitter/vhs.png differ diff --git a/public/images/emoji/twitter/vibration_mode.png b/public/images/emoji/twitter/vibration_mode.png index b3f1aaffd..be3fe8b25 100644 Binary files a/public/images/emoji/twitter/vibration_mode.png and b/public/images/emoji/twitter/vibration_mode.png differ diff --git a/public/images/emoji/twitter/video_camera.png b/public/images/emoji/twitter/video_camera.png index 307190a9a..895fbf2c5 100644 Binary files a/public/images/emoji/twitter/video_camera.png and b/public/images/emoji/twitter/video_camera.png differ diff --git a/public/images/emoji/twitter/video_game.png b/public/images/emoji/twitter/video_game.png index f8a623038..3ec88b8ee 100644 Binary files a/public/images/emoji/twitter/video_game.png and b/public/images/emoji/twitter/video_game.png differ diff --git a/public/images/emoji/twitter/violin.png b/public/images/emoji/twitter/violin.png index c82f693b8..352f08ba6 100644 Binary files a/public/images/emoji/twitter/violin.png and b/public/images/emoji/twitter/violin.png differ diff --git a/public/images/emoji/twitter/virgo.png b/public/images/emoji/twitter/virgo.png index 8de2e5a19..ca2056f07 100644 Binary files a/public/images/emoji/twitter/virgo.png and b/public/images/emoji/twitter/virgo.png differ diff --git a/public/images/emoji/twitter/volcano.png b/public/images/emoji/twitter/volcano.png index 0c66f1097..1c08d5081 100644 Binary files a/public/images/emoji/twitter/volcano.png and b/public/images/emoji/twitter/volcano.png differ diff --git a/public/images/emoji/twitter/volleyball.png b/public/images/emoji/twitter/volleyball.png index 08edda744..5d6921c81 100644 Binary files a/public/images/emoji/twitter/volleyball.png and b/public/images/emoji/twitter/volleyball.png differ diff --git a/public/images/emoji/twitter/vs.png b/public/images/emoji/twitter/vs.png index e58f0f1b4..5bd20200e 100644 Binary files a/public/images/emoji/twitter/vs.png and b/public/images/emoji/twitter/vs.png differ diff --git a/public/images/emoji/twitter/vulcan.png b/public/images/emoji/twitter/vulcan.png index 72cc1170d..624592945 100644 Binary files a/public/images/emoji/twitter/vulcan.png and b/public/images/emoji/twitter/vulcan.png differ diff --git a/public/images/emoji/twitter/walking.png b/public/images/emoji/twitter/walking.png index a25eb9fcf..671bb1605 100644 Binary files a/public/images/emoji/twitter/walking.png and b/public/images/emoji/twitter/walking.png differ diff --git a/public/images/emoji/twitter/waning_crescent_moon.png b/public/images/emoji/twitter/waning_crescent_moon.png index 99b267a01..b6acf24d5 100644 Binary files a/public/images/emoji/twitter/waning_crescent_moon.png and b/public/images/emoji/twitter/waning_crescent_moon.png differ diff --git a/public/images/emoji/twitter/waning_gibbous_moon.png b/public/images/emoji/twitter/waning_gibbous_moon.png index 16c9ae19c..9ce1113fd 100644 Binary files a/public/images/emoji/twitter/waning_gibbous_moon.png and b/public/images/emoji/twitter/waning_gibbous_moon.png differ diff --git a/public/images/emoji/twitter/warning.png b/public/images/emoji/twitter/warning.png index 66c3df484..034b267be 100644 Binary files a/public/images/emoji/twitter/warning.png and b/public/images/emoji/twitter/warning.png differ diff --git a/public/images/emoji/twitter/wastebasket.png b/public/images/emoji/twitter/wastebasket.png index 9e8f4719e..65b072909 100644 Binary files a/public/images/emoji/twitter/wastebasket.png and b/public/images/emoji/twitter/wastebasket.png differ diff --git a/public/images/emoji/twitter/watch.png b/public/images/emoji/twitter/watch.png index 0375c4685..3fb6ff7b3 100644 Binary files a/public/images/emoji/twitter/watch.png and b/public/images/emoji/twitter/watch.png differ diff --git a/public/images/emoji/twitter/water_buffalo.png b/public/images/emoji/twitter/water_buffalo.png index c456e0dec..5c8d0c6dc 100644 Binary files a/public/images/emoji/twitter/water_buffalo.png and b/public/images/emoji/twitter/water_buffalo.png differ diff --git a/public/images/emoji/twitter/watermelon.png b/public/images/emoji/twitter/watermelon.png index 3b01a3584..076112a64 100644 Binary files a/public/images/emoji/twitter/watermelon.png and b/public/images/emoji/twitter/watermelon.png differ diff --git a/public/images/emoji/twitter/wave.png b/public/images/emoji/twitter/wave.png index 8013d5f0b..304b214f0 100644 Binary files a/public/images/emoji/twitter/wave.png and b/public/images/emoji/twitter/wave.png differ diff --git a/public/images/emoji/twitter/waving_black_flag.png b/public/images/emoji/twitter/waving_black_flag.png new file mode 100644 index 000000000..5c1237bda Binary files /dev/null and b/public/images/emoji/twitter/waving_black_flag.png differ diff --git a/public/images/emoji/twitter/waving_white_flag.png b/public/images/emoji/twitter/waving_white_flag.png new file mode 100644 index 000000000..5f052fff2 Binary files /dev/null and b/public/images/emoji/twitter/waving_white_flag.png differ diff --git a/public/images/emoji/twitter/wavy_dash.png b/public/images/emoji/twitter/wavy_dash.png index 4f5446954..f1b17b38c 100644 Binary files a/public/images/emoji/twitter/wavy_dash.png and b/public/images/emoji/twitter/wavy_dash.png differ diff --git a/public/images/emoji/twitter/waxing_crescent_moon.png b/public/images/emoji/twitter/waxing_crescent_moon.png index 625da5f5f..519cce379 100644 Binary files a/public/images/emoji/twitter/waxing_crescent_moon.png and b/public/images/emoji/twitter/waxing_crescent_moon.png differ diff --git a/public/images/emoji/twitter/waxing_gibbous_moon.png b/public/images/emoji/twitter/waxing_gibbous_moon.png index d8411fd27..0f9dfcc0d 100644 Binary files a/public/images/emoji/twitter/waxing_gibbous_moon.png and b/public/images/emoji/twitter/waxing_gibbous_moon.png differ diff --git a/public/images/emoji/twitter/wc.png b/public/images/emoji/twitter/wc.png index f500db80e..975f3626d 100644 Binary files a/public/images/emoji/twitter/wc.png and b/public/images/emoji/twitter/wc.png differ diff --git a/public/images/emoji/twitter/weary.png b/public/images/emoji/twitter/weary.png index f9facbd9c..2836e023d 100644 Binary files a/public/images/emoji/twitter/weary.png and b/public/images/emoji/twitter/weary.png differ diff --git a/public/images/emoji/twitter/wedding.png b/public/images/emoji/twitter/wedding.png index b89a5655b..ac630fc57 100644 Binary files a/public/images/emoji/twitter/wedding.png and b/public/images/emoji/twitter/wedding.png differ diff --git a/public/images/emoji/twitter/weight_lifter.png b/public/images/emoji/twitter/weight_lifter.png new file mode 100644 index 000000000..e0fb05d5e Binary files /dev/null and b/public/images/emoji/twitter/weight_lifter.png differ diff --git a/public/images/emoji/twitter/whale.png b/public/images/emoji/twitter/whale.png index 2c83b0b22..393536a81 100644 Binary files a/public/images/emoji/twitter/whale.png and b/public/images/emoji/twitter/whale.png differ diff --git a/public/images/emoji/twitter/whale2.png b/public/images/emoji/twitter/whale2.png index ec0479c10..da221d06e 100644 Binary files a/public/images/emoji/twitter/whale2.png and b/public/images/emoji/twitter/whale2.png differ diff --git a/public/images/emoji/twitter/wheel_of_dharma.png b/public/images/emoji/twitter/wheel_of_dharma.png index c4d0c5625..8792718a1 100644 Binary files a/public/images/emoji/twitter/wheel_of_dharma.png and b/public/images/emoji/twitter/wheel_of_dharma.png differ diff --git a/public/images/emoji/twitter/wheelchair.png b/public/images/emoji/twitter/wheelchair.png index 108f45d80..d59215454 100644 Binary files a/public/images/emoji/twitter/wheelchair.png and b/public/images/emoji/twitter/wheelchair.png differ diff --git a/public/images/emoji/twitter/white_check_mark.png b/public/images/emoji/twitter/white_check_mark.png index d1769fa2d..c7013082b 100644 Binary files a/public/images/emoji/twitter/white_check_mark.png and b/public/images/emoji/twitter/white_check_mark.png differ diff --git a/public/images/emoji/twitter/white_circle.png b/public/images/emoji/twitter/white_circle.png index 88be70ca5..b2a720a28 100644 Binary files a/public/images/emoji/twitter/white_circle.png and b/public/images/emoji/twitter/white_circle.png differ diff --git a/public/images/emoji/twitter/white_flower.png b/public/images/emoji/twitter/white_flower.png index 58af191f9..e7a2a1b60 100644 Binary files a/public/images/emoji/twitter/white_flower.png and b/public/images/emoji/twitter/white_flower.png differ diff --git a/public/images/emoji/twitter/white_frowning_face.png b/public/images/emoji/twitter/white_frowning_face.png new file mode 100644 index 000000000..1c5988a20 Binary files /dev/null and b/public/images/emoji/twitter/white_frowning_face.png differ diff --git a/public/images/emoji/twitter/white_large_square.png b/public/images/emoji/twitter/white_large_square.png index ab37e1093..2b4dee8dd 100644 Binary files a/public/images/emoji/twitter/white_large_square.png and b/public/images/emoji/twitter/white_large_square.png differ diff --git a/public/images/emoji/twitter/white_medium_small_square.png b/public/images/emoji/twitter/white_medium_small_square.png index 139e87753..29603217a 100644 Binary files a/public/images/emoji/twitter/white_medium_small_square.png and b/public/images/emoji/twitter/white_medium_small_square.png differ diff --git a/public/images/emoji/twitter/white_medium_square.png b/public/images/emoji/twitter/white_medium_square.png index acf09155b..902715215 100644 Binary files a/public/images/emoji/twitter/white_medium_square.png and b/public/images/emoji/twitter/white_medium_square.png differ diff --git a/public/images/emoji/twitter/white_small_square.png b/public/images/emoji/twitter/white_small_square.png index 2cb7e3655..a0b93a8c1 100644 Binary files a/public/images/emoji/twitter/white_small_square.png and b/public/images/emoji/twitter/white_small_square.png differ diff --git a/public/images/emoji/twitter/white_square_button.png b/public/images/emoji/twitter/white_square_button.png index f0c1d9fae..b066f0a7d 100644 Binary files a/public/images/emoji/twitter/white_square_button.png and b/public/images/emoji/twitter/white_square_button.png differ diff --git a/public/images/emoji/twitter/white_sun_behind_cloud.png b/public/images/emoji/twitter/white_sun_behind_cloud.png new file mode 100644 index 000000000..3ceb40a9e Binary files /dev/null and b/public/images/emoji/twitter/white_sun_behind_cloud.png differ diff --git a/public/images/emoji/twitter/white_sun_behind_cloud_with_rain.png b/public/images/emoji/twitter/white_sun_behind_cloud_with_rain.png new file mode 100644 index 000000000..804862c06 Binary files /dev/null and b/public/images/emoji/twitter/white_sun_behind_cloud_with_rain.png differ diff --git a/public/images/emoji/twitter/white_sun_cloud.png b/public/images/emoji/twitter/white_sun_cloud.png index cabbfd249..3ceb40a9e 100644 Binary files a/public/images/emoji/twitter/white_sun_cloud.png and b/public/images/emoji/twitter/white_sun_cloud.png differ diff --git a/public/images/emoji/twitter/white_sun_rain_cloud.png b/public/images/emoji/twitter/white_sun_rain_cloud.png index 1270388a2..804862c06 100644 Binary files a/public/images/emoji/twitter/white_sun_rain_cloud.png and b/public/images/emoji/twitter/white_sun_rain_cloud.png differ diff --git a/public/images/emoji/twitter/white_sun_small_cloud.png b/public/images/emoji/twitter/white_sun_small_cloud.png index 8757d5503..90af3591e 100644 Binary files a/public/images/emoji/twitter/white_sun_small_cloud.png and b/public/images/emoji/twitter/white_sun_small_cloud.png differ diff --git a/public/images/emoji/twitter/white_sun_with_small_cloud.png b/public/images/emoji/twitter/white_sun_with_small_cloud.png new file mode 100644 index 000000000..90af3591e Binary files /dev/null and b/public/images/emoji/twitter/white_sun_with_small_cloud.png differ diff --git a/public/images/emoji/twitter/wind_blowing_face.png b/public/images/emoji/twitter/wind_blowing_face.png index 190cfc18a..f89ef444f 100644 Binary files a/public/images/emoji/twitter/wind_blowing_face.png and b/public/images/emoji/twitter/wind_blowing_face.png differ diff --git a/public/images/emoji/twitter/wind_chime.png b/public/images/emoji/twitter/wind_chime.png index 4f18b33e2..4e76dc6e6 100644 Binary files a/public/images/emoji/twitter/wind_chime.png and b/public/images/emoji/twitter/wind_chime.png differ diff --git a/public/images/emoji/twitter/wine_glass.png b/public/images/emoji/twitter/wine_glass.png index 796e3bf21..23e0fd17d 100644 Binary files a/public/images/emoji/twitter/wine_glass.png and b/public/images/emoji/twitter/wine_glass.png differ diff --git a/public/images/emoji/twitter/wink.png b/public/images/emoji/twitter/wink.png index b70c9c2db..06fd7d6a8 100644 Binary files a/public/images/emoji/twitter/wink.png and b/public/images/emoji/twitter/wink.png differ diff --git a/public/images/emoji/twitter/wolf.png b/public/images/emoji/twitter/wolf.png index 89c8f76da..aa813db5c 100644 Binary files a/public/images/emoji/twitter/wolf.png and b/public/images/emoji/twitter/wolf.png differ diff --git a/public/images/emoji/twitter/woman.png b/public/images/emoji/twitter/woman.png index cf8a07a8c..67254813c 100644 Binary files a/public/images/emoji/twitter/woman.png and b/public/images/emoji/twitter/woman.png differ diff --git a/public/images/emoji/twitter/womans_clothes.png b/public/images/emoji/twitter/womans_clothes.png index 949e451dc..9c04266a2 100644 Binary files a/public/images/emoji/twitter/womans_clothes.png and b/public/images/emoji/twitter/womans_clothes.png differ diff --git a/public/images/emoji/twitter/womans_hat.png b/public/images/emoji/twitter/womans_hat.png index 15f5c91c9..730a48c64 100644 Binary files a/public/images/emoji/twitter/womans_hat.png and b/public/images/emoji/twitter/womans_hat.png differ diff --git a/public/images/emoji/twitter/womens.png b/public/images/emoji/twitter/womens.png index a6b345e3f..0a2d8600d 100644 Binary files a/public/images/emoji/twitter/womens.png and b/public/images/emoji/twitter/womens.png differ diff --git a/public/images/emoji/twitter/world_map.png b/public/images/emoji/twitter/world_map.png new file mode 100644 index 000000000..471c048fa Binary files /dev/null and b/public/images/emoji/twitter/world_map.png differ diff --git a/public/images/emoji/twitter/worried.png b/public/images/emoji/twitter/worried.png index 9807e884c..f18147f1f 100644 Binary files a/public/images/emoji/twitter/worried.png and b/public/images/emoji/twitter/worried.png differ diff --git a/public/images/emoji/twitter/worship_symbol.png b/public/images/emoji/twitter/worship_symbol.png new file mode 100644 index 000000000..19e1150b3 Binary files /dev/null and b/public/images/emoji/twitter/worship_symbol.png differ diff --git a/public/images/emoji/twitter/wrench.png b/public/images/emoji/twitter/wrench.png index acb0c4b7a..5d3c6359b 100644 Binary files a/public/images/emoji/twitter/wrench.png and b/public/images/emoji/twitter/wrench.png differ diff --git a/public/images/emoji/twitter/writing_hand.png b/public/images/emoji/twitter/writing_hand.png index eb2e8c89b..d4173ad57 100644 Binary files a/public/images/emoji/twitter/writing_hand.png and b/public/images/emoji/twitter/writing_hand.png differ diff --git a/public/images/emoji/twitter/x.png b/public/images/emoji/twitter/x.png index a3bae6df1..7ab7ae1f2 100644 Binary files a/public/images/emoji/twitter/x.png and b/public/images/emoji/twitter/x.png differ diff --git a/public/images/emoji/twitter/yellow_heart.png b/public/images/emoji/twitter/yellow_heart.png index c286ed58f..48cf5c51b 100644 Binary files a/public/images/emoji/twitter/yellow_heart.png and b/public/images/emoji/twitter/yellow_heart.png differ diff --git a/public/images/emoji/twitter/yen.png b/public/images/emoji/twitter/yen.png index cec1d8dac..9ce585e7c 100644 Binary files a/public/images/emoji/twitter/yen.png and b/public/images/emoji/twitter/yen.png differ diff --git a/public/images/emoji/twitter/yin_yang.png b/public/images/emoji/twitter/yin_yang.png index beb2a87dc..9e6fbd048 100644 Binary files a/public/images/emoji/twitter/yin_yang.png and b/public/images/emoji/twitter/yin_yang.png differ diff --git a/public/images/emoji/twitter/yum.png b/public/images/emoji/twitter/yum.png index 064155ae2..bdea07940 100644 Binary files a/public/images/emoji/twitter/yum.png and b/public/images/emoji/twitter/yum.png differ diff --git a/public/images/emoji/twitter/zap.png b/public/images/emoji/twitter/zap.png index 3343f39ca..7d798c92d 100644 Binary files a/public/images/emoji/twitter/zap.png and b/public/images/emoji/twitter/zap.png differ diff --git a/public/images/emoji/twitter/zero.png b/public/images/emoji/twitter/zero.png index a14ee8780..e69de29bb 100644 Binary files a/public/images/emoji/twitter/zero.png and b/public/images/emoji/twitter/zero.png differ diff --git a/public/images/emoji/twitter/zipper_mouth.png b/public/images/emoji/twitter/zipper_mouth.png index d59236821..d764a0fe1 100644 Binary files a/public/images/emoji/twitter/zipper_mouth.png and b/public/images/emoji/twitter/zipper_mouth.png differ diff --git a/public/images/emoji/twitter/zipper_mouth_face.png b/public/images/emoji/twitter/zipper_mouth_face.png new file mode 100644 index 000000000..d764a0fe1 Binary files /dev/null and b/public/images/emoji/twitter/zipper_mouth_face.png differ diff --git a/public/images/emoji/twitter/zzz.png b/public/images/emoji/twitter/zzz.png index aca9b61c3..89da8c120 100644 Binary files a/public/images/emoji/twitter/zzz.png and b/public/images/emoji/twitter/zzz.png differ diff --git a/public/images/emoji/win10/+1.png b/public/images/emoji/win10/+1.png old mode 100755 new mode 100644 index 0183b4f30..d28e0808b Binary files a/public/images/emoji/win10/+1.png and b/public/images/emoji/win10/+1.png differ diff --git a/public/images/emoji/win10/-1.png b/public/images/emoji/win10/-1.png old mode 100755 new mode 100644 index 93ef67719..672126b7b Binary files a/public/images/emoji/win10/-1.png and b/public/images/emoji/win10/-1.png differ diff --git a/public/images/emoji/win10/100.png b/public/images/emoji/win10/100.png old mode 100755 new mode 100644 index a0e24887c..65ba6962d Binary files a/public/images/emoji/win10/100.png and b/public/images/emoji/win10/100.png differ diff --git a/public/images/emoji/win10/1234.png b/public/images/emoji/win10/1234.png old mode 100755 new mode 100644 index d43155710..c06b39dd8 Binary files a/public/images/emoji/win10/1234.png and b/public/images/emoji/win10/1234.png differ diff --git a/public/images/emoji/win10/8ball.png b/public/images/emoji/win10/8ball.png old mode 100755 new mode 100644 index 24561ae3c..3578b889b Binary files a/public/images/emoji/win10/8ball.png and b/public/images/emoji/win10/8ball.png differ diff --git a/public/images/emoji/win10/a.png b/public/images/emoji/win10/a.png old mode 100755 new mode 100644 index e876e24e0..e1cb7abe0 Binary files a/public/images/emoji/win10/a.png and b/public/images/emoji/win10/a.png differ diff --git a/public/images/emoji/win10/ab.png b/public/images/emoji/win10/ab.png old mode 100755 new mode 100644 index 9087bf99a..26b76d033 Binary files a/public/images/emoji/win10/ab.png and b/public/images/emoji/win10/ab.png differ diff --git a/public/images/emoji/win10/abc.png b/public/images/emoji/win10/abc.png old mode 100755 new mode 100644 index 56c9b64f2..78b5a4041 Binary files a/public/images/emoji/win10/abc.png and b/public/images/emoji/win10/abc.png differ diff --git a/public/images/emoji/win10/abcd.png b/public/images/emoji/win10/abcd.png old mode 100755 new mode 100644 index 822b99152..9229d1a7e Binary files a/public/images/emoji/win10/abcd.png and b/public/images/emoji/win10/abcd.png differ diff --git a/public/images/emoji/win10/accept.png b/public/images/emoji/win10/accept.png old mode 100755 new mode 100644 index 84b5a3569..87b1a78d0 Binary files a/public/images/emoji/win10/accept.png and b/public/images/emoji/win10/accept.png differ diff --git a/public/images/emoji/win10/admission_tickets.png b/public/images/emoji/win10/admission_tickets.png new file mode 100644 index 000000000..cd5e2c2fd Binary files /dev/null and b/public/images/emoji/win10/admission_tickets.png differ diff --git a/public/images/emoji/win10/aerial_tramway.png b/public/images/emoji/win10/aerial_tramway.png old mode 100755 new mode 100644 index f5ce7ceec..6b2ec875f Binary files a/public/images/emoji/win10/aerial_tramway.png and b/public/images/emoji/win10/aerial_tramway.png differ diff --git a/public/images/emoji/win10/airplane.png b/public/images/emoji/win10/airplane.png old mode 100755 new mode 100644 index 6cbecb69a..3f69b7a9c Binary files a/public/images/emoji/win10/airplane.png and b/public/images/emoji/win10/airplane.png differ diff --git a/public/images/emoji/win10/airplane_arriving.png b/public/images/emoji/win10/airplane_arriving.png old mode 100755 new mode 100644 index 484988479..a173766ce Binary files a/public/images/emoji/win10/airplane_arriving.png and b/public/images/emoji/win10/airplane_arriving.png differ diff --git a/public/images/emoji/win10/airplane_departure.png b/public/images/emoji/win10/airplane_departure.png old mode 100755 new mode 100644 index 7d8bf94a6..94788d7f1 Binary files a/public/images/emoji/win10/airplane_departure.png and b/public/images/emoji/win10/airplane_departure.png differ diff --git a/public/images/emoji/win10/airplane_small.png b/public/images/emoji/win10/airplane_small.png old mode 100755 new mode 100644 index 842abf714..84d017a32 Binary files a/public/images/emoji/win10/airplane_small.png and b/public/images/emoji/win10/airplane_small.png differ diff --git a/public/images/emoji/win10/alarm_clock.png b/public/images/emoji/win10/alarm_clock.png old mode 100755 new mode 100644 index d4d03b273..23f7b5291 Binary files a/public/images/emoji/win10/alarm_clock.png and b/public/images/emoji/win10/alarm_clock.png differ diff --git a/public/images/emoji/win10/alembic.png b/public/images/emoji/win10/alembic.png old mode 100755 new mode 100644 index 690d2600f..774f287f4 Binary files a/public/images/emoji/win10/alembic.png and b/public/images/emoji/win10/alembic.png differ diff --git a/public/images/emoji/win10/alien.png b/public/images/emoji/win10/alien.png old mode 100755 new mode 100644 index 54044ae25..583730f30 Binary files a/public/images/emoji/win10/alien.png and b/public/images/emoji/win10/alien.png differ diff --git a/public/images/emoji/win10/ambulance.png b/public/images/emoji/win10/ambulance.png old mode 100755 new mode 100644 index 68f6013ef..6ce8848dd Binary files a/public/images/emoji/win10/ambulance.png and b/public/images/emoji/win10/ambulance.png differ diff --git a/public/images/emoji/win10/amphora.png b/public/images/emoji/win10/amphora.png old mode 100755 new mode 100644 index ecbbebdcc..bc56d19f0 Binary files a/public/images/emoji/win10/amphora.png and b/public/images/emoji/win10/amphora.png differ diff --git a/public/images/emoji/win10/anchor.png b/public/images/emoji/win10/anchor.png old mode 100755 new mode 100644 index 554a28f7c..4bc073481 Binary files a/public/images/emoji/win10/anchor.png and b/public/images/emoji/win10/anchor.png differ diff --git a/public/images/emoji/win10/angel.png b/public/images/emoji/win10/angel.png old mode 100755 new mode 100644 index 98a2a720d..bd111841e Binary files a/public/images/emoji/win10/angel.png and b/public/images/emoji/win10/angel.png differ diff --git a/public/images/emoji/win10/anger.png b/public/images/emoji/win10/anger.png old mode 100755 new mode 100644 index 1038518b6..58d400ea0 Binary files a/public/images/emoji/win10/anger.png and b/public/images/emoji/win10/anger.png differ diff --git a/public/images/emoji/win10/anger_right.png b/public/images/emoji/win10/anger_right.png old mode 100755 new mode 100644 index 1318e0b6a..a3b7270dd Binary files a/public/images/emoji/win10/anger_right.png and b/public/images/emoji/win10/anger_right.png differ diff --git a/public/images/emoji/win10/angry.png b/public/images/emoji/win10/angry.png old mode 100755 new mode 100644 index 8fe740c35..387c1daf9 Binary files a/public/images/emoji/win10/angry.png and b/public/images/emoji/win10/angry.png differ diff --git a/public/images/emoji/win10/anguished.png b/public/images/emoji/win10/anguished.png old mode 100755 new mode 100644 index faf0f7b6d..5f9129be9 Binary files a/public/images/emoji/win10/anguished.png and b/public/images/emoji/win10/anguished.png differ diff --git a/public/images/emoji/win10/ant.png b/public/images/emoji/win10/ant.png old mode 100755 new mode 100644 index a43ee3a6b..23b0ffed5 Binary files a/public/images/emoji/win10/ant.png and b/public/images/emoji/win10/ant.png differ diff --git a/public/images/emoji/win10/apple.png b/public/images/emoji/win10/apple.png old mode 100755 new mode 100644 index 382d8d016..138a1fdcd Binary files a/public/images/emoji/win10/apple.png and b/public/images/emoji/win10/apple.png differ diff --git a/public/images/emoji/win10/aquarius.png b/public/images/emoji/win10/aquarius.png old mode 100755 new mode 100644 index 09c681d5a..cde12da33 Binary files a/public/images/emoji/win10/aquarius.png and b/public/images/emoji/win10/aquarius.png differ diff --git a/public/images/emoji/win10/archery.png b/public/images/emoji/win10/archery.png new file mode 100644 index 000000000..484c2380b Binary files /dev/null and b/public/images/emoji/win10/archery.png differ diff --git a/public/images/emoji/win10/aries.png b/public/images/emoji/win10/aries.png old mode 100755 new mode 100644 index 03da1eada..0bae150e4 Binary files a/public/images/emoji/win10/aries.png and b/public/images/emoji/win10/aries.png differ diff --git a/public/images/emoji/win10/arrow_backward.png b/public/images/emoji/win10/arrow_backward.png old mode 100755 new mode 100644 index 2de9de6a3..4becad24b Binary files a/public/images/emoji/win10/arrow_backward.png and b/public/images/emoji/win10/arrow_backward.png differ diff --git a/public/images/emoji/win10/arrow_double_down.png b/public/images/emoji/win10/arrow_double_down.png old mode 100755 new mode 100644 index e93580397..f31849373 Binary files a/public/images/emoji/win10/arrow_double_down.png and b/public/images/emoji/win10/arrow_double_down.png differ diff --git a/public/images/emoji/win10/arrow_double_up.png b/public/images/emoji/win10/arrow_double_up.png old mode 100755 new mode 100644 index 3f79ed3a8..a47f2cbb7 Binary files a/public/images/emoji/win10/arrow_double_up.png and b/public/images/emoji/win10/arrow_double_up.png differ diff --git a/public/images/emoji/win10/arrow_down.png b/public/images/emoji/win10/arrow_down.png old mode 100755 new mode 100644 index 3ddd0e9da..60486b778 Binary files a/public/images/emoji/win10/arrow_down.png and b/public/images/emoji/win10/arrow_down.png differ diff --git a/public/images/emoji/win10/arrow_down_small.png b/public/images/emoji/win10/arrow_down_small.png old mode 100755 new mode 100644 index b898ee828..ea89ee6f4 Binary files a/public/images/emoji/win10/arrow_down_small.png and b/public/images/emoji/win10/arrow_down_small.png differ diff --git a/public/images/emoji/win10/arrow_forward.png b/public/images/emoji/win10/arrow_forward.png old mode 100755 new mode 100644 index 9fd65837a..8797fa852 Binary files a/public/images/emoji/win10/arrow_forward.png and b/public/images/emoji/win10/arrow_forward.png differ diff --git a/public/images/emoji/win10/arrow_heading_down.png b/public/images/emoji/win10/arrow_heading_down.png old mode 100755 new mode 100644 index 594440d8f..d63426da9 Binary files a/public/images/emoji/win10/arrow_heading_down.png and b/public/images/emoji/win10/arrow_heading_down.png differ diff --git a/public/images/emoji/win10/arrow_heading_up.png b/public/images/emoji/win10/arrow_heading_up.png old mode 100755 new mode 100644 index f1facd7f0..228e7d3e8 Binary files a/public/images/emoji/win10/arrow_heading_up.png and b/public/images/emoji/win10/arrow_heading_up.png differ diff --git a/public/images/emoji/win10/arrow_left.png b/public/images/emoji/win10/arrow_left.png old mode 100755 new mode 100644 index 4c37664b8..7d6547be7 Binary files a/public/images/emoji/win10/arrow_left.png and b/public/images/emoji/win10/arrow_left.png differ diff --git a/public/images/emoji/win10/arrow_lower_left.png b/public/images/emoji/win10/arrow_lower_left.png old mode 100755 new mode 100644 index 9505aec17..478b3eacc Binary files a/public/images/emoji/win10/arrow_lower_left.png and b/public/images/emoji/win10/arrow_lower_left.png differ diff --git a/public/images/emoji/win10/arrow_lower_right.png b/public/images/emoji/win10/arrow_lower_right.png old mode 100755 new mode 100644 index fda7d55e5..68ac236a9 Binary files a/public/images/emoji/win10/arrow_lower_right.png and b/public/images/emoji/win10/arrow_lower_right.png differ diff --git a/public/images/emoji/win10/arrow_right.png b/public/images/emoji/win10/arrow_right.png old mode 100755 new mode 100644 index e5dc1c06b..5787b784b Binary files a/public/images/emoji/win10/arrow_right.png and b/public/images/emoji/win10/arrow_right.png differ diff --git a/public/images/emoji/win10/arrow_right_hook.png b/public/images/emoji/win10/arrow_right_hook.png old mode 100755 new mode 100644 index 96beec7d8..c384de6f4 Binary files a/public/images/emoji/win10/arrow_right_hook.png and b/public/images/emoji/win10/arrow_right_hook.png differ diff --git a/public/images/emoji/win10/arrow_up.png b/public/images/emoji/win10/arrow_up.png old mode 100755 new mode 100644 index 4acc6db8b..409b02076 Binary files a/public/images/emoji/win10/arrow_up.png and b/public/images/emoji/win10/arrow_up.png differ diff --git a/public/images/emoji/win10/arrow_up_down.png b/public/images/emoji/win10/arrow_up_down.png old mode 100755 new mode 100644 index 4983f6e61..fd1049d13 Binary files a/public/images/emoji/win10/arrow_up_down.png and b/public/images/emoji/win10/arrow_up_down.png differ diff --git a/public/images/emoji/win10/arrow_up_small.png b/public/images/emoji/win10/arrow_up_small.png old mode 100755 new mode 100644 index 35231e4f9..af3746666 Binary files a/public/images/emoji/win10/arrow_up_small.png and b/public/images/emoji/win10/arrow_up_small.png differ diff --git a/public/images/emoji/win10/arrow_upper_left.png b/public/images/emoji/win10/arrow_upper_left.png old mode 100755 new mode 100644 index e9e9dd577..bee469451 Binary files a/public/images/emoji/win10/arrow_upper_left.png and b/public/images/emoji/win10/arrow_upper_left.png differ diff --git a/public/images/emoji/win10/arrow_upper_right.png b/public/images/emoji/win10/arrow_upper_right.png old mode 100755 new mode 100644 index 1a4e052ce..077442703 Binary files a/public/images/emoji/win10/arrow_upper_right.png and b/public/images/emoji/win10/arrow_upper_right.png differ diff --git a/public/images/emoji/win10/arrows_clockwise.png b/public/images/emoji/win10/arrows_clockwise.png old mode 100755 new mode 100644 index 9189e6c34..7d18c2fa5 Binary files a/public/images/emoji/win10/arrows_clockwise.png and b/public/images/emoji/win10/arrows_clockwise.png differ diff --git a/public/images/emoji/win10/arrows_counterclockwise.png b/public/images/emoji/win10/arrows_counterclockwise.png old mode 100755 new mode 100644 index 957c2478f..ad55a0009 Binary files a/public/images/emoji/win10/arrows_counterclockwise.png and b/public/images/emoji/win10/arrows_counterclockwise.png differ diff --git a/public/images/emoji/win10/art.png b/public/images/emoji/win10/art.png old mode 100755 new mode 100644 index 4604c713b..6c3dc774e Binary files a/public/images/emoji/win10/art.png and b/public/images/emoji/win10/art.png differ diff --git a/public/images/emoji/win10/articulated_lorry.png b/public/images/emoji/win10/articulated_lorry.png old mode 100755 new mode 100644 index 469b42a57..74be32e0e Binary files a/public/images/emoji/win10/articulated_lorry.png and b/public/images/emoji/win10/articulated_lorry.png differ diff --git a/public/images/emoji/win10/astonished.png b/public/images/emoji/win10/astonished.png old mode 100755 new mode 100644 index 19f84a192..0d64a4403 Binary files a/public/images/emoji/win10/astonished.png and b/public/images/emoji/win10/astonished.png differ diff --git a/public/images/emoji/win10/athletic_shoe.png b/public/images/emoji/win10/athletic_shoe.png old mode 100755 new mode 100644 index 07a68abf8..6c60a22c3 Binary files a/public/images/emoji/win10/athletic_shoe.png and b/public/images/emoji/win10/athletic_shoe.png differ diff --git a/public/images/emoji/win10/atm.png b/public/images/emoji/win10/atm.png old mode 100755 new mode 100644 index e8e92bcd0..0536f582a Binary files a/public/images/emoji/win10/atm.png and b/public/images/emoji/win10/atm.png differ diff --git a/public/images/emoji/win10/atom.png b/public/images/emoji/win10/atom.png old mode 100755 new mode 100644 index b69867936..491164681 Binary files a/public/images/emoji/win10/atom.png and b/public/images/emoji/win10/atom.png differ diff --git a/public/images/emoji/win10/atom_symbol.png b/public/images/emoji/win10/atom_symbol.png new file mode 100644 index 000000000..491164681 Binary files /dev/null and b/public/images/emoji/win10/atom_symbol.png differ diff --git a/public/images/emoji/win10/b.png b/public/images/emoji/win10/b.png old mode 100755 new mode 100644 index 95e20d9c8..02257609c Binary files a/public/images/emoji/win10/b.png and b/public/images/emoji/win10/b.png differ diff --git a/public/images/emoji/win10/baby.png b/public/images/emoji/win10/baby.png old mode 100755 new mode 100644 index c6dc34e97..862f2133e Binary files a/public/images/emoji/win10/baby.png and b/public/images/emoji/win10/baby.png differ diff --git a/public/images/emoji/win10/baby_bottle.png b/public/images/emoji/win10/baby_bottle.png old mode 100755 new mode 100644 index 1b0033426..6d995a78b Binary files a/public/images/emoji/win10/baby_bottle.png and b/public/images/emoji/win10/baby_bottle.png differ diff --git a/public/images/emoji/win10/baby_chick.png b/public/images/emoji/win10/baby_chick.png old mode 100755 new mode 100644 index 823e8b120..053cb7c4f Binary files a/public/images/emoji/win10/baby_chick.png and b/public/images/emoji/win10/baby_chick.png differ diff --git a/public/images/emoji/win10/baby_symbol.png b/public/images/emoji/win10/baby_symbol.png old mode 100755 new mode 100644 index 30e21c94f..0250086e6 Binary files a/public/images/emoji/win10/baby_symbol.png and b/public/images/emoji/win10/baby_symbol.png differ diff --git a/public/images/emoji/win10/back.png b/public/images/emoji/win10/back.png old mode 100755 new mode 100644 index 4daf54256..373b55916 Binary files a/public/images/emoji/win10/back.png and b/public/images/emoji/win10/back.png differ diff --git a/public/images/emoji/win10/badminton.png b/public/images/emoji/win10/badminton.png old mode 100755 new mode 100644 index 953e46dd5..b09627af2 Binary files a/public/images/emoji/win10/badminton.png and b/public/images/emoji/win10/badminton.png differ diff --git a/public/images/emoji/win10/baggage_claim.png b/public/images/emoji/win10/baggage_claim.png old mode 100755 new mode 100644 index 6ab20bda3..ce5b06119 Binary files a/public/images/emoji/win10/baggage_claim.png and b/public/images/emoji/win10/baggage_claim.png differ diff --git a/public/images/emoji/win10/balloon.png b/public/images/emoji/win10/balloon.png old mode 100755 new mode 100644 index ff8cc2df7..795f78724 Binary files a/public/images/emoji/win10/balloon.png and b/public/images/emoji/win10/balloon.png differ diff --git a/public/images/emoji/win10/ballot_box.png b/public/images/emoji/win10/ballot_box.png old mode 100755 new mode 100644 index c737a5b8c..b14427f5f Binary files a/public/images/emoji/win10/ballot_box.png and b/public/images/emoji/win10/ballot_box.png differ diff --git a/public/images/emoji/win10/ballot_box_with_ballot.png b/public/images/emoji/win10/ballot_box_with_ballot.png new file mode 100644 index 000000000..b14427f5f Binary files /dev/null and b/public/images/emoji/win10/ballot_box_with_ballot.png differ diff --git a/public/images/emoji/win10/ballot_box_with_check.png b/public/images/emoji/win10/ballot_box_with_check.png old mode 100755 new mode 100644 index 0e73d7ef4..5f7d368b5 Binary files a/public/images/emoji/win10/ballot_box_with_check.png and b/public/images/emoji/win10/ballot_box_with_check.png differ diff --git a/public/images/emoji/win10/bamboo.png b/public/images/emoji/win10/bamboo.png old mode 100755 new mode 100644 index 94fe154a6..4062f9bd3 Binary files a/public/images/emoji/win10/bamboo.png and b/public/images/emoji/win10/bamboo.png differ diff --git a/public/images/emoji/win10/banana.png b/public/images/emoji/win10/banana.png old mode 100755 new mode 100644 index a3b7f1272..b0f58909b Binary files a/public/images/emoji/win10/banana.png and b/public/images/emoji/win10/banana.png differ diff --git a/public/images/emoji/win10/bangbang.png b/public/images/emoji/win10/bangbang.png old mode 100755 new mode 100644 index bf632a618..575eabefb Binary files a/public/images/emoji/win10/bangbang.png and b/public/images/emoji/win10/bangbang.png differ diff --git a/public/images/emoji/win10/bank.png b/public/images/emoji/win10/bank.png old mode 100755 new mode 100644 index d788cd41a..8b2a174df Binary files a/public/images/emoji/win10/bank.png and b/public/images/emoji/win10/bank.png differ diff --git a/public/images/emoji/win10/bar_chart.png b/public/images/emoji/win10/bar_chart.png old mode 100755 new mode 100644 index 3efd7ecf8..203e5a694 Binary files a/public/images/emoji/win10/bar_chart.png and b/public/images/emoji/win10/bar_chart.png differ diff --git a/public/images/emoji/win10/barber.png b/public/images/emoji/win10/barber.png old mode 100755 new mode 100644 index 836400fdb..1c39d2506 Binary files a/public/images/emoji/win10/barber.png and b/public/images/emoji/win10/barber.png differ diff --git a/public/images/emoji/win10/baseball.png b/public/images/emoji/win10/baseball.png old mode 100755 new mode 100644 index da0686c3a..4ca82dd49 Binary files a/public/images/emoji/win10/baseball.png and b/public/images/emoji/win10/baseball.png differ diff --git a/public/images/emoji/win10/basketball.png b/public/images/emoji/win10/basketball.png old mode 100755 new mode 100644 index 95064d2a0..a580721f6 Binary files a/public/images/emoji/win10/basketball.png and b/public/images/emoji/win10/basketball.png differ diff --git a/public/images/emoji/win10/basketball_player.png b/public/images/emoji/win10/basketball_player.png old mode 100755 new mode 100644 index 40f94bb11..e068ef633 Binary files a/public/images/emoji/win10/basketball_player.png and b/public/images/emoji/win10/basketball_player.png differ diff --git a/public/images/emoji/win10/bath.png b/public/images/emoji/win10/bath.png old mode 100755 new mode 100644 index 2cb82f5d9..158391573 Binary files a/public/images/emoji/win10/bath.png and b/public/images/emoji/win10/bath.png differ diff --git a/public/images/emoji/win10/bathtub.png b/public/images/emoji/win10/bathtub.png old mode 100755 new mode 100644 index a888d226d..a52a6f5d1 Binary files a/public/images/emoji/win10/bathtub.png and b/public/images/emoji/win10/bathtub.png differ diff --git a/public/images/emoji/win10/battery.png b/public/images/emoji/win10/battery.png old mode 100755 new mode 100644 index eb0df6645..8c3d59827 Binary files a/public/images/emoji/win10/battery.png and b/public/images/emoji/win10/battery.png differ diff --git a/public/images/emoji/win10/beach.png b/public/images/emoji/win10/beach.png old mode 100755 new mode 100644 index 5d3f39575..249b41af2 Binary files a/public/images/emoji/win10/beach.png and b/public/images/emoji/win10/beach.png differ diff --git a/public/images/emoji/win10/beach_umbrella.png b/public/images/emoji/win10/beach_umbrella.png old mode 100755 new mode 100644 index ab234a367..a3a45c349 Binary files a/public/images/emoji/win10/beach_umbrella.png and b/public/images/emoji/win10/beach_umbrella.png differ diff --git a/public/images/emoji/win10/beach_with_umbrella.png b/public/images/emoji/win10/beach_with_umbrella.png new file mode 100644 index 000000000..249b41af2 Binary files /dev/null and b/public/images/emoji/win10/beach_with_umbrella.png differ diff --git a/public/images/emoji/win10/bear.png b/public/images/emoji/win10/bear.png old mode 100755 new mode 100644 index 472bfa426..1e569588c Binary files a/public/images/emoji/win10/bear.png and b/public/images/emoji/win10/bear.png differ diff --git a/public/images/emoji/win10/bed.png b/public/images/emoji/win10/bed.png old mode 100755 new mode 100644 index 39f65b20a..13b316b8c Binary files a/public/images/emoji/win10/bed.png and b/public/images/emoji/win10/bed.png differ diff --git a/public/images/emoji/win10/bee.png b/public/images/emoji/win10/bee.png old mode 100755 new mode 100644 index 71e4b45c0..6b0878011 Binary files a/public/images/emoji/win10/bee.png and b/public/images/emoji/win10/bee.png differ diff --git a/public/images/emoji/win10/beer.png b/public/images/emoji/win10/beer.png old mode 100755 new mode 100644 index ee34f91f2..364d46864 Binary files a/public/images/emoji/win10/beer.png and b/public/images/emoji/win10/beer.png differ diff --git a/public/images/emoji/win10/beers.png b/public/images/emoji/win10/beers.png old mode 100755 new mode 100644 index 486de5ddb..42d8caaa2 Binary files a/public/images/emoji/win10/beers.png and b/public/images/emoji/win10/beers.png differ diff --git a/public/images/emoji/win10/beetle.png b/public/images/emoji/win10/beetle.png old mode 100755 new mode 100644 index 7ff826cd2..5ef256e9b Binary files a/public/images/emoji/win10/beetle.png and b/public/images/emoji/win10/beetle.png differ diff --git a/public/images/emoji/win10/beginner.png b/public/images/emoji/win10/beginner.png old mode 100755 new mode 100644 index c7b6f376c..3581b290e Binary files a/public/images/emoji/win10/beginner.png and b/public/images/emoji/win10/beginner.png differ diff --git a/public/images/emoji/win10/bell.png b/public/images/emoji/win10/bell.png old mode 100755 new mode 100644 index 345d5496a..d07b6a9c1 Binary files a/public/images/emoji/win10/bell.png and b/public/images/emoji/win10/bell.png differ diff --git a/public/images/emoji/win10/bellhop.png b/public/images/emoji/win10/bellhop.png old mode 100755 new mode 100644 index 063fb4e17..a5294a599 Binary files a/public/images/emoji/win10/bellhop.png and b/public/images/emoji/win10/bellhop.png differ diff --git a/public/images/emoji/win10/bellhop_bell.png b/public/images/emoji/win10/bellhop_bell.png new file mode 100644 index 000000000..a5294a599 Binary files /dev/null and b/public/images/emoji/win10/bellhop_bell.png differ diff --git a/public/images/emoji/win10/bento.png b/public/images/emoji/win10/bento.png old mode 100755 new mode 100644 index af4c13c0c..ea9ec6375 Binary files a/public/images/emoji/win10/bento.png and b/public/images/emoji/win10/bento.png differ diff --git a/public/images/emoji/win10/bicyclist.png b/public/images/emoji/win10/bicyclist.png old mode 100755 new mode 100644 index 8bc3e1079..f4be93aae Binary files a/public/images/emoji/win10/bicyclist.png and b/public/images/emoji/win10/bicyclist.png differ diff --git a/public/images/emoji/win10/bike.png b/public/images/emoji/win10/bike.png old mode 100755 new mode 100644 index 39d10f39e..fff01300a Binary files a/public/images/emoji/win10/bike.png and b/public/images/emoji/win10/bike.png differ diff --git a/public/images/emoji/win10/bikini.png b/public/images/emoji/win10/bikini.png old mode 100755 new mode 100644 index f601c153e..4b3be85c8 Binary files a/public/images/emoji/win10/bikini.png and b/public/images/emoji/win10/bikini.png differ diff --git a/public/images/emoji/win10/biohazard.png b/public/images/emoji/win10/biohazard.png old mode 100755 new mode 100644 index b4c466797..ecf06c71f Binary files a/public/images/emoji/win10/biohazard.png and b/public/images/emoji/win10/biohazard.png differ diff --git a/public/images/emoji/win10/biohazard_sign.png b/public/images/emoji/win10/biohazard_sign.png new file mode 100644 index 000000000..ecf06c71f Binary files /dev/null and b/public/images/emoji/win10/biohazard_sign.png differ diff --git a/public/images/emoji/win10/bird.png b/public/images/emoji/win10/bird.png old mode 100755 new mode 100644 index dc397d3eb..aa0845ca5 Binary files a/public/images/emoji/win10/bird.png and b/public/images/emoji/win10/bird.png differ diff --git a/public/images/emoji/win10/birthday.png b/public/images/emoji/win10/birthday.png old mode 100755 new mode 100644 index 3795fc28f..1c2e3ded6 Binary files a/public/images/emoji/win10/birthday.png and b/public/images/emoji/win10/birthday.png differ diff --git a/public/images/emoji/win10/black_circle.png b/public/images/emoji/win10/black_circle.png old mode 100755 new mode 100644 index ff3fca500..ffcfded20 Binary files a/public/images/emoji/win10/black_circle.png and b/public/images/emoji/win10/black_circle.png differ diff --git a/public/images/emoji/win10/black_joker.png b/public/images/emoji/win10/black_joker.png old mode 100755 new mode 100644 index 59bdfc2b1..226bd26d2 Binary files a/public/images/emoji/win10/black_joker.png and b/public/images/emoji/win10/black_joker.png differ diff --git a/public/images/emoji/win10/black_large_square.png b/public/images/emoji/win10/black_large_square.png old mode 100755 new mode 100644 index 4fb7d6a53..055909e58 Binary files a/public/images/emoji/win10/black_large_square.png and b/public/images/emoji/win10/black_large_square.png differ diff --git a/public/images/emoji/win10/black_medium_small_square.png b/public/images/emoji/win10/black_medium_small_square.png old mode 100755 new mode 100644 index 53e4a6194..d199cbadc Binary files a/public/images/emoji/win10/black_medium_small_square.png and b/public/images/emoji/win10/black_medium_small_square.png differ diff --git a/public/images/emoji/win10/black_medium_square.png b/public/images/emoji/win10/black_medium_square.png old mode 100755 new mode 100644 index 077c10cf0..b732c654c Binary files a/public/images/emoji/win10/black_medium_square.png and b/public/images/emoji/win10/black_medium_square.png differ diff --git a/public/images/emoji/win10/black_nib.png b/public/images/emoji/win10/black_nib.png old mode 100755 new mode 100644 index 666519a8e..7eaa6942c Binary files a/public/images/emoji/win10/black_nib.png and b/public/images/emoji/win10/black_nib.png differ diff --git a/public/images/emoji/win10/black_small_square.png b/public/images/emoji/win10/black_small_square.png old mode 100755 new mode 100644 index 69a950187..0457cb4f3 Binary files a/public/images/emoji/win10/black_small_square.png and b/public/images/emoji/win10/black_small_square.png differ diff --git a/public/images/emoji/win10/black_square_button.png b/public/images/emoji/win10/black_square_button.png old mode 100755 new mode 100644 index ce54bfaf8..bce245647 Binary files a/public/images/emoji/win10/black_square_button.png and b/public/images/emoji/win10/black_square_button.png differ diff --git a/public/images/emoji/win10/blossom.png b/public/images/emoji/win10/blossom.png old mode 100755 new mode 100644 index 3e2890b4d..fcb03b974 Binary files a/public/images/emoji/win10/blossom.png and b/public/images/emoji/win10/blossom.png differ diff --git a/public/images/emoji/win10/blowfish.png b/public/images/emoji/win10/blowfish.png old mode 100755 new mode 100644 index cc243e23a..d91828630 Binary files a/public/images/emoji/win10/blowfish.png and b/public/images/emoji/win10/blowfish.png differ diff --git a/public/images/emoji/win10/blue_book.png b/public/images/emoji/win10/blue_book.png old mode 100755 new mode 100644 index e2995bc20..836ebdf69 Binary files a/public/images/emoji/win10/blue_book.png and b/public/images/emoji/win10/blue_book.png differ diff --git a/public/images/emoji/win10/blue_car.png b/public/images/emoji/win10/blue_car.png old mode 100755 new mode 100644 index 7dd3e1cd1..d94e6bda9 Binary files a/public/images/emoji/win10/blue_car.png and b/public/images/emoji/win10/blue_car.png differ diff --git a/public/images/emoji/win10/blue_heart.png b/public/images/emoji/win10/blue_heart.png old mode 100755 new mode 100644 index 904aa9697..8e44b984b Binary files a/public/images/emoji/win10/blue_heart.png and b/public/images/emoji/win10/blue_heart.png differ diff --git a/public/images/emoji/win10/blush.png b/public/images/emoji/win10/blush.png old mode 100755 new mode 100644 index c29824ca6..6cd9cc09e Binary files a/public/images/emoji/win10/blush.png and b/public/images/emoji/win10/blush.png differ diff --git a/public/images/emoji/win10/boar.png b/public/images/emoji/win10/boar.png old mode 100755 new mode 100644 index fdf726003..5331d4f92 Binary files a/public/images/emoji/win10/boar.png and b/public/images/emoji/win10/boar.png differ diff --git a/public/images/emoji/win10/bomb.png b/public/images/emoji/win10/bomb.png old mode 100755 new mode 100644 index e6b9f3c00..293e32c32 Binary files a/public/images/emoji/win10/bomb.png and b/public/images/emoji/win10/bomb.png differ diff --git a/public/images/emoji/win10/book.png b/public/images/emoji/win10/book.png old mode 100755 new mode 100644 index 23bcca22b..63bf1ca85 Binary files a/public/images/emoji/win10/book.png and b/public/images/emoji/win10/book.png differ diff --git a/public/images/emoji/win10/bookmark.png b/public/images/emoji/win10/bookmark.png old mode 100755 new mode 100644 index d6c3108c5..9fbfe56d9 Binary files a/public/images/emoji/win10/bookmark.png and b/public/images/emoji/win10/bookmark.png differ diff --git a/public/images/emoji/win10/bookmark_tabs.png b/public/images/emoji/win10/bookmark_tabs.png old mode 100755 new mode 100644 index 7d35cb3f2..32b5a4ebc Binary files a/public/images/emoji/win10/bookmark_tabs.png and b/public/images/emoji/win10/bookmark_tabs.png differ diff --git a/public/images/emoji/win10/books.png b/public/images/emoji/win10/books.png old mode 100755 new mode 100644 index 680b114a7..1250ff87f Binary files a/public/images/emoji/win10/books.png and b/public/images/emoji/win10/books.png differ diff --git a/public/images/emoji/win10/boom.png b/public/images/emoji/win10/boom.png old mode 100755 new mode 100644 index 9014a8f80..17ffcdd64 Binary files a/public/images/emoji/win10/boom.png and b/public/images/emoji/win10/boom.png differ diff --git a/public/images/emoji/win10/boot.png b/public/images/emoji/win10/boot.png old mode 100755 new mode 100644 index 28d0eac24..45468bbe9 Binary files a/public/images/emoji/win10/boot.png and b/public/images/emoji/win10/boot.png differ diff --git a/public/images/emoji/win10/bottle_with_popping_cork.png b/public/images/emoji/win10/bottle_with_popping_cork.png new file mode 100644 index 000000000..9863b08a5 Binary files /dev/null and b/public/images/emoji/win10/bottle_with_popping_cork.png differ diff --git a/public/images/emoji/win10/bouquet.png b/public/images/emoji/win10/bouquet.png old mode 100755 new mode 100644 index 9d140d015..856d9d520 Binary files a/public/images/emoji/win10/bouquet.png and b/public/images/emoji/win10/bouquet.png differ diff --git a/public/images/emoji/win10/bow.png b/public/images/emoji/win10/bow.png old mode 100755 new mode 100644 index db33ec161..24a73f18a Binary files a/public/images/emoji/win10/bow.png and b/public/images/emoji/win10/bow.png differ diff --git a/public/images/emoji/win10/bow_and_arrow.png b/public/images/emoji/win10/bow_and_arrow.png old mode 100755 new mode 100644 index 0443cb568..484c2380b Binary files a/public/images/emoji/win10/bow_and_arrow.png and b/public/images/emoji/win10/bow_and_arrow.png differ diff --git a/public/images/emoji/win10/bowling.png b/public/images/emoji/win10/bowling.png old mode 100755 new mode 100644 index 769cfef2f..7233bd799 Binary files a/public/images/emoji/win10/bowling.png and b/public/images/emoji/win10/bowling.png differ diff --git a/public/images/emoji/win10/boy.png b/public/images/emoji/win10/boy.png old mode 100755 new mode 100644 index efb96d46d..7f048fe27 Binary files a/public/images/emoji/win10/boy.png and b/public/images/emoji/win10/boy.png differ diff --git a/public/images/emoji/win10/bread.png b/public/images/emoji/win10/bread.png old mode 100755 new mode 100644 index 597347567..3c23a0507 Binary files a/public/images/emoji/win10/bread.png and b/public/images/emoji/win10/bread.png differ diff --git a/public/images/emoji/win10/bride_with_veil.png b/public/images/emoji/win10/bride_with_veil.png old mode 100755 new mode 100644 index f5d59944a..42c3d5473 Binary files a/public/images/emoji/win10/bride_with_veil.png and b/public/images/emoji/win10/bride_with_veil.png differ diff --git a/public/images/emoji/win10/bridge_at_night.png b/public/images/emoji/win10/bridge_at_night.png old mode 100755 new mode 100644 index 6e68a0538..2c9484e29 Binary files a/public/images/emoji/win10/bridge_at_night.png and b/public/images/emoji/win10/bridge_at_night.png differ diff --git a/public/images/emoji/win10/briefcase.png b/public/images/emoji/win10/briefcase.png old mode 100755 new mode 100644 index fd0a7c34a..0a4a8dc13 Binary files a/public/images/emoji/win10/briefcase.png and b/public/images/emoji/win10/briefcase.png differ diff --git a/public/images/emoji/win10/broken_heart.png b/public/images/emoji/win10/broken_heart.png old mode 100755 new mode 100644 index 074374b1a..d7f4f05dc Binary files a/public/images/emoji/win10/broken_heart.png and b/public/images/emoji/win10/broken_heart.png differ diff --git a/public/images/emoji/win10/bug.png b/public/images/emoji/win10/bug.png old mode 100755 new mode 100644 index f55a87d35..e04f5dc7f Binary files a/public/images/emoji/win10/bug.png and b/public/images/emoji/win10/bug.png differ diff --git a/public/images/emoji/win10/building_construction.png b/public/images/emoji/win10/building_construction.png new file mode 100644 index 000000000..62f33f8ae Binary files /dev/null and b/public/images/emoji/win10/building_construction.png differ diff --git a/public/images/emoji/win10/bulb.png b/public/images/emoji/win10/bulb.png old mode 100755 new mode 100644 index 754e582a4..27a50d089 Binary files a/public/images/emoji/win10/bulb.png and b/public/images/emoji/win10/bulb.png differ diff --git a/public/images/emoji/win10/bullettrain_front.png b/public/images/emoji/win10/bullettrain_front.png old mode 100755 new mode 100644 index f7f2c7b2e..017e2ae82 Binary files a/public/images/emoji/win10/bullettrain_front.png and b/public/images/emoji/win10/bullettrain_front.png differ diff --git a/public/images/emoji/win10/bullettrain_side.png b/public/images/emoji/win10/bullettrain_side.png old mode 100755 new mode 100644 index d98fa1cc9..6bd08a9cb Binary files a/public/images/emoji/win10/bullettrain_side.png and b/public/images/emoji/win10/bullettrain_side.png differ diff --git a/public/images/emoji/win10/burrito.png b/public/images/emoji/win10/burrito.png old mode 100755 new mode 100644 index 19dc5b302..3e9d70115 Binary files a/public/images/emoji/win10/burrito.png and b/public/images/emoji/win10/burrito.png differ diff --git a/public/images/emoji/win10/bus.png b/public/images/emoji/win10/bus.png old mode 100755 new mode 100644 index efbbf5660..cacbb692f Binary files a/public/images/emoji/win10/bus.png and b/public/images/emoji/win10/bus.png differ diff --git a/public/images/emoji/win10/busstop.png b/public/images/emoji/win10/busstop.png old mode 100755 new mode 100644 index d9f672bad..08bbc11de Binary files a/public/images/emoji/win10/busstop.png and b/public/images/emoji/win10/busstop.png differ diff --git a/public/images/emoji/win10/bust_in_silhouette.png b/public/images/emoji/win10/bust_in_silhouette.png old mode 100755 new mode 100644 index 48fd7a09a..f131a407d Binary files a/public/images/emoji/win10/bust_in_silhouette.png and b/public/images/emoji/win10/bust_in_silhouette.png differ diff --git a/public/images/emoji/win10/busts_in_silhouette.png b/public/images/emoji/win10/busts_in_silhouette.png old mode 100755 new mode 100644 index 733a210fd..d04962bc1 Binary files a/public/images/emoji/win10/busts_in_silhouette.png and b/public/images/emoji/win10/busts_in_silhouette.png differ diff --git a/public/images/emoji/win10/cactus.png b/public/images/emoji/win10/cactus.png old mode 100755 new mode 100644 index 7d1574b2e..8fb81bc45 Binary files a/public/images/emoji/win10/cactus.png and b/public/images/emoji/win10/cactus.png differ diff --git a/public/images/emoji/win10/cake.png b/public/images/emoji/win10/cake.png old mode 100755 new mode 100644 index c49cdb509..dbf6d70d6 Binary files a/public/images/emoji/win10/cake.png and b/public/images/emoji/win10/cake.png differ diff --git a/public/images/emoji/win10/calendar.png b/public/images/emoji/win10/calendar.png old mode 100755 new mode 100644 index df86df0d9..a6ccecc8b Binary files a/public/images/emoji/win10/calendar.png and b/public/images/emoji/win10/calendar.png differ diff --git a/public/images/emoji/win10/calendar_spiral.png b/public/images/emoji/win10/calendar_spiral.png old mode 100755 new mode 100644 index 019cd2cd6..9e3b1e146 Binary files a/public/images/emoji/win10/calendar_spiral.png and b/public/images/emoji/win10/calendar_spiral.png differ diff --git a/public/images/emoji/win10/calling.png b/public/images/emoji/win10/calling.png old mode 100755 new mode 100644 index b9a13b531..eabf4882d Binary files a/public/images/emoji/win10/calling.png and b/public/images/emoji/win10/calling.png differ diff --git a/public/images/emoji/win10/camel.png b/public/images/emoji/win10/camel.png old mode 100755 new mode 100644 index fde1ceade..235915847 Binary files a/public/images/emoji/win10/camel.png and b/public/images/emoji/win10/camel.png differ diff --git a/public/images/emoji/win10/camera.png b/public/images/emoji/win10/camera.png old mode 100755 new mode 100644 index be301225c..11230fe64 Binary files a/public/images/emoji/win10/camera.png and b/public/images/emoji/win10/camera.png differ diff --git a/public/images/emoji/win10/camera_with_flash.png b/public/images/emoji/win10/camera_with_flash.png old mode 100755 new mode 100644 index 1bb1fabb3..8dccd471b Binary files a/public/images/emoji/win10/camera_with_flash.png and b/public/images/emoji/win10/camera_with_flash.png differ diff --git a/public/images/emoji/win10/camping.png b/public/images/emoji/win10/camping.png old mode 100755 new mode 100644 index f25af3267..019b6f00d Binary files a/public/images/emoji/win10/camping.png and b/public/images/emoji/win10/camping.png differ diff --git a/public/images/emoji/win10/cancer.png b/public/images/emoji/win10/cancer.png old mode 100755 new mode 100644 index 1d51fb04b..9f12f18cd Binary files a/public/images/emoji/win10/cancer.png and b/public/images/emoji/win10/cancer.png differ diff --git a/public/images/emoji/win10/candle.png b/public/images/emoji/win10/candle.png old mode 100755 new mode 100644 index 9fce84c0c..d3e725c1e Binary files a/public/images/emoji/win10/candle.png and b/public/images/emoji/win10/candle.png differ diff --git a/public/images/emoji/win10/candy.png b/public/images/emoji/win10/candy.png old mode 100755 new mode 100644 index 3f63934e3..383d7e6be Binary files a/public/images/emoji/win10/candy.png and b/public/images/emoji/win10/candy.png differ diff --git a/public/images/emoji/win10/capital_abcd.png b/public/images/emoji/win10/capital_abcd.png old mode 100755 new mode 100644 index 740920924..53e29fbf5 Binary files a/public/images/emoji/win10/capital_abcd.png and b/public/images/emoji/win10/capital_abcd.png differ diff --git a/public/images/emoji/win10/capricorn.png b/public/images/emoji/win10/capricorn.png old mode 100755 new mode 100644 index 0f42ace63..4ccfabf3e Binary files a/public/images/emoji/win10/capricorn.png and b/public/images/emoji/win10/capricorn.png differ diff --git a/public/images/emoji/win10/card_box.png b/public/images/emoji/win10/card_box.png old mode 100755 new mode 100644 index a9081d41b..6c7f0044a Binary files a/public/images/emoji/win10/card_box.png and b/public/images/emoji/win10/card_box.png differ diff --git a/public/images/emoji/win10/card_file_box.png b/public/images/emoji/win10/card_file_box.png new file mode 100644 index 000000000..6c7f0044a Binary files /dev/null and b/public/images/emoji/win10/card_file_box.png differ diff --git a/public/images/emoji/win10/card_index.png b/public/images/emoji/win10/card_index.png old mode 100755 new mode 100644 index e95e45c22..779b63ec5 Binary files a/public/images/emoji/win10/card_index.png and b/public/images/emoji/win10/card_index.png differ diff --git a/public/images/emoji/win10/card_index_dividers.png b/public/images/emoji/win10/card_index_dividers.png new file mode 100644 index 000000000..71e9f794b Binary files /dev/null and b/public/images/emoji/win10/card_index_dividers.png differ diff --git a/public/images/emoji/win10/carousel_horse.png b/public/images/emoji/win10/carousel_horse.png old mode 100755 new mode 100644 index 53b7bd2d0..9b68ee76a Binary files a/public/images/emoji/win10/carousel_horse.png and b/public/images/emoji/win10/carousel_horse.png differ diff --git a/public/images/emoji/win10/cat.png b/public/images/emoji/win10/cat.png old mode 100755 new mode 100644 index 352c9f8af..078ddd712 Binary files a/public/images/emoji/win10/cat.png and b/public/images/emoji/win10/cat.png differ diff --git a/public/images/emoji/win10/cat2.png b/public/images/emoji/win10/cat2.png old mode 100755 new mode 100644 index 0372c8b4c..77e5c7fdb Binary files a/public/images/emoji/win10/cat2.png and b/public/images/emoji/win10/cat2.png differ diff --git a/public/images/emoji/win10/cd.png b/public/images/emoji/win10/cd.png old mode 100755 new mode 100644 index 67ffec152..ded03904b Binary files a/public/images/emoji/win10/cd.png and b/public/images/emoji/win10/cd.png differ diff --git a/public/images/emoji/win10/chains.png b/public/images/emoji/win10/chains.png old mode 100755 new mode 100644 index 38f1e1091..a950d6bef Binary files a/public/images/emoji/win10/chains.png and b/public/images/emoji/win10/chains.png differ diff --git a/public/images/emoji/win10/champagne.png b/public/images/emoji/win10/champagne.png old mode 100755 new mode 100644 index 1e40ba18d..9863b08a5 Binary files a/public/images/emoji/win10/champagne.png and b/public/images/emoji/win10/champagne.png differ diff --git a/public/images/emoji/win10/chart.png b/public/images/emoji/win10/chart.png old mode 100755 new mode 100644 index ed7ec9345..774caea06 Binary files a/public/images/emoji/win10/chart.png and b/public/images/emoji/win10/chart.png differ diff --git a/public/images/emoji/win10/chart_with_downwards_trend.png b/public/images/emoji/win10/chart_with_downwards_trend.png old mode 100755 new mode 100644 index 1034166a1..cf1474ce5 Binary files a/public/images/emoji/win10/chart_with_downwards_trend.png and b/public/images/emoji/win10/chart_with_downwards_trend.png differ diff --git a/public/images/emoji/win10/chart_with_upwards_trend.png b/public/images/emoji/win10/chart_with_upwards_trend.png old mode 100755 new mode 100644 index 12d31c9a3..d1706b206 Binary files a/public/images/emoji/win10/chart_with_upwards_trend.png and b/public/images/emoji/win10/chart_with_upwards_trend.png differ diff --git a/public/images/emoji/win10/checkered_flag.png b/public/images/emoji/win10/checkered_flag.png old mode 100755 new mode 100644 index 616836124..9617f62cf Binary files a/public/images/emoji/win10/checkered_flag.png and b/public/images/emoji/win10/checkered_flag.png differ diff --git a/public/images/emoji/win10/cheese.png b/public/images/emoji/win10/cheese.png old mode 100755 new mode 100644 index e92f31f2f..4373cb967 Binary files a/public/images/emoji/win10/cheese.png and b/public/images/emoji/win10/cheese.png differ diff --git a/public/images/emoji/win10/cheese_wedge.png b/public/images/emoji/win10/cheese_wedge.png new file mode 100644 index 000000000..4373cb967 Binary files /dev/null and b/public/images/emoji/win10/cheese_wedge.png differ diff --git a/public/images/emoji/win10/cherries.png b/public/images/emoji/win10/cherries.png old mode 100755 new mode 100644 index 2d1335b6a..c4001505a Binary files a/public/images/emoji/win10/cherries.png and b/public/images/emoji/win10/cherries.png differ diff --git a/public/images/emoji/win10/cherry_blossom.png b/public/images/emoji/win10/cherry_blossom.png old mode 100755 new mode 100644 index dbd81b7ca..809d299f0 Binary files a/public/images/emoji/win10/cherry_blossom.png and b/public/images/emoji/win10/cherry_blossom.png differ diff --git a/public/images/emoji/win10/chestnut.png b/public/images/emoji/win10/chestnut.png old mode 100755 new mode 100644 index c6b6256ff..57c68b5f6 Binary files a/public/images/emoji/win10/chestnut.png and b/public/images/emoji/win10/chestnut.png differ diff --git a/public/images/emoji/win10/chicken.png b/public/images/emoji/win10/chicken.png old mode 100755 new mode 100644 index 899375a59..eeea5fd4d Binary files a/public/images/emoji/win10/chicken.png and b/public/images/emoji/win10/chicken.png differ diff --git a/public/images/emoji/win10/children_crossing.png b/public/images/emoji/win10/children_crossing.png old mode 100755 new mode 100644 index 2bb666a1d..cadc92b1b Binary files a/public/images/emoji/win10/children_crossing.png and b/public/images/emoji/win10/children_crossing.png differ diff --git a/public/images/emoji/win10/chipmunk.png b/public/images/emoji/win10/chipmunk.png old mode 100755 new mode 100644 index 669073583..1c8a21b6c Binary files a/public/images/emoji/win10/chipmunk.png and b/public/images/emoji/win10/chipmunk.png differ diff --git a/public/images/emoji/win10/chocolate_bar.png b/public/images/emoji/win10/chocolate_bar.png old mode 100755 new mode 100644 index 3a03d15cd..92f655d42 Binary files a/public/images/emoji/win10/chocolate_bar.png and b/public/images/emoji/win10/chocolate_bar.png differ diff --git a/public/images/emoji/win10/christmas_tree.png b/public/images/emoji/win10/christmas_tree.png old mode 100755 new mode 100644 index 2db0b64e3..0df120718 Binary files a/public/images/emoji/win10/christmas_tree.png and b/public/images/emoji/win10/christmas_tree.png differ diff --git a/public/images/emoji/win10/church.png b/public/images/emoji/win10/church.png old mode 100755 new mode 100644 index e2c1a2904..aa0ef9126 Binary files a/public/images/emoji/win10/church.png and b/public/images/emoji/win10/church.png differ diff --git a/public/images/emoji/win10/cinema.png b/public/images/emoji/win10/cinema.png old mode 100755 new mode 100644 index b29a1a23c..cba90ade5 Binary files a/public/images/emoji/win10/cinema.png and b/public/images/emoji/win10/cinema.png differ diff --git a/public/images/emoji/win10/circus_tent.png b/public/images/emoji/win10/circus_tent.png old mode 100755 new mode 100644 index e6d71522f..140a83012 Binary files a/public/images/emoji/win10/circus_tent.png and b/public/images/emoji/win10/circus_tent.png differ diff --git a/public/images/emoji/win10/city_dusk.png b/public/images/emoji/win10/city_dusk.png old mode 100755 new mode 100644 index d5975b863..13a0c99fd Binary files a/public/images/emoji/win10/city_dusk.png and b/public/images/emoji/win10/city_dusk.png differ diff --git a/public/images/emoji/win10/city_sunrise.png b/public/images/emoji/win10/city_sunrise.png new file mode 100644 index 000000000..5875e1550 Binary files /dev/null and b/public/images/emoji/win10/city_sunrise.png differ diff --git a/public/images/emoji/win10/city_sunset.png b/public/images/emoji/win10/city_sunset.png old mode 100755 new mode 100644 index 68e4f6ff4..5875e1550 Binary files a/public/images/emoji/win10/city_sunset.png and b/public/images/emoji/win10/city_sunset.png differ diff --git a/public/images/emoji/win10/cityscape.png b/public/images/emoji/win10/cityscape.png old mode 100755 new mode 100644 index 6de305366..780e8ac22 Binary files a/public/images/emoji/win10/cityscape.png and b/public/images/emoji/win10/cityscape.png differ diff --git a/public/images/emoji/win10/cl.png b/public/images/emoji/win10/cl.png old mode 100755 new mode 100644 index a48c84162..cb609757e Binary files a/public/images/emoji/win10/cl.png and b/public/images/emoji/win10/cl.png differ diff --git a/public/images/emoji/win10/clap.png b/public/images/emoji/win10/clap.png old mode 100755 new mode 100644 index 3d48adbb3..9e2aae952 Binary files a/public/images/emoji/win10/clap.png and b/public/images/emoji/win10/clap.png differ diff --git a/public/images/emoji/win10/clapper.png b/public/images/emoji/win10/clapper.png old mode 100755 new mode 100644 index 2f3eca895..304ffe968 Binary files a/public/images/emoji/win10/clapper.png and b/public/images/emoji/win10/clapper.png differ diff --git a/public/images/emoji/win10/classical_building.png b/public/images/emoji/win10/classical_building.png old mode 100755 new mode 100644 index 460d2e62d..dde5669f7 Binary files a/public/images/emoji/win10/classical_building.png and b/public/images/emoji/win10/classical_building.png differ diff --git a/public/images/emoji/win10/clipboard.png b/public/images/emoji/win10/clipboard.png old mode 100755 new mode 100644 index 5269f8bce..1f45f2777 Binary files a/public/images/emoji/win10/clipboard.png and b/public/images/emoji/win10/clipboard.png differ diff --git a/public/images/emoji/win10/clock.png b/public/images/emoji/win10/clock.png old mode 100755 new mode 100644 index 5f3d4a309..8ff542932 Binary files a/public/images/emoji/win10/clock.png and b/public/images/emoji/win10/clock.png differ diff --git a/public/images/emoji/win10/clock1.png b/public/images/emoji/win10/clock1.png old mode 100755 new mode 100644 index dee456bc2..90c027274 Binary files a/public/images/emoji/win10/clock1.png and b/public/images/emoji/win10/clock1.png differ diff --git a/public/images/emoji/win10/clock10.png b/public/images/emoji/win10/clock10.png old mode 100755 new mode 100644 index c6e7afe4e..72ed646bc Binary files a/public/images/emoji/win10/clock10.png and b/public/images/emoji/win10/clock10.png differ diff --git a/public/images/emoji/win10/clock1030.png b/public/images/emoji/win10/clock1030.png old mode 100755 new mode 100644 index cdfefdcd4..10e3c13c5 Binary files a/public/images/emoji/win10/clock1030.png and b/public/images/emoji/win10/clock1030.png differ diff --git a/public/images/emoji/win10/clock11.png b/public/images/emoji/win10/clock11.png old mode 100755 new mode 100644 index 0ea4ac873..418c3ad2b Binary files a/public/images/emoji/win10/clock11.png and b/public/images/emoji/win10/clock11.png differ diff --git a/public/images/emoji/win10/clock1130.png b/public/images/emoji/win10/clock1130.png old mode 100755 new mode 100644 index f0d01225d..706c80d28 Binary files a/public/images/emoji/win10/clock1130.png and b/public/images/emoji/win10/clock1130.png differ diff --git a/public/images/emoji/win10/clock12.png b/public/images/emoji/win10/clock12.png old mode 100755 new mode 100644 index 6e0cc5b99..6e282d267 Binary files a/public/images/emoji/win10/clock12.png and b/public/images/emoji/win10/clock12.png differ diff --git a/public/images/emoji/win10/clock1230.png b/public/images/emoji/win10/clock1230.png old mode 100755 new mode 100644 index ef8dcea31..b88eb219f Binary files a/public/images/emoji/win10/clock1230.png and b/public/images/emoji/win10/clock1230.png differ diff --git a/public/images/emoji/win10/clock130.png b/public/images/emoji/win10/clock130.png old mode 100755 new mode 100644 index 7531ff49a..7dc0af75c Binary files a/public/images/emoji/win10/clock130.png and b/public/images/emoji/win10/clock130.png differ diff --git a/public/images/emoji/win10/clock2.png b/public/images/emoji/win10/clock2.png old mode 100755 new mode 100644 index d5bd922e2..40c1fd907 Binary files a/public/images/emoji/win10/clock2.png and b/public/images/emoji/win10/clock2.png differ diff --git a/public/images/emoji/win10/clock230.png b/public/images/emoji/win10/clock230.png old mode 100755 new mode 100644 index 359716c6e..79e2badfb Binary files a/public/images/emoji/win10/clock230.png and b/public/images/emoji/win10/clock230.png differ diff --git a/public/images/emoji/win10/clock3.png b/public/images/emoji/win10/clock3.png old mode 100755 new mode 100644 index 3e3c65b42..8bb6dce43 Binary files a/public/images/emoji/win10/clock3.png and b/public/images/emoji/win10/clock3.png differ diff --git a/public/images/emoji/win10/clock330.png b/public/images/emoji/win10/clock330.png old mode 100755 new mode 100644 index 3c3f03a34..716fe2fa2 Binary files a/public/images/emoji/win10/clock330.png and b/public/images/emoji/win10/clock330.png differ diff --git a/public/images/emoji/win10/clock4.png b/public/images/emoji/win10/clock4.png old mode 100755 new mode 100644 index 7f0fe5a57..f59cc9e2c Binary files a/public/images/emoji/win10/clock4.png and b/public/images/emoji/win10/clock4.png differ diff --git a/public/images/emoji/win10/clock430.png b/public/images/emoji/win10/clock430.png old mode 100755 new mode 100644 index 1037062a6..82d438880 Binary files a/public/images/emoji/win10/clock430.png and b/public/images/emoji/win10/clock430.png differ diff --git a/public/images/emoji/win10/clock5.png b/public/images/emoji/win10/clock5.png old mode 100755 new mode 100644 index fbb206965..785ef3051 Binary files a/public/images/emoji/win10/clock5.png and b/public/images/emoji/win10/clock5.png differ diff --git a/public/images/emoji/win10/clock530.png b/public/images/emoji/win10/clock530.png old mode 100755 new mode 100644 index e255acc80..cbea4e809 Binary files a/public/images/emoji/win10/clock530.png and b/public/images/emoji/win10/clock530.png differ diff --git a/public/images/emoji/win10/clock6.png b/public/images/emoji/win10/clock6.png old mode 100755 new mode 100644 index 2532f920e..a1316c586 Binary files a/public/images/emoji/win10/clock6.png and b/public/images/emoji/win10/clock6.png differ diff --git a/public/images/emoji/win10/clock630.png b/public/images/emoji/win10/clock630.png old mode 100755 new mode 100644 index c0ac0aa4f..1aafe4ff0 Binary files a/public/images/emoji/win10/clock630.png and b/public/images/emoji/win10/clock630.png differ diff --git a/public/images/emoji/win10/clock7.png b/public/images/emoji/win10/clock7.png old mode 100755 new mode 100644 index 93867d39f..ce2128cd9 Binary files a/public/images/emoji/win10/clock7.png and b/public/images/emoji/win10/clock7.png differ diff --git a/public/images/emoji/win10/clock730.png b/public/images/emoji/win10/clock730.png old mode 100755 new mode 100644 index e6fb7bbf8..3a13d8e18 Binary files a/public/images/emoji/win10/clock730.png and b/public/images/emoji/win10/clock730.png differ diff --git a/public/images/emoji/win10/clock8.png b/public/images/emoji/win10/clock8.png old mode 100755 new mode 100644 index 744426407..b0c8ef21f Binary files a/public/images/emoji/win10/clock8.png and b/public/images/emoji/win10/clock8.png differ diff --git a/public/images/emoji/win10/clock830.png b/public/images/emoji/win10/clock830.png old mode 100755 new mode 100644 index 8f8fd63a7..c636e0a69 Binary files a/public/images/emoji/win10/clock830.png and b/public/images/emoji/win10/clock830.png differ diff --git a/public/images/emoji/win10/clock9.png b/public/images/emoji/win10/clock9.png old mode 100755 new mode 100644 index f38755df9..f15cb6c34 Binary files a/public/images/emoji/win10/clock9.png and b/public/images/emoji/win10/clock9.png differ diff --git a/public/images/emoji/win10/clock930.png b/public/images/emoji/win10/clock930.png old mode 100755 new mode 100644 index 5ac48f5f6..1b78a000e Binary files a/public/images/emoji/win10/clock930.png and b/public/images/emoji/win10/clock930.png differ diff --git a/public/images/emoji/win10/closed_book.png b/public/images/emoji/win10/closed_book.png old mode 100755 new mode 100644 index cd45a4c36..d05411bf0 Binary files a/public/images/emoji/win10/closed_book.png and b/public/images/emoji/win10/closed_book.png differ diff --git a/public/images/emoji/win10/closed_lock_with_key.png b/public/images/emoji/win10/closed_lock_with_key.png old mode 100755 new mode 100644 index 8ed5ed411..d02c2b2f2 Binary files a/public/images/emoji/win10/closed_lock_with_key.png and b/public/images/emoji/win10/closed_lock_with_key.png differ diff --git a/public/images/emoji/win10/closed_umbrella.png b/public/images/emoji/win10/closed_umbrella.png old mode 100755 new mode 100644 index 24dd2420c..1f1247118 Binary files a/public/images/emoji/win10/closed_umbrella.png and b/public/images/emoji/win10/closed_umbrella.png differ diff --git a/public/images/emoji/win10/cloud.png b/public/images/emoji/win10/cloud.png old mode 100755 new mode 100644 index d9be5e83a..c39c62e24 Binary files a/public/images/emoji/win10/cloud.png and b/public/images/emoji/win10/cloud.png differ diff --git a/public/images/emoji/win10/cloud_lightning.png b/public/images/emoji/win10/cloud_lightning.png old mode 100755 new mode 100644 index aa0319f9c..4e099a80e Binary files a/public/images/emoji/win10/cloud_lightning.png and b/public/images/emoji/win10/cloud_lightning.png differ diff --git a/public/images/emoji/win10/cloud_rain.png b/public/images/emoji/win10/cloud_rain.png old mode 100755 new mode 100644 index 5d0bf228e..6c1ad868a Binary files a/public/images/emoji/win10/cloud_rain.png and b/public/images/emoji/win10/cloud_rain.png differ diff --git a/public/images/emoji/win10/cloud_snow.png b/public/images/emoji/win10/cloud_snow.png old mode 100755 new mode 100644 index 757e27b57..4967d28a8 Binary files a/public/images/emoji/win10/cloud_snow.png and b/public/images/emoji/win10/cloud_snow.png differ diff --git a/public/images/emoji/win10/cloud_tornado.png b/public/images/emoji/win10/cloud_tornado.png old mode 100755 new mode 100644 index c0264b690..8269d4787 Binary files a/public/images/emoji/win10/cloud_tornado.png and b/public/images/emoji/win10/cloud_tornado.png differ diff --git a/public/images/emoji/win10/cloud_with_lightning.png b/public/images/emoji/win10/cloud_with_lightning.png new file mode 100644 index 000000000..4e099a80e Binary files /dev/null and b/public/images/emoji/win10/cloud_with_lightning.png differ diff --git a/public/images/emoji/win10/cloud_with_rain.png b/public/images/emoji/win10/cloud_with_rain.png new file mode 100644 index 000000000..6c1ad868a Binary files /dev/null and b/public/images/emoji/win10/cloud_with_rain.png differ diff --git a/public/images/emoji/win10/cloud_with_snow.png b/public/images/emoji/win10/cloud_with_snow.png new file mode 100644 index 000000000..4967d28a8 Binary files /dev/null and b/public/images/emoji/win10/cloud_with_snow.png differ diff --git a/public/images/emoji/win10/cloud_with_tornado.png b/public/images/emoji/win10/cloud_with_tornado.png new file mode 100644 index 000000000..8269d4787 Binary files /dev/null and b/public/images/emoji/win10/cloud_with_tornado.png differ diff --git a/public/images/emoji/win10/clubs.png b/public/images/emoji/win10/clubs.png old mode 100755 new mode 100644 index 453ae5909..0e976f52c Binary files a/public/images/emoji/win10/clubs.png and b/public/images/emoji/win10/clubs.png differ diff --git a/public/images/emoji/win10/cn.png b/public/images/emoji/win10/cn.png new file mode 100644 index 000000000..646f950b5 Binary files /dev/null and b/public/images/emoji/win10/cn.png differ diff --git a/public/images/emoji/win10/cocktail.png b/public/images/emoji/win10/cocktail.png old mode 100755 new mode 100644 index 0530a0bad..3137eac5c Binary files a/public/images/emoji/win10/cocktail.png and b/public/images/emoji/win10/cocktail.png differ diff --git a/public/images/emoji/win10/coffee.png b/public/images/emoji/win10/coffee.png old mode 100755 new mode 100644 index ce8328a23..71d5b5681 Binary files a/public/images/emoji/win10/coffee.png and b/public/images/emoji/win10/coffee.png differ diff --git a/public/images/emoji/win10/coffin.png b/public/images/emoji/win10/coffin.png old mode 100755 new mode 100644 index 18a736e66..e881bc46c Binary files a/public/images/emoji/win10/coffin.png and b/public/images/emoji/win10/coffin.png differ diff --git a/public/images/emoji/win10/cold_sweat.png b/public/images/emoji/win10/cold_sweat.png old mode 100755 new mode 100644 index 2b58d134d..d57d71d0e Binary files a/public/images/emoji/win10/cold_sweat.png and b/public/images/emoji/win10/cold_sweat.png differ diff --git a/public/images/emoji/win10/comet.png b/public/images/emoji/win10/comet.png old mode 100755 new mode 100644 index b24e51f29..7b89fcab8 Binary files a/public/images/emoji/win10/comet.png and b/public/images/emoji/win10/comet.png differ diff --git a/public/images/emoji/win10/compression.png b/public/images/emoji/win10/compression.png old mode 100755 new mode 100644 index 5e2d861b1..4f669a5ce Binary files a/public/images/emoji/win10/compression.png and b/public/images/emoji/win10/compression.png differ diff --git a/public/images/emoji/win10/computer.png b/public/images/emoji/win10/computer.png old mode 100755 new mode 100644 index 867a3aa91..cf7a30e83 Binary files a/public/images/emoji/win10/computer.png and b/public/images/emoji/win10/computer.png differ diff --git a/public/images/emoji/win10/confetti_ball.png b/public/images/emoji/win10/confetti_ball.png old mode 100755 new mode 100644 index cf7cd0140..9f6590ffa Binary files a/public/images/emoji/win10/confetti_ball.png and b/public/images/emoji/win10/confetti_ball.png differ diff --git a/public/images/emoji/win10/confounded.png b/public/images/emoji/win10/confounded.png old mode 100755 new mode 100644 index c3f72ff89..740725bc5 Binary files a/public/images/emoji/win10/confounded.png and b/public/images/emoji/win10/confounded.png differ diff --git a/public/images/emoji/win10/confused.png b/public/images/emoji/win10/confused.png old mode 100755 new mode 100644 index 42c3d45fb..d7b398011 Binary files a/public/images/emoji/win10/confused.png and b/public/images/emoji/win10/confused.png differ diff --git a/public/images/emoji/win10/congratulations.png b/public/images/emoji/win10/congratulations.png old mode 100755 new mode 100644 index 88e7a59ab..32a80bc18 Binary files a/public/images/emoji/win10/congratulations.png and b/public/images/emoji/win10/congratulations.png differ diff --git a/public/images/emoji/win10/construction.png b/public/images/emoji/win10/construction.png old mode 100755 new mode 100644 index af9360a66..7df66cf77 Binary files a/public/images/emoji/win10/construction.png and b/public/images/emoji/win10/construction.png differ diff --git a/public/images/emoji/win10/construction_site.png b/public/images/emoji/win10/construction_site.png old mode 100755 new mode 100644 index d0fe9751c..62f33f8ae Binary files a/public/images/emoji/win10/construction_site.png and b/public/images/emoji/win10/construction_site.png differ diff --git a/public/images/emoji/win10/construction_worker.png b/public/images/emoji/win10/construction_worker.png old mode 100755 new mode 100644 index 6f51169d1..dcf043a51 Binary files a/public/images/emoji/win10/construction_worker.png and b/public/images/emoji/win10/construction_worker.png differ diff --git a/public/images/emoji/win10/control_knobs.png b/public/images/emoji/win10/control_knobs.png old mode 100755 new mode 100644 index 4ecd8514e..f26864d4d Binary files a/public/images/emoji/win10/control_knobs.png and b/public/images/emoji/win10/control_knobs.png differ diff --git a/public/images/emoji/win10/convenience_store.png b/public/images/emoji/win10/convenience_store.png old mode 100755 new mode 100644 index 0f9342722..309c4bc14 Binary files a/public/images/emoji/win10/convenience_store.png and b/public/images/emoji/win10/convenience_store.png differ diff --git a/public/images/emoji/win10/cookie.png b/public/images/emoji/win10/cookie.png old mode 100755 new mode 100644 index 0c0413542..dea6750f9 Binary files a/public/images/emoji/win10/cookie.png and b/public/images/emoji/win10/cookie.png differ diff --git a/public/images/emoji/win10/cool.png b/public/images/emoji/win10/cool.png old mode 100755 new mode 100644 index a8147898c..7bb3539a4 Binary files a/public/images/emoji/win10/cool.png and b/public/images/emoji/win10/cool.png differ diff --git a/public/images/emoji/win10/cop.png b/public/images/emoji/win10/cop.png old mode 100755 new mode 100644 index def04fc8d..9de63c18d Binary files a/public/images/emoji/win10/cop.png and b/public/images/emoji/win10/cop.png differ diff --git a/public/images/emoji/win10/copyright.png b/public/images/emoji/win10/copyright.png old mode 100755 new mode 100644 index 5eccd5fc3..21d5384cf Binary files a/public/images/emoji/win10/copyright.png and b/public/images/emoji/win10/copyright.png differ diff --git a/public/images/emoji/win10/corn.png b/public/images/emoji/win10/corn.png old mode 100755 new mode 100644 index 1af9a33f8..f0a21be30 Binary files a/public/images/emoji/win10/corn.png and b/public/images/emoji/win10/corn.png differ diff --git a/public/images/emoji/win10/couch.png b/public/images/emoji/win10/couch.png old mode 100755 new mode 100644 index 2303f5d8b..5b4ef0a55 Binary files a/public/images/emoji/win10/couch.png and b/public/images/emoji/win10/couch.png differ diff --git a/public/images/emoji/win10/couch_and_lamp.png b/public/images/emoji/win10/couch_and_lamp.png new file mode 100644 index 000000000..5b4ef0a55 Binary files /dev/null and b/public/images/emoji/win10/couch_and_lamp.png differ diff --git a/public/images/emoji/win10/couple.png b/public/images/emoji/win10/couple.png old mode 100755 new mode 100644 index f4554891c..22cce5e97 Binary files a/public/images/emoji/win10/couple.png and b/public/images/emoji/win10/couple.png differ diff --git a/public/images/emoji/win10/couple_with_heart.png b/public/images/emoji/win10/couple_with_heart.png old mode 100755 new mode 100644 index e62b324a2..a8181c3fe Binary files a/public/images/emoji/win10/couple_with_heart.png and b/public/images/emoji/win10/couple_with_heart.png differ diff --git a/public/images/emoji/win10/couplekiss.png b/public/images/emoji/win10/couplekiss.png old mode 100755 new mode 100644 index acb5fb4cb..5afee8672 Binary files a/public/images/emoji/win10/couplekiss.png and b/public/images/emoji/win10/couplekiss.png differ diff --git a/public/images/emoji/win10/cow.png b/public/images/emoji/win10/cow.png old mode 100755 new mode 100644 index 038ac19a2..54901739a Binary files a/public/images/emoji/win10/cow.png and b/public/images/emoji/win10/cow.png differ diff --git a/public/images/emoji/win10/cow2.png b/public/images/emoji/win10/cow2.png old mode 100755 new mode 100644 index cb3f7695a..ac8210d81 Binary files a/public/images/emoji/win10/cow2.png and b/public/images/emoji/win10/cow2.png differ diff --git a/public/images/emoji/win10/crab.png b/public/images/emoji/win10/crab.png index d716f5d33..fe56c7fd2 100644 Binary files a/public/images/emoji/win10/crab.png and b/public/images/emoji/win10/crab.png differ diff --git a/public/images/emoji/win10/crayon.png b/public/images/emoji/win10/crayon.png old mode 100755 new mode 100644 index 1563b7140..2484033f5 Binary files a/public/images/emoji/win10/crayon.png and b/public/images/emoji/win10/crayon.png differ diff --git a/public/images/emoji/win10/credit_card.png b/public/images/emoji/win10/credit_card.png old mode 100755 new mode 100644 index 9655e1b6b..540091c03 Binary files a/public/images/emoji/win10/credit_card.png and b/public/images/emoji/win10/credit_card.png differ diff --git a/public/images/emoji/win10/crescent_moon.png b/public/images/emoji/win10/crescent_moon.png old mode 100755 new mode 100644 index e7b3a3f81..ed66fb65f Binary files a/public/images/emoji/win10/crescent_moon.png and b/public/images/emoji/win10/crescent_moon.png differ diff --git a/public/images/emoji/win10/cricket.png b/public/images/emoji/win10/cricket.png old mode 100755 new mode 100644 index 619a2dd33..1714e0d85 Binary files a/public/images/emoji/win10/cricket.png and b/public/images/emoji/win10/cricket.png differ diff --git a/public/images/emoji/win10/cricket_bat_ball.png b/public/images/emoji/win10/cricket_bat_ball.png new file mode 100644 index 000000000..1714e0d85 Binary files /dev/null and b/public/images/emoji/win10/cricket_bat_ball.png differ diff --git a/public/images/emoji/win10/crocodile.png b/public/images/emoji/win10/crocodile.png old mode 100755 new mode 100644 index 3da6ac748..af27c286b Binary files a/public/images/emoji/win10/crocodile.png and b/public/images/emoji/win10/crocodile.png differ diff --git a/public/images/emoji/win10/cross.png b/public/images/emoji/win10/cross.png old mode 100755 new mode 100644 index 9fc0e4b75..a94333be7 Binary files a/public/images/emoji/win10/cross.png and b/public/images/emoji/win10/cross.png differ diff --git a/public/images/emoji/win10/crossed_flags.png b/public/images/emoji/win10/crossed_flags.png old mode 100755 new mode 100644 index ebccca9b9..c1acf98bf Binary files a/public/images/emoji/win10/crossed_flags.png and b/public/images/emoji/win10/crossed_flags.png differ diff --git a/public/images/emoji/win10/crossed_swords.png b/public/images/emoji/win10/crossed_swords.png old mode 100755 new mode 100644 index 27609997b..547329b1f Binary files a/public/images/emoji/win10/crossed_swords.png and b/public/images/emoji/win10/crossed_swords.png differ diff --git a/public/images/emoji/win10/crown.png b/public/images/emoji/win10/crown.png old mode 100755 new mode 100644 index b7083f24b..47db54428 Binary files a/public/images/emoji/win10/crown.png and b/public/images/emoji/win10/crown.png differ diff --git a/public/images/emoji/win10/cruise_ship.png b/public/images/emoji/win10/cruise_ship.png old mode 100755 new mode 100644 index ae57424ac..e3105ed5f Binary files a/public/images/emoji/win10/cruise_ship.png and b/public/images/emoji/win10/cruise_ship.png differ diff --git a/public/images/emoji/win10/cry.png b/public/images/emoji/win10/cry.png old mode 100755 new mode 100644 index 6f94887b6..97be3a720 Binary files a/public/images/emoji/win10/cry.png and b/public/images/emoji/win10/cry.png differ diff --git a/public/images/emoji/win10/crying_cat_face.png b/public/images/emoji/win10/crying_cat_face.png old mode 100755 new mode 100644 index b96e2721d..29df3d140 Binary files a/public/images/emoji/win10/crying_cat_face.png and b/public/images/emoji/win10/crying_cat_face.png differ diff --git a/public/images/emoji/win10/crystal_ball.png b/public/images/emoji/win10/crystal_ball.png old mode 100755 new mode 100644 index 6e96d7557..186bd57c2 Binary files a/public/images/emoji/win10/crystal_ball.png and b/public/images/emoji/win10/crystal_ball.png differ diff --git a/public/images/emoji/win10/cupid.png b/public/images/emoji/win10/cupid.png old mode 100755 new mode 100644 index d1436b881..1f4f38210 Binary files a/public/images/emoji/win10/cupid.png and b/public/images/emoji/win10/cupid.png differ diff --git a/public/images/emoji/win10/curly_loop.png b/public/images/emoji/win10/curly_loop.png old mode 100755 new mode 100644 index e1f3e4ed6..60528e7de Binary files a/public/images/emoji/win10/curly_loop.png and b/public/images/emoji/win10/curly_loop.png differ diff --git a/public/images/emoji/win10/currency_exchange.png b/public/images/emoji/win10/currency_exchange.png old mode 100755 new mode 100644 index 11f1b1e8f..8bceac926 Binary files a/public/images/emoji/win10/currency_exchange.png and b/public/images/emoji/win10/currency_exchange.png differ diff --git a/public/images/emoji/win10/curry.png b/public/images/emoji/win10/curry.png old mode 100755 new mode 100644 index 21960375f..51ce9fc4a Binary files a/public/images/emoji/win10/curry.png and b/public/images/emoji/win10/curry.png differ diff --git a/public/images/emoji/win10/custard.png b/public/images/emoji/win10/custard.png old mode 100755 new mode 100644 index f7e32fe21..55391b0f9 Binary files a/public/images/emoji/win10/custard.png and b/public/images/emoji/win10/custard.png differ diff --git a/public/images/emoji/win10/customs.png b/public/images/emoji/win10/customs.png old mode 100755 new mode 100644 index fadd5b442..d2f03d4fb Binary files a/public/images/emoji/win10/customs.png and b/public/images/emoji/win10/customs.png differ diff --git a/public/images/emoji/win10/cyclone.png b/public/images/emoji/win10/cyclone.png old mode 100755 new mode 100644 index 0e4927e35..8ddf55c34 Binary files a/public/images/emoji/win10/cyclone.png and b/public/images/emoji/win10/cyclone.png differ diff --git a/public/images/emoji/win10/dagger.png b/public/images/emoji/win10/dagger.png old mode 100755 new mode 100644 index ed00ea9c0..94e217ba5 Binary files a/public/images/emoji/win10/dagger.png and b/public/images/emoji/win10/dagger.png differ diff --git a/public/images/emoji/win10/dagger_knife.png b/public/images/emoji/win10/dagger_knife.png new file mode 100644 index 000000000..94e217ba5 Binary files /dev/null and b/public/images/emoji/win10/dagger_knife.png differ diff --git a/public/images/emoji/win10/dancer.png b/public/images/emoji/win10/dancer.png old mode 100755 new mode 100644 index f20bc5b90..db1c4e4d9 Binary files a/public/images/emoji/win10/dancer.png and b/public/images/emoji/win10/dancer.png differ diff --git a/public/images/emoji/win10/dancers.png b/public/images/emoji/win10/dancers.png old mode 100755 new mode 100644 index b96946638..7216a94c5 Binary files a/public/images/emoji/win10/dancers.png and b/public/images/emoji/win10/dancers.png differ diff --git a/public/images/emoji/win10/dango.png b/public/images/emoji/win10/dango.png old mode 100755 new mode 100644 index 415785dce..7bd8d90b3 Binary files a/public/images/emoji/win10/dango.png and b/public/images/emoji/win10/dango.png differ diff --git a/public/images/emoji/win10/dark_sunglasses.png b/public/images/emoji/win10/dark_sunglasses.png old mode 100755 new mode 100644 index 4cf3a7597..8c541ef77 Binary files a/public/images/emoji/win10/dark_sunglasses.png and b/public/images/emoji/win10/dark_sunglasses.png differ diff --git a/public/images/emoji/win10/dart.png b/public/images/emoji/win10/dart.png old mode 100755 new mode 100644 index d0663a114..d39d6e197 Binary files a/public/images/emoji/win10/dart.png and b/public/images/emoji/win10/dart.png differ diff --git a/public/images/emoji/win10/dash.png b/public/images/emoji/win10/dash.png old mode 100755 new mode 100644 index bc45a36e7..60ec22cb5 Binary files a/public/images/emoji/win10/dash.png and b/public/images/emoji/win10/dash.png differ diff --git a/public/images/emoji/win10/date.png b/public/images/emoji/win10/date.png old mode 100755 new mode 100644 index 96018eb13..8738158e4 Binary files a/public/images/emoji/win10/date.png and b/public/images/emoji/win10/date.png differ diff --git a/public/images/emoji/win10/de.png b/public/images/emoji/win10/de.png new file mode 100644 index 000000000..766c519bc Binary files /dev/null and b/public/images/emoji/win10/de.png differ diff --git a/public/images/emoji/win10/deciduous_tree.png b/public/images/emoji/win10/deciduous_tree.png old mode 100755 new mode 100644 index 907f6f05e..c34141adb Binary files a/public/images/emoji/win10/deciduous_tree.png and b/public/images/emoji/win10/deciduous_tree.png differ diff --git a/public/images/emoji/win10/department_store.png b/public/images/emoji/win10/department_store.png old mode 100755 new mode 100644 index 772377f1e..61279e47b Binary files a/public/images/emoji/win10/department_store.png and b/public/images/emoji/win10/department_store.png differ diff --git a/public/images/emoji/win10/derelict_house_building.png b/public/images/emoji/win10/derelict_house_building.png new file mode 100644 index 000000000..14a514ed4 Binary files /dev/null and b/public/images/emoji/win10/derelict_house_building.png differ diff --git a/public/images/emoji/win10/desert.png b/public/images/emoji/win10/desert.png old mode 100755 new mode 100644 index bb5f1507e..67ec88531 Binary files a/public/images/emoji/win10/desert.png and b/public/images/emoji/win10/desert.png differ diff --git a/public/images/emoji/win10/desert_island.png b/public/images/emoji/win10/desert_island.png new file mode 100644 index 000000000..d9c37a023 Binary files /dev/null and b/public/images/emoji/win10/desert_island.png differ diff --git a/public/images/emoji/win10/desktop.png b/public/images/emoji/win10/desktop.png old mode 100755 new mode 100644 index c50667684..5730c042e Binary files a/public/images/emoji/win10/desktop.png and b/public/images/emoji/win10/desktop.png differ diff --git a/public/images/emoji/win10/desktop_computer.png b/public/images/emoji/win10/desktop_computer.png new file mode 100644 index 000000000..5730c042e Binary files /dev/null and b/public/images/emoji/win10/desktop_computer.png differ diff --git a/public/images/emoji/win10/diamond_shape_with_a_dot_inside.png b/public/images/emoji/win10/diamond_shape_with_a_dot_inside.png old mode 100755 new mode 100644 index 4acc3b337..6e5cd74df Binary files a/public/images/emoji/win10/diamond_shape_with_a_dot_inside.png and b/public/images/emoji/win10/diamond_shape_with_a_dot_inside.png differ diff --git a/public/images/emoji/win10/diamonds.png b/public/images/emoji/win10/diamonds.png old mode 100755 new mode 100644 index b2c79b2f3..e4d5ebffb Binary files a/public/images/emoji/win10/diamonds.png and b/public/images/emoji/win10/diamonds.png differ diff --git a/public/images/emoji/win10/disappointed.png b/public/images/emoji/win10/disappointed.png old mode 100755 new mode 100644 index b577ef8cb..cb545a3cb Binary files a/public/images/emoji/win10/disappointed.png and b/public/images/emoji/win10/disappointed.png differ diff --git a/public/images/emoji/win10/disappointed_relieved.png b/public/images/emoji/win10/disappointed_relieved.png old mode 100755 new mode 100644 index b24eb9676..52069e7e2 Binary files a/public/images/emoji/win10/disappointed_relieved.png and b/public/images/emoji/win10/disappointed_relieved.png differ diff --git a/public/images/emoji/win10/dividers.png b/public/images/emoji/win10/dividers.png old mode 100755 new mode 100644 index e6b106340..71e9f794b Binary files a/public/images/emoji/win10/dividers.png and b/public/images/emoji/win10/dividers.png differ diff --git a/public/images/emoji/win10/dizzy.png b/public/images/emoji/win10/dizzy.png old mode 100755 new mode 100644 index 48c776548..96c1974d1 Binary files a/public/images/emoji/win10/dizzy.png and b/public/images/emoji/win10/dizzy.png differ diff --git a/public/images/emoji/win10/dizzy_face.png b/public/images/emoji/win10/dizzy_face.png old mode 100755 new mode 100644 index d07babe08..7208b349a Binary files a/public/images/emoji/win10/dizzy_face.png and b/public/images/emoji/win10/dizzy_face.png differ diff --git a/public/images/emoji/win10/do_not_litter.png b/public/images/emoji/win10/do_not_litter.png old mode 100755 new mode 100644 index e2d83bafe..082c80122 Binary files a/public/images/emoji/win10/do_not_litter.png and b/public/images/emoji/win10/do_not_litter.png differ diff --git a/public/images/emoji/win10/dog.png b/public/images/emoji/win10/dog.png old mode 100755 new mode 100644 index 2112e9fa5..212977446 Binary files a/public/images/emoji/win10/dog.png and b/public/images/emoji/win10/dog.png differ diff --git a/public/images/emoji/win10/dog2.png b/public/images/emoji/win10/dog2.png old mode 100755 new mode 100644 index 49a5ba359..cef9764e4 Binary files a/public/images/emoji/win10/dog2.png and b/public/images/emoji/win10/dog2.png differ diff --git a/public/images/emoji/win10/dollar.png b/public/images/emoji/win10/dollar.png old mode 100755 new mode 100644 index c24d88ce7..a96c46ac3 Binary files a/public/images/emoji/win10/dollar.png and b/public/images/emoji/win10/dollar.png differ diff --git a/public/images/emoji/win10/dolls.png b/public/images/emoji/win10/dolls.png old mode 100755 new mode 100644 index 1b7699ac0..79b4262a3 Binary files a/public/images/emoji/win10/dolls.png and b/public/images/emoji/win10/dolls.png differ diff --git a/public/images/emoji/win10/dolphin.png b/public/images/emoji/win10/dolphin.png old mode 100755 new mode 100644 index 38c6b2b75..2b18f118b Binary files a/public/images/emoji/win10/dolphin.png and b/public/images/emoji/win10/dolphin.png differ diff --git a/public/images/emoji/win10/door.png b/public/images/emoji/win10/door.png old mode 100755 new mode 100644 index 3fe649b6e..bdce6eec2 Binary files a/public/images/emoji/win10/door.png and b/public/images/emoji/win10/door.png differ diff --git a/public/images/emoji/win10/double_vertical_bar.png b/public/images/emoji/win10/double_vertical_bar.png new file mode 100644 index 000000000..570113b9d Binary files /dev/null and b/public/images/emoji/win10/double_vertical_bar.png differ diff --git a/public/images/emoji/win10/doughnut.png b/public/images/emoji/win10/doughnut.png old mode 100755 new mode 100644 index 0e58abbd7..1c6e15435 Binary files a/public/images/emoji/win10/doughnut.png and b/public/images/emoji/win10/doughnut.png differ diff --git a/public/images/emoji/win10/dove.png b/public/images/emoji/win10/dove.png old mode 100755 new mode 100644 index f1b110f2e..0293ef44a Binary files a/public/images/emoji/win10/dove.png and b/public/images/emoji/win10/dove.png differ diff --git a/public/images/emoji/win10/dove_of_peace.png b/public/images/emoji/win10/dove_of_peace.png new file mode 100644 index 000000000..0293ef44a Binary files /dev/null and b/public/images/emoji/win10/dove_of_peace.png differ diff --git a/public/images/emoji/win10/dragon.png b/public/images/emoji/win10/dragon.png old mode 100755 new mode 100644 index 7525390aa..60e09525c Binary files a/public/images/emoji/win10/dragon.png and b/public/images/emoji/win10/dragon.png differ diff --git a/public/images/emoji/win10/dragon_face.png b/public/images/emoji/win10/dragon_face.png old mode 100755 new mode 100644 index 99a5f5ee2..2eff86425 Binary files a/public/images/emoji/win10/dragon_face.png and b/public/images/emoji/win10/dragon_face.png differ diff --git a/public/images/emoji/win10/dress.png b/public/images/emoji/win10/dress.png old mode 100755 new mode 100644 index 888ab3c7e..5a48a2100 Binary files a/public/images/emoji/win10/dress.png and b/public/images/emoji/win10/dress.png differ diff --git a/public/images/emoji/win10/dromedary_camel.png b/public/images/emoji/win10/dromedary_camel.png old mode 100755 new mode 100644 index 7cb8f3034..d10a55f60 Binary files a/public/images/emoji/win10/dromedary_camel.png and b/public/images/emoji/win10/dromedary_camel.png differ diff --git a/public/images/emoji/win10/droplet.png b/public/images/emoji/win10/droplet.png old mode 100755 new mode 100644 index 847c004b3..a5352efcf Binary files a/public/images/emoji/win10/droplet.png and b/public/images/emoji/win10/droplet.png differ diff --git a/public/images/emoji/win10/dvd.png b/public/images/emoji/win10/dvd.png old mode 100755 new mode 100644 index 937359ef5..2d43e8725 Binary files a/public/images/emoji/win10/dvd.png and b/public/images/emoji/win10/dvd.png differ diff --git a/public/images/emoji/win10/e-mail.png b/public/images/emoji/win10/e-mail.png old mode 100755 new mode 100644 index f5a36c490..8b5aca721 Binary files a/public/images/emoji/win10/e-mail.png and b/public/images/emoji/win10/e-mail.png differ diff --git a/public/images/emoji/win10/ear.png b/public/images/emoji/win10/ear.png old mode 100755 new mode 100644 index 916bc6746..18ea3a875 Binary files a/public/images/emoji/win10/ear.png and b/public/images/emoji/win10/ear.png differ diff --git a/public/images/emoji/win10/ear_of_rice.png b/public/images/emoji/win10/ear_of_rice.png old mode 100755 new mode 100644 index 9cdf2da0c..01b2bed93 Binary files a/public/images/emoji/win10/ear_of_rice.png and b/public/images/emoji/win10/ear_of_rice.png differ diff --git a/public/images/emoji/win10/earth_africa.png b/public/images/emoji/win10/earth_africa.png old mode 100755 new mode 100644 index e15c6fec0..566b3540f Binary files a/public/images/emoji/win10/earth_africa.png and b/public/images/emoji/win10/earth_africa.png differ diff --git a/public/images/emoji/win10/earth_americas.png b/public/images/emoji/win10/earth_americas.png old mode 100755 new mode 100644 index 468243348..e7faadb71 Binary files a/public/images/emoji/win10/earth_americas.png and b/public/images/emoji/win10/earth_americas.png differ diff --git a/public/images/emoji/win10/earth_asia.png b/public/images/emoji/win10/earth_asia.png old mode 100755 new mode 100644 index ada272919..d808e3ef1 Binary files a/public/images/emoji/win10/earth_asia.png and b/public/images/emoji/win10/earth_asia.png differ diff --git a/public/images/emoji/win10/egg.png b/public/images/emoji/win10/egg.png old mode 100755 new mode 100644 index 622a8d3c4..421490926 Binary files a/public/images/emoji/win10/egg.png and b/public/images/emoji/win10/egg.png differ diff --git a/public/images/emoji/win10/eggplant.png b/public/images/emoji/win10/eggplant.png old mode 100755 new mode 100644 index 6c4b811d2..7f267e469 Binary files a/public/images/emoji/win10/eggplant.png and b/public/images/emoji/win10/eggplant.png differ diff --git a/public/images/emoji/win10/eight.png b/public/images/emoji/win10/eight.png old mode 100755 new mode 100644 index 4fe4c5f23..e69de29bb Binary files a/public/images/emoji/win10/eight.png and b/public/images/emoji/win10/eight.png differ diff --git a/public/images/emoji/win10/eight_pointed_black_star.png b/public/images/emoji/win10/eight_pointed_black_star.png old mode 100755 new mode 100644 index 18df29687..ef61b5894 Binary files a/public/images/emoji/win10/eight_pointed_black_star.png and b/public/images/emoji/win10/eight_pointed_black_star.png differ diff --git a/public/images/emoji/win10/eight_spoked_asterisk.png b/public/images/emoji/win10/eight_spoked_asterisk.png old mode 100755 new mode 100644 index 74cf90bf2..3eabdcd2b Binary files a/public/images/emoji/win10/eight_spoked_asterisk.png and b/public/images/emoji/win10/eight_spoked_asterisk.png differ diff --git a/public/images/emoji/win10/electric_plug.png b/public/images/emoji/win10/electric_plug.png old mode 100755 new mode 100644 index 638969c80..3c02640cf Binary files a/public/images/emoji/win10/electric_plug.png and b/public/images/emoji/win10/electric_plug.png differ diff --git a/public/images/emoji/win10/elephant.png b/public/images/emoji/win10/elephant.png old mode 100755 new mode 100644 index 521bbc61f..bb453785c Binary files a/public/images/emoji/win10/elephant.png and b/public/images/emoji/win10/elephant.png differ diff --git a/public/images/emoji/win10/email.png b/public/images/emoji/win10/email.png new file mode 100644 index 000000000..8b5aca721 Binary files /dev/null and b/public/images/emoji/win10/email.png differ diff --git a/public/images/emoji/win10/end.png b/public/images/emoji/win10/end.png old mode 100755 new mode 100644 index 7624f6f88..0b2d24be2 Binary files a/public/images/emoji/win10/end.png and b/public/images/emoji/win10/end.png differ diff --git a/public/images/emoji/win10/envelope.png b/public/images/emoji/win10/envelope.png old mode 100755 new mode 100644 index 86368c1c4..d0d51d40e Binary files a/public/images/emoji/win10/envelope.png and b/public/images/emoji/win10/envelope.png differ diff --git a/public/images/emoji/win10/envelope_with_arrow.png b/public/images/emoji/win10/envelope_with_arrow.png old mode 100755 new mode 100644 index d38684b88..7c99d1e2d Binary files a/public/images/emoji/win10/envelope_with_arrow.png and b/public/images/emoji/win10/envelope_with_arrow.png differ diff --git a/public/images/emoji/win10/es.png b/public/images/emoji/win10/es.png new file mode 100644 index 000000000..7a4fce76b Binary files /dev/null and b/public/images/emoji/win10/es.png differ diff --git a/public/images/emoji/win10/euro.png b/public/images/emoji/win10/euro.png old mode 100755 new mode 100644 index c3ea2da9d..02115fe42 Binary files a/public/images/emoji/win10/euro.png and b/public/images/emoji/win10/euro.png differ diff --git a/public/images/emoji/win10/european_castle.png b/public/images/emoji/win10/european_castle.png old mode 100755 new mode 100644 index 232965529..b5919f742 Binary files a/public/images/emoji/win10/european_castle.png and b/public/images/emoji/win10/european_castle.png differ diff --git a/public/images/emoji/win10/european_post_office.png b/public/images/emoji/win10/european_post_office.png old mode 100755 new mode 100644 index 7635a8fa8..95aa09466 Binary files a/public/images/emoji/win10/european_post_office.png and b/public/images/emoji/win10/european_post_office.png differ diff --git a/public/images/emoji/win10/evergreen_tree.png b/public/images/emoji/win10/evergreen_tree.png old mode 100755 new mode 100644 index 5b33f3bcf..a4bec0a11 Binary files a/public/images/emoji/win10/evergreen_tree.png and b/public/images/emoji/win10/evergreen_tree.png differ diff --git a/public/images/emoji/win10/exclamation.png b/public/images/emoji/win10/exclamation.png old mode 100755 new mode 100644 index 2bd7ba776..a9415ecd2 Binary files a/public/images/emoji/win10/exclamation.png and b/public/images/emoji/win10/exclamation.png differ diff --git a/public/images/emoji/win10/expressionless.png b/public/images/emoji/win10/expressionless.png old mode 100755 new mode 100644 index 64b232776..4393353e5 Binary files a/public/images/emoji/win10/expressionless.png and b/public/images/emoji/win10/expressionless.png differ diff --git a/public/images/emoji/win10/eye.png b/public/images/emoji/win10/eye.png old mode 100755 new mode 100644 index 71591971b..5593699fd Binary files a/public/images/emoji/win10/eye.png and b/public/images/emoji/win10/eye.png differ diff --git a/public/images/emoji/win10/eyeglasses.png b/public/images/emoji/win10/eyeglasses.png old mode 100755 new mode 100644 index 3302fd666..29fa3d6db Binary files a/public/images/emoji/win10/eyeglasses.png and b/public/images/emoji/win10/eyeglasses.png differ diff --git a/public/images/emoji/win10/eyes.png b/public/images/emoji/win10/eyes.png old mode 100755 new mode 100644 index 0d21f95fd..36a1db17c Binary files a/public/images/emoji/win10/eyes.png and b/public/images/emoji/win10/eyes.png differ diff --git a/public/images/emoji/win10/face_with_head_bandage.png b/public/images/emoji/win10/face_with_head_bandage.png new file mode 100644 index 000000000..21b10b432 Binary files /dev/null and b/public/images/emoji/win10/face_with_head_bandage.png differ diff --git a/public/images/emoji/win10/face_with_rolling_eyes.png b/public/images/emoji/win10/face_with_rolling_eyes.png new file mode 100644 index 000000000..090ee207a Binary files /dev/null and b/public/images/emoji/win10/face_with_rolling_eyes.png differ diff --git a/public/images/emoji/win10/face_with_thermometer.png b/public/images/emoji/win10/face_with_thermometer.png new file mode 100644 index 000000000..b877cddc8 Binary files /dev/null and b/public/images/emoji/win10/face_with_thermometer.png differ diff --git a/public/images/emoji/win10/factory.png b/public/images/emoji/win10/factory.png old mode 100755 new mode 100644 index ac3647fae..263bf1966 Binary files a/public/images/emoji/win10/factory.png and b/public/images/emoji/win10/factory.png differ diff --git a/public/images/emoji/win10/fallen_leaf.png b/public/images/emoji/win10/fallen_leaf.png old mode 100755 new mode 100644 index cb01f2993..760a5f205 Binary files a/public/images/emoji/win10/fallen_leaf.png and b/public/images/emoji/win10/fallen_leaf.png differ diff --git a/public/images/emoji/win10/family.png b/public/images/emoji/win10/family.png deleted file mode 100755 index 06a2af571..000000000 Binary files a/public/images/emoji/win10/family.png and /dev/null differ diff --git a/public/images/emoji/win10/family_man_woman_boys.png b/public/images/emoji/win10/family_man_woman_boys.png new file mode 100644 index 000000000..fc282c49a Binary files /dev/null and b/public/images/emoji/win10/family_man_woman_boys.png differ diff --git a/public/images/emoji/win10/family_man_woman_girl.png b/public/images/emoji/win10/family_man_woman_girl.png new file mode 100644 index 000000000..caa399544 Binary files /dev/null and b/public/images/emoji/win10/family_man_woman_girl.png differ diff --git a/public/images/emoji/win10/family_man_woman_girl_boy.png b/public/images/emoji/win10/family_man_woman_girl_boy.png new file mode 100644 index 000000000..1e1146dcd Binary files /dev/null and b/public/images/emoji/win10/family_man_woman_girl_boy.png differ diff --git a/public/images/emoji/win10/family_man_woman_girls.png b/public/images/emoji/win10/family_man_woman_girls.png new file mode 100644 index 000000000..edd279c1c Binary files /dev/null and b/public/images/emoji/win10/family_man_woman_girls.png differ diff --git a/public/images/emoji/win10/family_men_boy.png b/public/images/emoji/win10/family_men_boy.png new file mode 100644 index 000000000..065e4bb39 Binary files /dev/null and b/public/images/emoji/win10/family_men_boy.png differ diff --git a/public/images/emoji/win10/family_men_boys.png b/public/images/emoji/win10/family_men_boys.png new file mode 100644 index 000000000..3a8ecd565 Binary files /dev/null and b/public/images/emoji/win10/family_men_boys.png differ diff --git a/public/images/emoji/win10/family_men_girl.png b/public/images/emoji/win10/family_men_girl.png new file mode 100644 index 000000000..6fd87bc2d Binary files /dev/null and b/public/images/emoji/win10/family_men_girl.png differ diff --git a/public/images/emoji/win10/family_men_girl_boy.png b/public/images/emoji/win10/family_men_girl_boy.png new file mode 100644 index 000000000..70e7eba38 Binary files /dev/null and b/public/images/emoji/win10/family_men_girl_boy.png differ diff --git a/public/images/emoji/win10/family_men_girls.png b/public/images/emoji/win10/family_men_girls.png new file mode 100644 index 000000000..65bc77646 Binary files /dev/null and b/public/images/emoji/win10/family_men_girls.png differ diff --git a/public/images/emoji/win10/family_women_boy.png b/public/images/emoji/win10/family_women_boy.png new file mode 100644 index 000000000..3ff0e1420 Binary files /dev/null and b/public/images/emoji/win10/family_women_boy.png differ diff --git a/public/images/emoji/win10/family_women_boys.png b/public/images/emoji/win10/family_women_boys.png new file mode 100644 index 000000000..ba07c3b93 Binary files /dev/null and b/public/images/emoji/win10/family_women_boys.png differ diff --git a/public/images/emoji/win10/family_women_girl.png b/public/images/emoji/win10/family_women_girl.png new file mode 100644 index 000000000..162d2cb28 Binary files /dev/null and b/public/images/emoji/win10/family_women_girl.png differ diff --git a/public/images/emoji/win10/family_women_girl_boy.png b/public/images/emoji/win10/family_women_girl_boy.png new file mode 100644 index 000000000..b76110925 Binary files /dev/null and b/public/images/emoji/win10/family_women_girl_boy.png differ diff --git a/public/images/emoji/win10/family_women_girls.png b/public/images/emoji/win10/family_women_girls.png new file mode 100644 index 000000000..2d499378f Binary files /dev/null and b/public/images/emoji/win10/family_women_girls.png differ diff --git a/public/images/emoji/win10/fast_forward.png b/public/images/emoji/win10/fast_forward.png old mode 100755 new mode 100644 index 12fbb9437..cb193b55f Binary files a/public/images/emoji/win10/fast_forward.png and b/public/images/emoji/win10/fast_forward.png differ diff --git a/public/images/emoji/win10/fax.png b/public/images/emoji/win10/fax.png old mode 100755 new mode 100644 index 4a0018127..be415263f Binary files a/public/images/emoji/win10/fax.png and b/public/images/emoji/win10/fax.png differ diff --git a/public/images/emoji/win10/fearful.png b/public/images/emoji/win10/fearful.png old mode 100755 new mode 100644 index a08e05c5a..ce68936b3 Binary files a/public/images/emoji/win10/fearful.png and b/public/images/emoji/win10/fearful.png differ diff --git a/public/images/emoji/win10/feet.png b/public/images/emoji/win10/feet.png old mode 100755 new mode 100644 index 0e3a92672..c22de58cf Binary files a/public/images/emoji/win10/feet.png and b/public/images/emoji/win10/feet.png differ diff --git a/public/images/emoji/win10/female_couple_with_heart.png b/public/images/emoji/win10/female_couple_with_heart.png new file mode 100644 index 000000000..1156f31e6 Binary files /dev/null and b/public/images/emoji/win10/female_couple_with_heart.png differ diff --git a/public/images/emoji/win10/female_couplekiss.png b/public/images/emoji/win10/female_couplekiss.png new file mode 100644 index 000000000..b5e10de71 Binary files /dev/null and b/public/images/emoji/win10/female_couplekiss.png differ diff --git a/public/images/emoji/win10/ferris_wheel.png b/public/images/emoji/win10/ferris_wheel.png old mode 100755 new mode 100644 index db488ba22..ed6f08cbe Binary files a/public/images/emoji/win10/ferris_wheel.png and b/public/images/emoji/win10/ferris_wheel.png differ diff --git a/public/images/emoji/win10/ferry.png b/public/images/emoji/win10/ferry.png old mode 100755 new mode 100644 index 7298d407e..af1c41acb Binary files a/public/images/emoji/win10/ferry.png and b/public/images/emoji/win10/ferry.png differ diff --git a/public/images/emoji/win10/field_hockey.png b/public/images/emoji/win10/field_hockey.png old mode 100755 new mode 100644 index e1e3ec32b..15e95221f Binary files a/public/images/emoji/win10/field_hockey.png and b/public/images/emoji/win10/field_hockey.png differ diff --git a/public/images/emoji/win10/file_cabinet.png b/public/images/emoji/win10/file_cabinet.png old mode 100755 new mode 100644 index e60b46bd9..18e3bcb7e Binary files a/public/images/emoji/win10/file_cabinet.png and b/public/images/emoji/win10/file_cabinet.png differ diff --git a/public/images/emoji/win10/file_folder.png b/public/images/emoji/win10/file_folder.png old mode 100755 new mode 100644 index 4be39d04d..52ec38b4e Binary files a/public/images/emoji/win10/file_folder.png and b/public/images/emoji/win10/file_folder.png differ diff --git a/public/images/emoji/win10/film_frames.png b/public/images/emoji/win10/film_frames.png old mode 100755 new mode 100644 index 39dbef045..09256e78e Binary files a/public/images/emoji/win10/film_frames.png and b/public/images/emoji/win10/film_frames.png differ diff --git a/public/images/emoji/win10/film_projector.png b/public/images/emoji/win10/film_projector.png new file mode 100644 index 000000000..bdb6c3dd2 Binary files /dev/null and b/public/images/emoji/win10/film_projector.png differ diff --git a/public/images/emoji/win10/fire.png b/public/images/emoji/win10/fire.png old mode 100755 new mode 100644 index 7487af191..04614495c Binary files a/public/images/emoji/win10/fire.png and b/public/images/emoji/win10/fire.png differ diff --git a/public/images/emoji/win10/fire_engine.png b/public/images/emoji/win10/fire_engine.png old mode 100755 new mode 100644 index 3e1bb1054..b52b937be Binary files a/public/images/emoji/win10/fire_engine.png and b/public/images/emoji/win10/fire_engine.png differ diff --git a/public/images/emoji/win10/fireworks.png b/public/images/emoji/win10/fireworks.png old mode 100755 new mode 100644 index 9f26c63e3..046ad45b8 Binary files a/public/images/emoji/win10/fireworks.png and b/public/images/emoji/win10/fireworks.png differ diff --git a/public/images/emoji/win10/first_quarter_moon.png b/public/images/emoji/win10/first_quarter_moon.png old mode 100755 new mode 100644 index fa59b439b..00182d42c Binary files a/public/images/emoji/win10/first_quarter_moon.png and b/public/images/emoji/win10/first_quarter_moon.png differ diff --git a/public/images/emoji/win10/first_quarter_moon_with_face.png b/public/images/emoji/win10/first_quarter_moon_with_face.png old mode 100755 new mode 100644 index aa3a9362a..1fe023bcc Binary files a/public/images/emoji/win10/first_quarter_moon_with_face.png and b/public/images/emoji/win10/first_quarter_moon_with_face.png differ diff --git a/public/images/emoji/win10/fish.png b/public/images/emoji/win10/fish.png old mode 100755 new mode 100644 index 59489f002..77d6ebf54 Binary files a/public/images/emoji/win10/fish.png and b/public/images/emoji/win10/fish.png differ diff --git a/public/images/emoji/win10/fish_cake.png b/public/images/emoji/win10/fish_cake.png old mode 100755 new mode 100644 index bcea762bb..cf41ce52c Binary files a/public/images/emoji/win10/fish_cake.png and b/public/images/emoji/win10/fish_cake.png differ diff --git a/public/images/emoji/win10/fishing_pole_and_fish.png b/public/images/emoji/win10/fishing_pole_and_fish.png old mode 100755 new mode 100644 index 04a62c0e8..093e8feb0 Binary files a/public/images/emoji/win10/fishing_pole_and_fish.png and b/public/images/emoji/win10/fishing_pole_and_fish.png differ diff --git a/public/images/emoji/win10/fist.png b/public/images/emoji/win10/fist.png old mode 100755 new mode 100644 index 726bf7d61..90a3ccd9a Binary files a/public/images/emoji/win10/fist.png and b/public/images/emoji/win10/fist.png differ diff --git a/public/images/emoji/win10/five.png b/public/images/emoji/win10/five.png old mode 100755 new mode 100644 index 1e284bf61..e69de29bb Binary files a/public/images/emoji/win10/five.png and b/public/images/emoji/win10/five.png differ diff --git a/public/images/emoji/win10/flag_black.png b/public/images/emoji/win10/flag_black.png old mode 100755 new mode 100644 index 55c3296bd..8aea4b35e Binary files a/public/images/emoji/win10/flag_black.png and b/public/images/emoji/win10/flag_black.png differ diff --git a/public/images/emoji/win10/flag_cn.png b/public/images/emoji/win10/flag_cn.png index 70fa7f95a..646f950b5 100644 Binary files a/public/images/emoji/win10/flag_cn.png and b/public/images/emoji/win10/flag_cn.png differ diff --git a/public/images/emoji/win10/flag_es.png b/public/images/emoji/win10/flag_es.png index 2680a2af2..7a4fce76b 100644 Binary files a/public/images/emoji/win10/flag_es.png and b/public/images/emoji/win10/flag_es.png differ diff --git a/public/images/emoji/win10/flag_kr.png b/public/images/emoji/win10/flag_kr.png index a525c17d9..f711c775b 100644 Binary files a/public/images/emoji/win10/flag_kr.png and b/public/images/emoji/win10/flag_kr.png differ diff --git a/public/images/emoji/win10/flag_white.png b/public/images/emoji/win10/flag_white.png old mode 100755 new mode 100644 index 8b793b28c..0faada583 Binary files a/public/images/emoji/win10/flag_white.png and b/public/images/emoji/win10/flag_white.png differ diff --git a/public/images/emoji/win10/flags.png b/public/images/emoji/win10/flags.png old mode 100755 new mode 100644 index c8fca7a61..af21b0579 Binary files a/public/images/emoji/win10/flags.png and b/public/images/emoji/win10/flags.png differ diff --git a/public/images/emoji/win10/flame.png b/public/images/emoji/win10/flame.png new file mode 100644 index 000000000..04614495c Binary files /dev/null and b/public/images/emoji/win10/flame.png differ diff --git a/public/images/emoji/win10/flashlight.png b/public/images/emoji/win10/flashlight.png old mode 100755 new mode 100644 index 1575ac12b..0262c6f39 Binary files a/public/images/emoji/win10/flashlight.png and b/public/images/emoji/win10/flashlight.png differ diff --git a/public/images/emoji/win10/fleur-de-lis.png b/public/images/emoji/win10/fleur-de-lis.png old mode 100755 new mode 100644 index d84edbe73..1c33f99fc Binary files a/public/images/emoji/win10/fleur-de-lis.png and b/public/images/emoji/win10/fleur-de-lis.png differ diff --git a/public/images/emoji/win10/floppy_disk.png b/public/images/emoji/win10/floppy_disk.png old mode 100755 new mode 100644 index f89ffad43..def719047 Binary files a/public/images/emoji/win10/floppy_disk.png and b/public/images/emoji/win10/floppy_disk.png differ diff --git a/public/images/emoji/win10/flower_playing_cards.png b/public/images/emoji/win10/flower_playing_cards.png old mode 100755 new mode 100644 index a5526fedc..480238847 Binary files a/public/images/emoji/win10/flower_playing_cards.png and b/public/images/emoji/win10/flower_playing_cards.png differ diff --git a/public/images/emoji/win10/flushed.png b/public/images/emoji/win10/flushed.png old mode 100755 new mode 100644 index cca44bfc3..909b360ab Binary files a/public/images/emoji/win10/flushed.png and b/public/images/emoji/win10/flushed.png differ diff --git a/public/images/emoji/win10/fog.png b/public/images/emoji/win10/fog.png old mode 100755 new mode 100644 index efd14562a..bb664d1fe Binary files a/public/images/emoji/win10/fog.png and b/public/images/emoji/win10/fog.png differ diff --git a/public/images/emoji/win10/foggy.png b/public/images/emoji/win10/foggy.png old mode 100755 new mode 100644 index 3e8219484..7a4ec72ff Binary files a/public/images/emoji/win10/foggy.png and b/public/images/emoji/win10/foggy.png differ diff --git a/public/images/emoji/win10/football.png b/public/images/emoji/win10/football.png old mode 100755 new mode 100644 index 76af9a899..eac338f8b Binary files a/public/images/emoji/win10/football.png and b/public/images/emoji/win10/football.png differ diff --git a/public/images/emoji/win10/footprints.png b/public/images/emoji/win10/footprints.png old mode 100755 new mode 100644 index 535cca58e..9d5deb5aa Binary files a/public/images/emoji/win10/footprints.png and b/public/images/emoji/win10/footprints.png differ diff --git a/public/images/emoji/win10/fork_and_knife.png b/public/images/emoji/win10/fork_and_knife.png old mode 100755 new mode 100644 index 2fe5d1ae1..9351a710a Binary files a/public/images/emoji/win10/fork_and_knife.png and b/public/images/emoji/win10/fork_and_knife.png differ diff --git a/public/images/emoji/win10/fork_and_knife_with_plate.png b/public/images/emoji/win10/fork_and_knife_with_plate.png new file mode 100644 index 000000000..d7a2654b4 Binary files /dev/null and b/public/images/emoji/win10/fork_and_knife_with_plate.png differ diff --git a/public/images/emoji/win10/fork_knife_plate.png b/public/images/emoji/win10/fork_knife_plate.png old mode 100755 new mode 100644 index 424644ed5..d7a2654b4 Binary files a/public/images/emoji/win10/fork_knife_plate.png and b/public/images/emoji/win10/fork_knife_plate.png differ diff --git a/public/images/emoji/win10/fountain.png b/public/images/emoji/win10/fountain.png old mode 100755 new mode 100644 index 997b5176a..66f4a2342 Binary files a/public/images/emoji/win10/fountain.png and b/public/images/emoji/win10/fountain.png differ diff --git a/public/images/emoji/win10/four.png b/public/images/emoji/win10/four.png old mode 100755 new mode 100644 index a5d7e4f82..e69de29bb Binary files a/public/images/emoji/win10/four.png and b/public/images/emoji/win10/four.png differ diff --git a/public/images/emoji/win10/four_leaf_clover.png b/public/images/emoji/win10/four_leaf_clover.png old mode 100755 new mode 100644 index 6b67c6bbf..128273eb4 Binary files a/public/images/emoji/win10/four_leaf_clover.png and b/public/images/emoji/win10/four_leaf_clover.png differ diff --git a/public/images/emoji/win10/fr.png b/public/images/emoji/win10/fr.png new file mode 100644 index 000000000..ec24be168 Binary files /dev/null and b/public/images/emoji/win10/fr.png differ diff --git a/public/images/emoji/win10/frame_photo.png b/public/images/emoji/win10/frame_photo.png old mode 100755 new mode 100644 index 4ce94379c..e6eff0fa6 Binary files a/public/images/emoji/win10/frame_photo.png and b/public/images/emoji/win10/frame_photo.png differ diff --git a/public/images/emoji/win10/frame_with_picture.png b/public/images/emoji/win10/frame_with_picture.png new file mode 100644 index 000000000..e6eff0fa6 Binary files /dev/null and b/public/images/emoji/win10/frame_with_picture.png differ diff --git a/public/images/emoji/win10/free.png b/public/images/emoji/win10/free.png old mode 100755 new mode 100644 index 1915f6ba8..9886f1820 Binary files a/public/images/emoji/win10/free.png and b/public/images/emoji/win10/free.png differ diff --git a/public/images/emoji/win10/fried_shrimp.png b/public/images/emoji/win10/fried_shrimp.png old mode 100755 new mode 100644 index 2a2a5a2ba..193a6a909 Binary files a/public/images/emoji/win10/fried_shrimp.png and b/public/images/emoji/win10/fried_shrimp.png differ diff --git a/public/images/emoji/win10/fries.png b/public/images/emoji/win10/fries.png old mode 100755 new mode 100644 index fc3817ea0..8f9a84bc4 Binary files a/public/images/emoji/win10/fries.png and b/public/images/emoji/win10/fries.png differ diff --git a/public/images/emoji/win10/frog.png b/public/images/emoji/win10/frog.png old mode 100755 new mode 100644 index b85998d95..4aa299ed7 Binary files a/public/images/emoji/win10/frog.png and b/public/images/emoji/win10/frog.png differ diff --git a/public/images/emoji/win10/frowning.png b/public/images/emoji/win10/frowning.png old mode 100755 new mode 100644 index 8395e6889..2359ddb10 Binary files a/public/images/emoji/win10/frowning.png and b/public/images/emoji/win10/frowning.png differ diff --git a/public/images/emoji/win10/frowning2.png b/public/images/emoji/win10/frowning2.png old mode 100755 new mode 100644 index 420abe3df..4ec64d8ef Binary files a/public/images/emoji/win10/frowning2.png and b/public/images/emoji/win10/frowning2.png differ diff --git a/public/images/emoji/win10/fuelpump.png b/public/images/emoji/win10/fuelpump.png old mode 100755 new mode 100644 index b515d58a7..be7bd0607 Binary files a/public/images/emoji/win10/fuelpump.png and b/public/images/emoji/win10/fuelpump.png differ diff --git a/public/images/emoji/win10/full_moon.png b/public/images/emoji/win10/full_moon.png old mode 100755 new mode 100644 index de485189b..d0e794b2b Binary files a/public/images/emoji/win10/full_moon.png and b/public/images/emoji/win10/full_moon.png differ diff --git a/public/images/emoji/win10/full_moon_with_face.png b/public/images/emoji/win10/full_moon_with_face.png old mode 100755 new mode 100644 index 5d0898824..f86c1c65f Binary files a/public/images/emoji/win10/full_moon_with_face.png and b/public/images/emoji/win10/full_moon_with_face.png differ diff --git a/public/images/emoji/win10/funeral_urn.png b/public/images/emoji/win10/funeral_urn.png new file mode 100644 index 000000000..0b9274ec8 Binary files /dev/null and b/public/images/emoji/win10/funeral_urn.png differ diff --git a/public/images/emoji/win10/game_die.png b/public/images/emoji/win10/game_die.png old mode 100755 new mode 100644 index 6debfc516..c50ff7640 Binary files a/public/images/emoji/win10/game_die.png and b/public/images/emoji/win10/game_die.png differ diff --git a/public/images/emoji/win10/gb.png b/public/images/emoji/win10/gb.png new file mode 100644 index 000000000..099c1c49f Binary files /dev/null and b/public/images/emoji/win10/gb.png differ diff --git a/public/images/emoji/win10/gear.png b/public/images/emoji/win10/gear.png old mode 100755 new mode 100644 index 7135007b1..80abe6d28 Binary files a/public/images/emoji/win10/gear.png and b/public/images/emoji/win10/gear.png differ diff --git a/public/images/emoji/win10/gem.png b/public/images/emoji/win10/gem.png old mode 100755 new mode 100644 index 864f0d701..19a347d0c Binary files a/public/images/emoji/win10/gem.png and b/public/images/emoji/win10/gem.png differ diff --git a/public/images/emoji/win10/gemini.png b/public/images/emoji/win10/gemini.png old mode 100755 new mode 100644 index 9e859cf69..d12bbf2bc Binary files a/public/images/emoji/win10/gemini.png and b/public/images/emoji/win10/gemini.png differ diff --git a/public/images/emoji/win10/ghost.png b/public/images/emoji/win10/ghost.png old mode 100755 new mode 100644 index 4a3e13e00..01b243fbf Binary files a/public/images/emoji/win10/ghost.png and b/public/images/emoji/win10/ghost.png differ diff --git a/public/images/emoji/win10/gift.png b/public/images/emoji/win10/gift.png old mode 100755 new mode 100644 index d8d495cba..363bf8d6e Binary files a/public/images/emoji/win10/gift.png and b/public/images/emoji/win10/gift.png differ diff --git a/public/images/emoji/win10/gift_heart.png b/public/images/emoji/win10/gift_heart.png old mode 100755 new mode 100644 index 6a87d7b1e..5a9aa5ef8 Binary files a/public/images/emoji/win10/gift_heart.png and b/public/images/emoji/win10/gift_heart.png differ diff --git a/public/images/emoji/win10/girl.png b/public/images/emoji/win10/girl.png old mode 100755 new mode 100644 index 83d7f6c5c..c29530de5 Binary files a/public/images/emoji/win10/girl.png and b/public/images/emoji/win10/girl.png differ diff --git a/public/images/emoji/win10/globe_with_meridians.png b/public/images/emoji/win10/globe_with_meridians.png old mode 100755 new mode 100644 index 75e265593..2e1e34c1d Binary files a/public/images/emoji/win10/globe_with_meridians.png and b/public/images/emoji/win10/globe_with_meridians.png differ diff --git a/public/images/emoji/win10/goat.png b/public/images/emoji/win10/goat.png old mode 100755 new mode 100644 index 3d3700063..9d7d662f5 Binary files a/public/images/emoji/win10/goat.png and b/public/images/emoji/win10/goat.png differ diff --git a/public/images/emoji/win10/golf.png b/public/images/emoji/win10/golf.png old mode 100755 new mode 100644 index 05aaf8f93..dae11477d Binary files a/public/images/emoji/win10/golf.png and b/public/images/emoji/win10/golf.png differ diff --git a/public/images/emoji/win10/golfer.png b/public/images/emoji/win10/golfer.png old mode 100755 new mode 100644 index 64c56b517..47fc34cff Binary files a/public/images/emoji/win10/golfer.png and b/public/images/emoji/win10/golfer.png differ diff --git a/public/images/emoji/win10/grandma.png b/public/images/emoji/win10/grandma.png new file mode 100644 index 000000000..54985012d Binary files /dev/null and b/public/images/emoji/win10/grandma.png differ diff --git a/public/images/emoji/win10/grapes.png b/public/images/emoji/win10/grapes.png old mode 100755 new mode 100644 index 8939b99a5..d8e52f07b Binary files a/public/images/emoji/win10/grapes.png and b/public/images/emoji/win10/grapes.png differ diff --git a/public/images/emoji/win10/green_apple.png b/public/images/emoji/win10/green_apple.png old mode 100755 new mode 100644 index 694c8032d..6a7bba92b Binary files a/public/images/emoji/win10/green_apple.png and b/public/images/emoji/win10/green_apple.png differ diff --git a/public/images/emoji/win10/green_book.png b/public/images/emoji/win10/green_book.png old mode 100755 new mode 100644 index f37c588c4..91fa146e3 Binary files a/public/images/emoji/win10/green_book.png and b/public/images/emoji/win10/green_book.png differ diff --git a/public/images/emoji/win10/green_heart.png b/public/images/emoji/win10/green_heart.png old mode 100755 new mode 100644 index b4c4235a0..2e3a89828 Binary files a/public/images/emoji/win10/green_heart.png and b/public/images/emoji/win10/green_heart.png differ diff --git a/public/images/emoji/win10/grey_exclamation.png b/public/images/emoji/win10/grey_exclamation.png old mode 100755 new mode 100644 index 60e3b1ea4..10d3c5487 Binary files a/public/images/emoji/win10/grey_exclamation.png and b/public/images/emoji/win10/grey_exclamation.png differ diff --git a/public/images/emoji/win10/grey_question.png b/public/images/emoji/win10/grey_question.png old mode 100755 new mode 100644 index a319651ff..a5fcc1025 Binary files a/public/images/emoji/win10/grey_question.png and b/public/images/emoji/win10/grey_question.png differ diff --git a/public/images/emoji/win10/grimacing.png b/public/images/emoji/win10/grimacing.png old mode 100755 new mode 100644 index d8706ad8c..764458e23 Binary files a/public/images/emoji/win10/grimacing.png and b/public/images/emoji/win10/grimacing.png differ diff --git a/public/images/emoji/win10/grin.png b/public/images/emoji/win10/grin.png old mode 100755 new mode 100644 index 04640ff11..fb78d415a Binary files a/public/images/emoji/win10/grin.png and b/public/images/emoji/win10/grin.png differ diff --git a/public/images/emoji/win10/grinning.png b/public/images/emoji/win10/grinning.png old mode 100755 new mode 100644 index d11bbe593..7a821e479 Binary files a/public/images/emoji/win10/grinning.png and b/public/images/emoji/win10/grinning.png differ diff --git a/public/images/emoji/win10/guardsman.png b/public/images/emoji/win10/guardsman.png old mode 100755 new mode 100644 index 16142da04..e027f43d7 Binary files a/public/images/emoji/win10/guardsman.png and b/public/images/emoji/win10/guardsman.png differ diff --git a/public/images/emoji/win10/guitar.png b/public/images/emoji/win10/guitar.png old mode 100755 new mode 100644 index d7533459d..9f2056f02 Binary files a/public/images/emoji/win10/guitar.png and b/public/images/emoji/win10/guitar.png differ diff --git a/public/images/emoji/win10/gun.png b/public/images/emoji/win10/gun.png old mode 100755 new mode 100644 index 010d88e00..6908d3d82 Binary files a/public/images/emoji/win10/gun.png and b/public/images/emoji/win10/gun.png differ diff --git a/public/images/emoji/win10/haircut.png b/public/images/emoji/win10/haircut.png old mode 100755 new mode 100644 index 842c94c39..b1ba7f551 Binary files a/public/images/emoji/win10/haircut.png and b/public/images/emoji/win10/haircut.png differ diff --git a/public/images/emoji/win10/hamburger.png b/public/images/emoji/win10/hamburger.png old mode 100755 new mode 100644 index b191b0208..dec4b47bf Binary files a/public/images/emoji/win10/hamburger.png and b/public/images/emoji/win10/hamburger.png differ diff --git a/public/images/emoji/win10/hammer.png b/public/images/emoji/win10/hammer.png old mode 100755 new mode 100644 index dac91154c..f1d7b64a6 Binary files a/public/images/emoji/win10/hammer.png and b/public/images/emoji/win10/hammer.png differ diff --git a/public/images/emoji/win10/hammer_and_pick.png b/public/images/emoji/win10/hammer_and_pick.png new file mode 100644 index 000000000..fefddf3d2 Binary files /dev/null and b/public/images/emoji/win10/hammer_and_pick.png differ diff --git a/public/images/emoji/win10/hammer_and_wrench.png b/public/images/emoji/win10/hammer_and_wrench.png new file mode 100644 index 000000000..3b812fd7d Binary files /dev/null and b/public/images/emoji/win10/hammer_and_wrench.png differ diff --git a/public/images/emoji/win10/hammer_pick.png b/public/images/emoji/win10/hammer_pick.png old mode 100755 new mode 100644 index 8484cb489..fefddf3d2 Binary files a/public/images/emoji/win10/hammer_pick.png and b/public/images/emoji/win10/hammer_pick.png differ diff --git a/public/images/emoji/win10/hamster.png b/public/images/emoji/win10/hamster.png old mode 100755 new mode 100644 index c34f1957c..0a86a72b6 Binary files a/public/images/emoji/win10/hamster.png and b/public/images/emoji/win10/hamster.png differ diff --git a/public/images/emoji/win10/hand_splayed.png b/public/images/emoji/win10/hand_splayed.png old mode 100755 new mode 100644 index 5d5e4797c..11eee69f3 Binary files a/public/images/emoji/win10/hand_splayed.png and b/public/images/emoji/win10/hand_splayed.png differ diff --git a/public/images/emoji/win10/handbag.png b/public/images/emoji/win10/handbag.png old mode 100755 new mode 100644 index 08e122846..dff6af3fb Binary files a/public/images/emoji/win10/handbag.png and b/public/images/emoji/win10/handbag.png differ diff --git a/public/images/emoji/win10/hankey.png b/public/images/emoji/win10/hankey.png new file mode 100644 index 000000000..1d0136d3b Binary files /dev/null and b/public/images/emoji/win10/hankey.png differ diff --git a/public/images/emoji/win10/hash.png b/public/images/emoji/win10/hash.png old mode 100755 new mode 100644 index 7d06801e1..e69de29bb Binary files a/public/images/emoji/win10/hash.png and b/public/images/emoji/win10/hash.png differ diff --git a/public/images/emoji/win10/hatched_chick.png b/public/images/emoji/win10/hatched_chick.png old mode 100755 new mode 100644 index b6e0d7323..47d15db5f Binary files a/public/images/emoji/win10/hatched_chick.png and b/public/images/emoji/win10/hatched_chick.png differ diff --git a/public/images/emoji/win10/hatching_chick.png b/public/images/emoji/win10/hatching_chick.png old mode 100755 new mode 100644 index 40f544a82..1a9c76044 Binary files a/public/images/emoji/win10/hatching_chick.png and b/public/images/emoji/win10/hatching_chick.png differ diff --git a/public/images/emoji/win10/head_bandage.png b/public/images/emoji/win10/head_bandage.png old mode 100755 new mode 100644 index 68f67d61c..21b10b432 Binary files a/public/images/emoji/win10/head_bandage.png and b/public/images/emoji/win10/head_bandage.png differ diff --git a/public/images/emoji/win10/headphones.png b/public/images/emoji/win10/headphones.png old mode 100755 new mode 100644 index 1681e8207..6a873055b Binary files a/public/images/emoji/win10/headphones.png and b/public/images/emoji/win10/headphones.png differ diff --git a/public/images/emoji/win10/hear_no_evil.png b/public/images/emoji/win10/hear_no_evil.png old mode 100755 new mode 100644 index a4097c82f..47e8fdd2b Binary files a/public/images/emoji/win10/hear_no_evil.png and b/public/images/emoji/win10/hear_no_evil.png differ diff --git a/public/images/emoji/win10/heart.png b/public/images/emoji/win10/heart.png old mode 100755 new mode 100644 index 07e1b2d64..af5a7990e Binary files a/public/images/emoji/win10/heart.png and b/public/images/emoji/win10/heart.png differ diff --git a/public/images/emoji/win10/heart_decoration.png b/public/images/emoji/win10/heart_decoration.png old mode 100755 new mode 100644 index d1bfa105b..df519fd4d Binary files a/public/images/emoji/win10/heart_decoration.png and b/public/images/emoji/win10/heart_decoration.png differ diff --git a/public/images/emoji/win10/heart_exclamation.png b/public/images/emoji/win10/heart_exclamation.png old mode 100755 new mode 100644 index 8851226e3..57971277a Binary files a/public/images/emoji/win10/heart_exclamation.png and b/public/images/emoji/win10/heart_exclamation.png differ diff --git a/public/images/emoji/win10/heart_eyes.png b/public/images/emoji/win10/heart_eyes.png old mode 100755 new mode 100644 index cb50a2d58..fb971d06b Binary files a/public/images/emoji/win10/heart_eyes.png and b/public/images/emoji/win10/heart_eyes.png differ diff --git a/public/images/emoji/win10/heart_eyes_cat.png b/public/images/emoji/win10/heart_eyes_cat.png old mode 100755 new mode 100644 index 62d0ecb2b..ac759ff5e Binary files a/public/images/emoji/win10/heart_eyes_cat.png and b/public/images/emoji/win10/heart_eyes_cat.png differ diff --git a/public/images/emoji/win10/heartbeat.png b/public/images/emoji/win10/heartbeat.png old mode 100755 new mode 100644 index e321779ba..a79f1ebd2 Binary files a/public/images/emoji/win10/heartbeat.png and b/public/images/emoji/win10/heartbeat.png differ diff --git a/public/images/emoji/win10/heartpulse.png b/public/images/emoji/win10/heartpulse.png old mode 100755 new mode 100644 index 5309c2990..fbe097e60 Binary files a/public/images/emoji/win10/heartpulse.png and b/public/images/emoji/win10/heartpulse.png differ diff --git a/public/images/emoji/win10/hearts.png b/public/images/emoji/win10/hearts.png old mode 100755 new mode 100644 index c57f54d68..bbc5dc9f8 Binary files a/public/images/emoji/win10/hearts.png and b/public/images/emoji/win10/hearts.png differ diff --git a/public/images/emoji/win10/heavy_check_mark.png b/public/images/emoji/win10/heavy_check_mark.png old mode 100755 new mode 100644 index 5a1b3fd29..f17dbc3ab Binary files a/public/images/emoji/win10/heavy_check_mark.png and b/public/images/emoji/win10/heavy_check_mark.png differ diff --git a/public/images/emoji/win10/heavy_division_sign.png b/public/images/emoji/win10/heavy_division_sign.png old mode 100755 new mode 100644 index 845ac2ab4..512afc526 Binary files a/public/images/emoji/win10/heavy_division_sign.png and b/public/images/emoji/win10/heavy_division_sign.png differ diff --git a/public/images/emoji/win10/heavy_dollar_sign.png b/public/images/emoji/win10/heavy_dollar_sign.png old mode 100755 new mode 100644 index 1b79cc4d0..04e2f6272 Binary files a/public/images/emoji/win10/heavy_dollar_sign.png and b/public/images/emoji/win10/heavy_dollar_sign.png differ diff --git a/public/images/emoji/win10/heavy_heart_exclamation_mark_ornament.png b/public/images/emoji/win10/heavy_heart_exclamation_mark_ornament.png new file mode 100644 index 000000000..57971277a Binary files /dev/null and b/public/images/emoji/win10/heavy_heart_exclamation_mark_ornament.png differ diff --git a/public/images/emoji/win10/heavy_minus_sign.png b/public/images/emoji/win10/heavy_minus_sign.png old mode 100755 new mode 100644 index 0fba513e5..5eda9fc5d Binary files a/public/images/emoji/win10/heavy_minus_sign.png and b/public/images/emoji/win10/heavy_minus_sign.png differ diff --git a/public/images/emoji/win10/heavy_multiplication_x.png b/public/images/emoji/win10/heavy_multiplication_x.png old mode 100755 new mode 100644 index 87baf4ec7..c0fef1987 Binary files a/public/images/emoji/win10/heavy_multiplication_x.png and b/public/images/emoji/win10/heavy_multiplication_x.png differ diff --git a/public/images/emoji/win10/heavy_plus_sign.png b/public/images/emoji/win10/heavy_plus_sign.png old mode 100755 new mode 100644 index 260bf50a0..5c4449229 Binary files a/public/images/emoji/win10/heavy_plus_sign.png and b/public/images/emoji/win10/heavy_plus_sign.png differ diff --git a/public/images/emoji/win10/helicopter.png b/public/images/emoji/win10/helicopter.png old mode 100755 new mode 100644 index f5151328b..cb9e82ad0 Binary files a/public/images/emoji/win10/helicopter.png and b/public/images/emoji/win10/helicopter.png differ diff --git a/public/images/emoji/win10/helmet_with_cross.png b/public/images/emoji/win10/helmet_with_cross.png old mode 100755 new mode 100644 index 3ef95fe36..15d6b81ca Binary files a/public/images/emoji/win10/helmet_with_cross.png and b/public/images/emoji/win10/helmet_with_cross.png differ diff --git a/public/images/emoji/win10/helmet_with_white_cross.png b/public/images/emoji/win10/helmet_with_white_cross.png new file mode 100644 index 000000000..15d6b81ca Binary files /dev/null and b/public/images/emoji/win10/helmet_with_white_cross.png differ diff --git a/public/images/emoji/win10/herb.png b/public/images/emoji/win10/herb.png old mode 100755 new mode 100644 index f051285dc..3640bf436 Binary files a/public/images/emoji/win10/herb.png and b/public/images/emoji/win10/herb.png differ diff --git a/public/images/emoji/win10/hibiscus.png b/public/images/emoji/win10/hibiscus.png old mode 100755 new mode 100644 index 786f94342..2da82a871 Binary files a/public/images/emoji/win10/hibiscus.png and b/public/images/emoji/win10/hibiscus.png differ diff --git a/public/images/emoji/win10/high_brightness.png b/public/images/emoji/win10/high_brightness.png old mode 100755 new mode 100644 index 4cbc95082..6d6f61746 Binary files a/public/images/emoji/win10/high_brightness.png and b/public/images/emoji/win10/high_brightness.png differ diff --git a/public/images/emoji/win10/high_heel.png b/public/images/emoji/win10/high_heel.png old mode 100755 new mode 100644 index 7e812fe30..04d15d0f9 Binary files a/public/images/emoji/win10/high_heel.png and b/public/images/emoji/win10/high_heel.png differ diff --git a/public/images/emoji/win10/hockey.png b/public/images/emoji/win10/hockey.png old mode 100755 new mode 100644 index 34e8fd973..f47c9cd73 Binary files a/public/images/emoji/win10/hockey.png and b/public/images/emoji/win10/hockey.png differ diff --git a/public/images/emoji/win10/hole.png b/public/images/emoji/win10/hole.png old mode 100755 new mode 100644 index 4db9b7170..75586c879 Binary files a/public/images/emoji/win10/hole.png and b/public/images/emoji/win10/hole.png differ diff --git a/public/images/emoji/win10/homes.png b/public/images/emoji/win10/homes.png old mode 100755 new mode 100644 index 4d66a4614..41bc48e97 Binary files a/public/images/emoji/win10/homes.png and b/public/images/emoji/win10/homes.png differ diff --git a/public/images/emoji/win10/honey_pot.png b/public/images/emoji/win10/honey_pot.png old mode 100755 new mode 100644 index aa736e6c1..42cc7cb99 Binary files a/public/images/emoji/win10/honey_pot.png and b/public/images/emoji/win10/honey_pot.png differ diff --git a/public/images/emoji/win10/horse.png b/public/images/emoji/win10/horse.png old mode 100755 new mode 100644 index a4a42b4dc..fa807f52f Binary files a/public/images/emoji/win10/horse.png and b/public/images/emoji/win10/horse.png differ diff --git a/public/images/emoji/win10/horse_racing.png b/public/images/emoji/win10/horse_racing.png old mode 100755 new mode 100644 index 5e3fec191..567684a96 Binary files a/public/images/emoji/win10/horse_racing.png and b/public/images/emoji/win10/horse_racing.png differ diff --git a/public/images/emoji/win10/hospital.png b/public/images/emoji/win10/hospital.png old mode 100755 new mode 100644 index 12cbc6693..f2fac228e Binary files a/public/images/emoji/win10/hospital.png and b/public/images/emoji/win10/hospital.png differ diff --git a/public/images/emoji/win10/hot_dog.png b/public/images/emoji/win10/hot_dog.png new file mode 100644 index 000000000..97d2de621 Binary files /dev/null and b/public/images/emoji/win10/hot_dog.png differ diff --git a/public/images/emoji/win10/hot_pepper.png b/public/images/emoji/win10/hot_pepper.png old mode 100755 new mode 100644 index 39039a66d..773185b52 Binary files a/public/images/emoji/win10/hot_pepper.png and b/public/images/emoji/win10/hot_pepper.png differ diff --git a/public/images/emoji/win10/hotdog.png b/public/images/emoji/win10/hotdog.png old mode 100755 new mode 100644 index 05333bc0a..97d2de621 Binary files a/public/images/emoji/win10/hotdog.png and b/public/images/emoji/win10/hotdog.png differ diff --git a/public/images/emoji/win10/hotel.png b/public/images/emoji/win10/hotel.png old mode 100755 new mode 100644 index 8b642172b..27a95fb94 Binary files a/public/images/emoji/win10/hotel.png and b/public/images/emoji/win10/hotel.png differ diff --git a/public/images/emoji/win10/hotsprings.png b/public/images/emoji/win10/hotsprings.png old mode 100755 new mode 100644 index 379f8a463..9ab222e72 Binary files a/public/images/emoji/win10/hotsprings.png and b/public/images/emoji/win10/hotsprings.png differ diff --git a/public/images/emoji/win10/hourglass.png b/public/images/emoji/win10/hourglass.png old mode 100755 new mode 100644 index 0e3990cdf..d71c6c265 Binary files a/public/images/emoji/win10/hourglass.png and b/public/images/emoji/win10/hourglass.png differ diff --git a/public/images/emoji/win10/hourglass_flowing_sand.png b/public/images/emoji/win10/hourglass_flowing_sand.png old mode 100755 new mode 100644 index 856379c98..db8976275 Binary files a/public/images/emoji/win10/hourglass_flowing_sand.png and b/public/images/emoji/win10/hourglass_flowing_sand.png differ diff --git a/public/images/emoji/win10/house.png b/public/images/emoji/win10/house.png old mode 100755 new mode 100644 index 33d6348d3..3edc3e04e Binary files a/public/images/emoji/win10/house.png and b/public/images/emoji/win10/house.png differ diff --git a/public/images/emoji/win10/house_abandoned.png b/public/images/emoji/win10/house_abandoned.png old mode 100755 new mode 100644 index 05068e994..14a514ed4 Binary files a/public/images/emoji/win10/house_abandoned.png and b/public/images/emoji/win10/house_abandoned.png differ diff --git a/public/images/emoji/win10/house_buildings.png b/public/images/emoji/win10/house_buildings.png new file mode 100644 index 000000000..41bc48e97 Binary files /dev/null and b/public/images/emoji/win10/house_buildings.png differ diff --git a/public/images/emoji/win10/house_with_garden.png b/public/images/emoji/win10/house_with_garden.png old mode 100755 new mode 100644 index 28855bf76..fc2013281 Binary files a/public/images/emoji/win10/house_with_garden.png and b/public/images/emoji/win10/house_with_garden.png differ diff --git a/public/images/emoji/win10/hugging.png b/public/images/emoji/win10/hugging.png old mode 100755 new mode 100644 index 5daafc72d..a48b73e97 Binary files a/public/images/emoji/win10/hugging.png and b/public/images/emoji/win10/hugging.png differ diff --git a/public/images/emoji/win10/hugging_face.png b/public/images/emoji/win10/hugging_face.png new file mode 100644 index 000000000..a48b73e97 Binary files /dev/null and b/public/images/emoji/win10/hugging_face.png differ diff --git a/public/images/emoji/win10/hushed.png b/public/images/emoji/win10/hushed.png old mode 100755 new mode 100644 index 57ffa92b9..f60d73988 Binary files a/public/images/emoji/win10/hushed.png and b/public/images/emoji/win10/hushed.png differ diff --git a/public/images/emoji/win10/ice_cream.png b/public/images/emoji/win10/ice_cream.png old mode 100755 new mode 100644 index 20cbd39aa..4b8ad747c Binary files a/public/images/emoji/win10/ice_cream.png and b/public/images/emoji/win10/ice_cream.png differ diff --git a/public/images/emoji/win10/ice_skate.png b/public/images/emoji/win10/ice_skate.png old mode 100755 new mode 100644 index 8945de6c7..1e8c428ee Binary files a/public/images/emoji/win10/ice_skate.png and b/public/images/emoji/win10/ice_skate.png differ diff --git a/public/images/emoji/win10/icecream.png b/public/images/emoji/win10/icecream.png old mode 100755 new mode 100644 index 8b2a26bc2..ac7202211 Binary files a/public/images/emoji/win10/icecream.png and b/public/images/emoji/win10/icecream.png differ diff --git a/public/images/emoji/win10/id.png b/public/images/emoji/win10/id.png old mode 100755 new mode 100644 index fa88f4eeb..57acd2f08 Binary files a/public/images/emoji/win10/id.png and b/public/images/emoji/win10/id.png differ diff --git a/public/images/emoji/win10/ideograph_advantage.png b/public/images/emoji/win10/ideograph_advantage.png old mode 100755 new mode 100644 index f045bb6c0..045bd76c9 Binary files a/public/images/emoji/win10/ideograph_advantage.png and b/public/images/emoji/win10/ideograph_advantage.png differ diff --git a/public/images/emoji/win10/imp.png b/public/images/emoji/win10/imp.png old mode 100755 new mode 100644 index bccb7ce4f..1d7b31985 Binary files a/public/images/emoji/win10/imp.png and b/public/images/emoji/win10/imp.png differ diff --git a/public/images/emoji/win10/inbox_tray.png b/public/images/emoji/win10/inbox_tray.png old mode 100755 new mode 100644 index 752e6dd84..afa9b82d8 Binary files a/public/images/emoji/win10/inbox_tray.png and b/public/images/emoji/win10/inbox_tray.png differ diff --git a/public/images/emoji/win10/incoming_envelope.png b/public/images/emoji/win10/incoming_envelope.png old mode 100755 new mode 100644 index a887606ff..590eacf7c Binary files a/public/images/emoji/win10/incoming_envelope.png and b/public/images/emoji/win10/incoming_envelope.png differ diff --git a/public/images/emoji/win10/information_desk_person.png b/public/images/emoji/win10/information_desk_person.png old mode 100755 new mode 100644 index ca578a61b..d5f7de6d6 Binary files a/public/images/emoji/win10/information_desk_person.png and b/public/images/emoji/win10/information_desk_person.png differ diff --git a/public/images/emoji/win10/information_source.png b/public/images/emoji/win10/information_source.png old mode 100755 new mode 100644 index 363b88f2f..07f2b3937 Binary files a/public/images/emoji/win10/information_source.png and b/public/images/emoji/win10/information_source.png differ diff --git a/public/images/emoji/win10/innocent.png b/public/images/emoji/win10/innocent.png old mode 100755 new mode 100644 index cb14ae969..a814c9319 Binary files a/public/images/emoji/win10/innocent.png and b/public/images/emoji/win10/innocent.png differ diff --git a/public/images/emoji/win10/interrobang.png b/public/images/emoji/win10/interrobang.png old mode 100755 new mode 100644 index 0d69c03a2..81fe66c96 Binary files a/public/images/emoji/win10/interrobang.png and b/public/images/emoji/win10/interrobang.png differ diff --git a/public/images/emoji/win10/iphone.png b/public/images/emoji/win10/iphone.png old mode 100755 new mode 100644 index 9381a1679..fc486697b Binary files a/public/images/emoji/win10/iphone.png and b/public/images/emoji/win10/iphone.png differ diff --git a/public/images/emoji/win10/island.png b/public/images/emoji/win10/island.png old mode 100755 new mode 100644 index 94dba566f..d9c37a023 Binary files a/public/images/emoji/win10/island.png and b/public/images/emoji/win10/island.png differ diff --git a/public/images/emoji/win10/it.png b/public/images/emoji/win10/it.png new file mode 100644 index 000000000..72465f2f9 Binary files /dev/null and b/public/images/emoji/win10/it.png differ diff --git a/public/images/emoji/win10/izakaya_lantern.png b/public/images/emoji/win10/izakaya_lantern.png old mode 100755 new mode 100644 index 77cca02dc..d8c389b34 Binary files a/public/images/emoji/win10/izakaya_lantern.png and b/public/images/emoji/win10/izakaya_lantern.png differ diff --git a/public/images/emoji/win10/jack_o_lantern.png b/public/images/emoji/win10/jack_o_lantern.png old mode 100755 new mode 100644 index 6c3ea1e6d..1fb104d35 Binary files a/public/images/emoji/win10/jack_o_lantern.png and b/public/images/emoji/win10/jack_o_lantern.png differ diff --git a/public/images/emoji/win10/japan.png b/public/images/emoji/win10/japan.png old mode 100755 new mode 100644 index 4811cf120..8b99de5cc Binary files a/public/images/emoji/win10/japan.png and b/public/images/emoji/win10/japan.png differ diff --git a/public/images/emoji/win10/japanese_castle.png b/public/images/emoji/win10/japanese_castle.png old mode 100755 new mode 100644 index 7b53a6a39..eb329ba0b Binary files a/public/images/emoji/win10/japanese_castle.png and b/public/images/emoji/win10/japanese_castle.png differ diff --git a/public/images/emoji/win10/japanese_goblin.png b/public/images/emoji/win10/japanese_goblin.png old mode 100755 new mode 100644 index e0e1e965e..79bf8600d Binary files a/public/images/emoji/win10/japanese_goblin.png and b/public/images/emoji/win10/japanese_goblin.png differ diff --git a/public/images/emoji/win10/japanese_ogre.png b/public/images/emoji/win10/japanese_ogre.png old mode 100755 new mode 100644 index 86b35bc84..e3faeac19 Binary files a/public/images/emoji/win10/japanese_ogre.png and b/public/images/emoji/win10/japanese_ogre.png differ diff --git a/public/images/emoji/win10/jeans.png b/public/images/emoji/win10/jeans.png old mode 100755 new mode 100644 index 896fef441..b15fb6ec9 Binary files a/public/images/emoji/win10/jeans.png and b/public/images/emoji/win10/jeans.png differ diff --git a/public/images/emoji/win10/joy.png b/public/images/emoji/win10/joy.png old mode 100755 new mode 100644 index 4d8d2defc..021828c50 Binary files a/public/images/emoji/win10/joy.png and b/public/images/emoji/win10/joy.png differ diff --git a/public/images/emoji/win10/joy_cat.png b/public/images/emoji/win10/joy_cat.png old mode 100755 new mode 100644 index 890cc8a9f..6fe9f1f6d Binary files a/public/images/emoji/win10/joy_cat.png and b/public/images/emoji/win10/joy_cat.png differ diff --git a/public/images/emoji/win10/joystick.png b/public/images/emoji/win10/joystick.png old mode 100755 new mode 100644 index 74b81736b..8bf548df8 Binary files a/public/images/emoji/win10/joystick.png and b/public/images/emoji/win10/joystick.png differ diff --git a/public/images/emoji/win10/jp.png b/public/images/emoji/win10/jp.png new file mode 100644 index 000000000..157eb85d6 Binary files /dev/null and b/public/images/emoji/win10/jp.png differ diff --git a/public/images/emoji/win10/kaaba.png b/public/images/emoji/win10/kaaba.png old mode 100755 new mode 100644 index 566603765..46c5d3cf7 Binary files a/public/images/emoji/win10/kaaba.png and b/public/images/emoji/win10/kaaba.png differ diff --git a/public/images/emoji/win10/key.png b/public/images/emoji/win10/key.png old mode 100755 new mode 100644 index 7c04d480a..70e1d3e7f Binary files a/public/images/emoji/win10/key.png and b/public/images/emoji/win10/key.png differ diff --git a/public/images/emoji/win10/key2.png b/public/images/emoji/win10/key2.png old mode 100755 new mode 100644 index 7dd2ba178..450817604 Binary files a/public/images/emoji/win10/key2.png and b/public/images/emoji/win10/key2.png differ diff --git a/public/images/emoji/win10/keyboard.png b/public/images/emoji/win10/keyboard.png old mode 100755 new mode 100644 index 7952c0e6f..025fe93c8 Binary files a/public/images/emoji/win10/keyboard.png and b/public/images/emoji/win10/keyboard.png differ diff --git a/public/images/emoji/win10/keycap_star.png b/public/images/emoji/win10/keycap_star.png new file mode 100644 index 000000000..e69de29bb diff --git a/public/images/emoji/win10/kimono.png b/public/images/emoji/win10/kimono.png old mode 100755 new mode 100644 index 189055afb..2e6d5d7ef Binary files a/public/images/emoji/win10/kimono.png and b/public/images/emoji/win10/kimono.png differ diff --git a/public/images/emoji/win10/kiss.png b/public/images/emoji/win10/kiss.png old mode 100755 new mode 100644 index 379dd3997..77907846b Binary files a/public/images/emoji/win10/kiss.png and b/public/images/emoji/win10/kiss.png differ diff --git a/public/images/emoji/win10/kissing.png b/public/images/emoji/win10/kissing.png old mode 100755 new mode 100644 index 3eef8c216..1806b27f8 Binary files a/public/images/emoji/win10/kissing.png and b/public/images/emoji/win10/kissing.png differ diff --git a/public/images/emoji/win10/kissing_cat.png b/public/images/emoji/win10/kissing_cat.png old mode 100755 new mode 100644 index 406d51626..4ab2428d1 Binary files a/public/images/emoji/win10/kissing_cat.png and b/public/images/emoji/win10/kissing_cat.png differ diff --git a/public/images/emoji/win10/kissing_closed_eyes.png b/public/images/emoji/win10/kissing_closed_eyes.png old mode 100755 new mode 100644 index 48a607c5f..abe709aff Binary files a/public/images/emoji/win10/kissing_closed_eyes.png and b/public/images/emoji/win10/kissing_closed_eyes.png differ diff --git a/public/images/emoji/win10/kissing_heart.png b/public/images/emoji/win10/kissing_heart.png old mode 100755 new mode 100644 index be65023ab..ab5d5e609 Binary files a/public/images/emoji/win10/kissing_heart.png and b/public/images/emoji/win10/kissing_heart.png differ diff --git a/public/images/emoji/win10/kissing_smiling_eyes.png b/public/images/emoji/win10/kissing_smiling_eyes.png old mode 100755 new mode 100644 index f2364fbb6..60c203bc0 Binary files a/public/images/emoji/win10/kissing_smiling_eyes.png and b/public/images/emoji/win10/kissing_smiling_eyes.png differ diff --git a/public/images/emoji/win10/knife.png b/public/images/emoji/win10/knife.png old mode 100755 new mode 100644 index 36c12c29f..d62692abb Binary files a/public/images/emoji/win10/knife.png and b/public/images/emoji/win10/knife.png differ diff --git a/public/images/emoji/win10/koala.png b/public/images/emoji/win10/koala.png old mode 100755 new mode 100644 index 7a3fa7f3c..c4534face Binary files a/public/images/emoji/win10/koala.png and b/public/images/emoji/win10/koala.png differ diff --git a/public/images/emoji/win10/koko.png b/public/images/emoji/win10/koko.png old mode 100755 new mode 100644 index d166e3790..b45110aef Binary files a/public/images/emoji/win10/koko.png and b/public/images/emoji/win10/koko.png differ diff --git a/public/images/emoji/win10/kr.png b/public/images/emoji/win10/kr.png new file mode 100644 index 000000000..f711c775b Binary files /dev/null and b/public/images/emoji/win10/kr.png differ diff --git a/public/images/emoji/win10/label.png b/public/images/emoji/win10/label.png old mode 100755 new mode 100644 index 48e295f3f..44b737e5c Binary files a/public/images/emoji/win10/label.png and b/public/images/emoji/win10/label.png differ diff --git a/public/images/emoji/win10/large_blue_circle.png b/public/images/emoji/win10/large_blue_circle.png old mode 100755 new mode 100644 index d49d696e6..36ef3dd28 Binary files a/public/images/emoji/win10/large_blue_circle.png and b/public/images/emoji/win10/large_blue_circle.png differ diff --git a/public/images/emoji/win10/large_blue_diamond.png b/public/images/emoji/win10/large_blue_diamond.png old mode 100755 new mode 100644 index b246793cb..387916074 Binary files a/public/images/emoji/win10/large_blue_diamond.png and b/public/images/emoji/win10/large_blue_diamond.png differ diff --git a/public/images/emoji/win10/large_orange_diamond.png b/public/images/emoji/win10/large_orange_diamond.png old mode 100755 new mode 100644 index 55d88c810..cc6f5ef85 Binary files a/public/images/emoji/win10/large_orange_diamond.png and b/public/images/emoji/win10/large_orange_diamond.png differ diff --git a/public/images/emoji/win10/last_quarter_moon.png b/public/images/emoji/win10/last_quarter_moon.png old mode 100755 new mode 100644 index 545f5b02c..cd1af2119 Binary files a/public/images/emoji/win10/last_quarter_moon.png and b/public/images/emoji/win10/last_quarter_moon.png differ diff --git a/public/images/emoji/win10/last_quarter_moon_with_face.png b/public/images/emoji/win10/last_quarter_moon_with_face.png old mode 100755 new mode 100644 index 19627d22b..517be5c94 Binary files a/public/images/emoji/win10/last_quarter_moon_with_face.png and b/public/images/emoji/win10/last_quarter_moon_with_face.png differ diff --git a/public/images/emoji/win10/latin_cross.png b/public/images/emoji/win10/latin_cross.png new file mode 100644 index 000000000..a94333be7 Binary files /dev/null and b/public/images/emoji/win10/latin_cross.png differ diff --git a/public/images/emoji/win10/laughing.png b/public/images/emoji/win10/laughing.png old mode 100755 new mode 100644 index f45c513b1..2d3cc4adf Binary files a/public/images/emoji/win10/laughing.png and b/public/images/emoji/win10/laughing.png differ diff --git a/public/images/emoji/win10/leaves.png b/public/images/emoji/win10/leaves.png old mode 100755 new mode 100644 index 5a7d1bc1c..fc10deb13 Binary files a/public/images/emoji/win10/leaves.png and b/public/images/emoji/win10/leaves.png differ diff --git a/public/images/emoji/win10/ledger.png b/public/images/emoji/win10/ledger.png old mode 100755 new mode 100644 index 61f8026ab..75fde1316 Binary files a/public/images/emoji/win10/ledger.png and b/public/images/emoji/win10/ledger.png differ diff --git a/public/images/emoji/win10/left_luggage.png b/public/images/emoji/win10/left_luggage.png old mode 100755 new mode 100644 index 43d910105..eddcb48e8 Binary files a/public/images/emoji/win10/left_luggage.png and b/public/images/emoji/win10/left_luggage.png differ diff --git a/public/images/emoji/win10/left_right_arrow.png b/public/images/emoji/win10/left_right_arrow.png old mode 100755 new mode 100644 index 919b7c82e..fcaf7a355 Binary files a/public/images/emoji/win10/left_right_arrow.png and b/public/images/emoji/win10/left_right_arrow.png differ diff --git a/public/images/emoji/win10/left_speech_bubble.png b/public/images/emoji/win10/left_speech_bubble.png new file mode 100644 index 000000000..d5abfccee Binary files /dev/null and b/public/images/emoji/win10/left_speech_bubble.png differ diff --git a/public/images/emoji/win10/leftwards_arrow_with_hook.png b/public/images/emoji/win10/leftwards_arrow_with_hook.png old mode 100755 new mode 100644 index dd6155fd7..039e1f0d9 Binary files a/public/images/emoji/win10/leftwards_arrow_with_hook.png and b/public/images/emoji/win10/leftwards_arrow_with_hook.png differ diff --git a/public/images/emoji/win10/lemon.png b/public/images/emoji/win10/lemon.png old mode 100755 new mode 100644 index 313a919e3..361c2c166 Binary files a/public/images/emoji/win10/lemon.png and b/public/images/emoji/win10/lemon.png differ diff --git a/public/images/emoji/win10/leo.png b/public/images/emoji/win10/leo.png old mode 100755 new mode 100644 index 8281a39be..74b94ef65 Binary files a/public/images/emoji/win10/leo.png and b/public/images/emoji/win10/leo.png differ diff --git a/public/images/emoji/win10/leopard.png b/public/images/emoji/win10/leopard.png old mode 100755 new mode 100644 index 547180437..1bd0c53c4 Binary files a/public/images/emoji/win10/leopard.png and b/public/images/emoji/win10/leopard.png differ diff --git a/public/images/emoji/win10/level_slider.png b/public/images/emoji/win10/level_slider.png old mode 100755 new mode 100644 index 08e201fb6..ffa3c0fde Binary files a/public/images/emoji/win10/level_slider.png and b/public/images/emoji/win10/level_slider.png differ diff --git a/public/images/emoji/win10/levitate.png b/public/images/emoji/win10/levitate.png old mode 100755 new mode 100644 index e3675ae36..0d66bb13e Binary files a/public/images/emoji/win10/levitate.png and b/public/images/emoji/win10/levitate.png differ diff --git a/public/images/emoji/win10/libra.png b/public/images/emoji/win10/libra.png old mode 100755 new mode 100644 index 4849447b0..1cc7177cb Binary files a/public/images/emoji/win10/libra.png and b/public/images/emoji/win10/libra.png differ diff --git a/public/images/emoji/win10/lifter.png b/public/images/emoji/win10/lifter.png old mode 100755 new mode 100644 index 779d719cb..8e05683be Binary files a/public/images/emoji/win10/lifter.png and b/public/images/emoji/win10/lifter.png differ diff --git a/public/images/emoji/win10/light_rail.png b/public/images/emoji/win10/light_rail.png old mode 100755 new mode 100644 index 63e4351aa..bd5406160 Binary files a/public/images/emoji/win10/light_rail.png and b/public/images/emoji/win10/light_rail.png differ diff --git a/public/images/emoji/win10/link.png b/public/images/emoji/win10/link.png old mode 100755 new mode 100644 index f291e3870..a7283cbbd Binary files a/public/images/emoji/win10/link.png and b/public/images/emoji/win10/link.png differ diff --git a/public/images/emoji/win10/linked_paperclips.png b/public/images/emoji/win10/linked_paperclips.png new file mode 100644 index 000000000..d6c8326a9 Binary files /dev/null and b/public/images/emoji/win10/linked_paperclips.png differ diff --git a/public/images/emoji/win10/lion.png b/public/images/emoji/win10/lion.png new file mode 100644 index 000000000..738976099 Binary files /dev/null and b/public/images/emoji/win10/lion.png differ diff --git a/public/images/emoji/win10/lion_face.png b/public/images/emoji/win10/lion_face.png index ea430e82b..738976099 100644 Binary files a/public/images/emoji/win10/lion_face.png and b/public/images/emoji/win10/lion_face.png differ diff --git a/public/images/emoji/win10/lips.png b/public/images/emoji/win10/lips.png old mode 100755 new mode 100644 index d5eeb17a9..bfc1d2873 Binary files a/public/images/emoji/win10/lips.png and b/public/images/emoji/win10/lips.png differ diff --git a/public/images/emoji/win10/lipstick.png b/public/images/emoji/win10/lipstick.png old mode 100755 new mode 100644 index d7d682457..a3e851e48 Binary files a/public/images/emoji/win10/lipstick.png and b/public/images/emoji/win10/lipstick.png differ diff --git a/public/images/emoji/win10/lock.png b/public/images/emoji/win10/lock.png old mode 100755 new mode 100644 index 82c35d5e4..f0676bf1a Binary files a/public/images/emoji/win10/lock.png and b/public/images/emoji/win10/lock.png differ diff --git a/public/images/emoji/win10/lock_with_ink_pen.png b/public/images/emoji/win10/lock_with_ink_pen.png old mode 100755 new mode 100644 index d5535651d..9e8a31e88 Binary files a/public/images/emoji/win10/lock_with_ink_pen.png and b/public/images/emoji/win10/lock_with_ink_pen.png differ diff --git a/public/images/emoji/win10/lollipop.png b/public/images/emoji/win10/lollipop.png old mode 100755 new mode 100644 index cc0d4d2ea..645d70548 Binary files a/public/images/emoji/win10/lollipop.png and b/public/images/emoji/win10/lollipop.png differ diff --git a/public/images/emoji/win10/loop.png b/public/images/emoji/win10/loop.png old mode 100755 new mode 100644 index 00a976332..9f0a40d7d Binary files a/public/images/emoji/win10/loop.png and b/public/images/emoji/win10/loop.png differ diff --git a/public/images/emoji/win10/loud_sound.png b/public/images/emoji/win10/loud_sound.png old mode 100755 new mode 100644 index 8981ce114..4873f6a6b Binary files a/public/images/emoji/win10/loud_sound.png and b/public/images/emoji/win10/loud_sound.png differ diff --git a/public/images/emoji/win10/loudspeaker.png b/public/images/emoji/win10/loudspeaker.png old mode 100755 new mode 100644 index ff32f8ab0..1e75ffa28 Binary files a/public/images/emoji/win10/loudspeaker.png and b/public/images/emoji/win10/loudspeaker.png differ diff --git a/public/images/emoji/win10/love_hotel.png b/public/images/emoji/win10/love_hotel.png old mode 100755 new mode 100644 index b7cecfd25..a67551d5c Binary files a/public/images/emoji/win10/love_hotel.png and b/public/images/emoji/win10/love_hotel.png differ diff --git a/public/images/emoji/win10/love_letter.png b/public/images/emoji/win10/love_letter.png old mode 100755 new mode 100644 index 8428aacfd..c46b8f6a9 Binary files a/public/images/emoji/win10/love_letter.png and b/public/images/emoji/win10/love_letter.png differ diff --git a/public/images/emoji/win10/low_brightness.png b/public/images/emoji/win10/low_brightness.png old mode 100755 new mode 100644 index 0e4baf9fb..40dc9aa0e Binary files a/public/images/emoji/win10/low_brightness.png and b/public/images/emoji/win10/low_brightness.png differ diff --git a/public/images/emoji/win10/lower_left_ballpoint_pen.png b/public/images/emoji/win10/lower_left_ballpoint_pen.png new file mode 100644 index 000000000..fe2c32300 Binary files /dev/null and b/public/images/emoji/win10/lower_left_ballpoint_pen.png differ diff --git a/public/images/emoji/win10/lower_left_crayon.png b/public/images/emoji/win10/lower_left_crayon.png new file mode 100644 index 000000000..2484033f5 Binary files /dev/null and b/public/images/emoji/win10/lower_left_crayon.png differ diff --git a/public/images/emoji/win10/lower_left_fountain_pen.png b/public/images/emoji/win10/lower_left_fountain_pen.png new file mode 100644 index 000000000..aa1511a56 Binary files /dev/null and b/public/images/emoji/win10/lower_left_fountain_pen.png differ diff --git a/public/images/emoji/win10/lower_left_paintbrush.png b/public/images/emoji/win10/lower_left_paintbrush.png new file mode 100644 index 000000000..b2fe046ae Binary files /dev/null and b/public/images/emoji/win10/lower_left_paintbrush.png differ diff --git a/public/images/emoji/win10/m.png b/public/images/emoji/win10/m.png old mode 100755 new mode 100644 index 7072de655..f8b863cdc Binary files a/public/images/emoji/win10/m.png and b/public/images/emoji/win10/m.png differ diff --git a/public/images/emoji/win10/mag.png b/public/images/emoji/win10/mag.png old mode 100755 new mode 100644 index c284016d0..bbf7459e2 Binary files a/public/images/emoji/win10/mag.png and b/public/images/emoji/win10/mag.png differ diff --git a/public/images/emoji/win10/mag_right.png b/public/images/emoji/win10/mag_right.png old mode 100755 new mode 100644 index 3b1648563..65ae1c697 Binary files a/public/images/emoji/win10/mag_right.png and b/public/images/emoji/win10/mag_right.png differ diff --git a/public/images/emoji/win10/mahjong.png b/public/images/emoji/win10/mahjong.png old mode 100755 new mode 100644 index e96892537..8b2a4b193 Binary files a/public/images/emoji/win10/mahjong.png and b/public/images/emoji/win10/mahjong.png differ diff --git a/public/images/emoji/win10/mailbox.png b/public/images/emoji/win10/mailbox.png old mode 100755 new mode 100644 index 85f651a7a..6629d118b Binary files a/public/images/emoji/win10/mailbox.png and b/public/images/emoji/win10/mailbox.png differ diff --git a/public/images/emoji/win10/mailbox_closed.png b/public/images/emoji/win10/mailbox_closed.png old mode 100755 new mode 100644 index 4a85eaeb1..0ddeac1a6 Binary files a/public/images/emoji/win10/mailbox_closed.png and b/public/images/emoji/win10/mailbox_closed.png differ diff --git a/public/images/emoji/win10/mailbox_with_mail.png b/public/images/emoji/win10/mailbox_with_mail.png old mode 100755 new mode 100644 index ddc5180eb..158a4876f Binary files a/public/images/emoji/win10/mailbox_with_mail.png and b/public/images/emoji/win10/mailbox_with_mail.png differ diff --git a/public/images/emoji/win10/mailbox_with_no_mail.png b/public/images/emoji/win10/mailbox_with_no_mail.png old mode 100755 new mode 100644 index 5cc97f419..92b731968 Binary files a/public/images/emoji/win10/mailbox_with_no_mail.png and b/public/images/emoji/win10/mailbox_with_no_mail.png differ diff --git a/public/images/emoji/win10/male_couple_with_heart.png b/public/images/emoji/win10/male_couple_with_heart.png new file mode 100644 index 000000000..1f50d4f8f Binary files /dev/null and b/public/images/emoji/win10/male_couple_with_heart.png differ diff --git a/public/images/emoji/win10/male_couplekiss.png b/public/images/emoji/win10/male_couplekiss.png new file mode 100644 index 000000000..6933b45c7 Binary files /dev/null and b/public/images/emoji/win10/male_couplekiss.png differ diff --git a/public/images/emoji/win10/man.png b/public/images/emoji/win10/man.png old mode 100755 new mode 100644 index 1dadd4201..001b16a8a Binary files a/public/images/emoji/win10/man.png and b/public/images/emoji/win10/man.png differ diff --git a/public/images/emoji/win10/man_in_business_suit_levitating.png b/public/images/emoji/win10/man_in_business_suit_levitating.png new file mode 100644 index 000000000..0d66bb13e Binary files /dev/null and b/public/images/emoji/win10/man_in_business_suit_levitating.png differ diff --git a/public/images/emoji/win10/man_with_gua_pi_mao.png b/public/images/emoji/win10/man_with_gua_pi_mao.png old mode 100755 new mode 100644 index 656af0715..2a041066b Binary files a/public/images/emoji/win10/man_with_gua_pi_mao.png and b/public/images/emoji/win10/man_with_gua_pi_mao.png differ diff --git a/public/images/emoji/win10/man_with_turban.png b/public/images/emoji/win10/man_with_turban.png old mode 100755 new mode 100644 index 91ca86b1c..71a2859e8 Binary files a/public/images/emoji/win10/man_with_turban.png and b/public/images/emoji/win10/man_with_turban.png differ diff --git a/public/images/emoji/win10/mans_shoe.png b/public/images/emoji/win10/mans_shoe.png old mode 100755 new mode 100644 index c47649320..629d61bd5 Binary files a/public/images/emoji/win10/mans_shoe.png and b/public/images/emoji/win10/mans_shoe.png differ diff --git a/public/images/emoji/win10/mantlepiece_clock.png b/public/images/emoji/win10/mantlepiece_clock.png new file mode 100644 index 000000000..8ff542932 Binary files /dev/null and b/public/images/emoji/win10/mantlepiece_clock.png differ diff --git a/public/images/emoji/win10/map.png b/public/images/emoji/win10/map.png old mode 100755 new mode 100644 index eb919263c..80986175b Binary files a/public/images/emoji/win10/map.png and b/public/images/emoji/win10/map.png differ diff --git a/public/images/emoji/win10/maple_leaf.png b/public/images/emoji/win10/maple_leaf.png old mode 100755 new mode 100644 index 3344f5992..bd8b5aa3d Binary files a/public/images/emoji/win10/maple_leaf.png and b/public/images/emoji/win10/maple_leaf.png differ diff --git a/public/images/emoji/win10/mask.png b/public/images/emoji/win10/mask.png old mode 100755 new mode 100644 index 8148ecb26..9e4e555a5 Binary files a/public/images/emoji/win10/mask.png and b/public/images/emoji/win10/mask.png differ diff --git a/public/images/emoji/win10/massage.png b/public/images/emoji/win10/massage.png old mode 100755 new mode 100644 index 227df2822..83052970e Binary files a/public/images/emoji/win10/massage.png and b/public/images/emoji/win10/massage.png differ diff --git a/public/images/emoji/win10/meat_on_bone.png b/public/images/emoji/win10/meat_on_bone.png old mode 100755 new mode 100644 index 159d45a9e..f36d1ccc3 Binary files a/public/images/emoji/win10/meat_on_bone.png and b/public/images/emoji/win10/meat_on_bone.png differ diff --git a/public/images/emoji/win10/medal.png b/public/images/emoji/win10/medal.png old mode 100755 new mode 100644 index fe3a2e712..40132b51a Binary files a/public/images/emoji/win10/medal.png and b/public/images/emoji/win10/medal.png differ diff --git a/public/images/emoji/win10/mega.png b/public/images/emoji/win10/mega.png old mode 100755 new mode 100644 index 4aad245d0..ca4946744 Binary files a/public/images/emoji/win10/mega.png and b/public/images/emoji/win10/mega.png differ diff --git a/public/images/emoji/win10/melon.png b/public/images/emoji/win10/melon.png old mode 100755 new mode 100644 index 4d961f45b..afa21003b Binary files a/public/images/emoji/win10/melon.png and b/public/images/emoji/win10/melon.png differ diff --git a/public/images/emoji/win10/menorah.png b/public/images/emoji/win10/menorah.png old mode 100755 new mode 100644 index f2a75abed..a789e3959 Binary files a/public/images/emoji/win10/menorah.png and b/public/images/emoji/win10/menorah.png differ diff --git a/public/images/emoji/win10/mens.png b/public/images/emoji/win10/mens.png old mode 100755 new mode 100644 index d243b86b1..f00254a90 Binary files a/public/images/emoji/win10/mens.png and b/public/images/emoji/win10/mens.png differ diff --git a/public/images/emoji/win10/metal.png b/public/images/emoji/win10/metal.png old mode 100755 new mode 100644 index 0c66d34e3..b0398de8b Binary files a/public/images/emoji/win10/metal.png and b/public/images/emoji/win10/metal.png differ diff --git a/public/images/emoji/win10/metro.png b/public/images/emoji/win10/metro.png old mode 100755 new mode 100644 index 1a00c8454..13885c046 Binary files a/public/images/emoji/win10/metro.png and b/public/images/emoji/win10/metro.png differ diff --git a/public/images/emoji/win10/microphone.png b/public/images/emoji/win10/microphone.png old mode 100755 new mode 100644 index cbbf56306..2ebd08941 Binary files a/public/images/emoji/win10/microphone.png and b/public/images/emoji/win10/microphone.png differ diff --git a/public/images/emoji/win10/microphone2.png b/public/images/emoji/win10/microphone2.png old mode 100755 new mode 100644 index f26a121c6..136dc3594 Binary files a/public/images/emoji/win10/microphone2.png and b/public/images/emoji/win10/microphone2.png differ diff --git a/public/images/emoji/win10/microscope.png b/public/images/emoji/win10/microscope.png old mode 100755 new mode 100644 index 9cfef061a..151ec783e Binary files a/public/images/emoji/win10/microscope.png and b/public/images/emoji/win10/microscope.png differ diff --git a/public/images/emoji/win10/middle_finger.png b/public/images/emoji/win10/middle_finger.png old mode 100755 new mode 100644 index 1c9002457..ac5ed367d Binary files a/public/images/emoji/win10/middle_finger.png and b/public/images/emoji/win10/middle_finger.png differ diff --git a/public/images/emoji/win10/military_medal.png b/public/images/emoji/win10/military_medal.png old mode 100755 new mode 100644 index 6ed5d9a5b..a969d6bb8 Binary files a/public/images/emoji/win10/military_medal.png and b/public/images/emoji/win10/military_medal.png differ diff --git a/public/images/emoji/win10/milky_way.png b/public/images/emoji/win10/milky_way.png old mode 100755 new mode 100644 index a89bdb0cf..e0769a853 Binary files a/public/images/emoji/win10/milky_way.png and b/public/images/emoji/win10/milky_way.png differ diff --git a/public/images/emoji/win10/minibus.png b/public/images/emoji/win10/minibus.png old mode 100755 new mode 100644 index 618d1a050..5f1fb6963 Binary files a/public/images/emoji/win10/minibus.png and b/public/images/emoji/win10/minibus.png differ diff --git a/public/images/emoji/win10/minidisc.png b/public/images/emoji/win10/minidisc.png old mode 100755 new mode 100644 index a0760c0b5..03282d311 Binary files a/public/images/emoji/win10/minidisc.png and b/public/images/emoji/win10/minidisc.png differ diff --git a/public/images/emoji/win10/mobile_phone_off.png b/public/images/emoji/win10/mobile_phone_off.png old mode 100755 new mode 100644 index 4f1e90cb3..b677f4812 Binary files a/public/images/emoji/win10/mobile_phone_off.png and b/public/images/emoji/win10/mobile_phone_off.png differ diff --git a/public/images/emoji/win10/money_mouth.png b/public/images/emoji/win10/money_mouth.png old mode 100755 new mode 100644 index b1635c498..ea7b41fc3 Binary files a/public/images/emoji/win10/money_mouth.png and b/public/images/emoji/win10/money_mouth.png differ diff --git a/public/images/emoji/win10/money_mouth_face.png b/public/images/emoji/win10/money_mouth_face.png new file mode 100644 index 000000000..ea7b41fc3 Binary files /dev/null and b/public/images/emoji/win10/money_mouth_face.png differ diff --git a/public/images/emoji/win10/money_with_wings.png b/public/images/emoji/win10/money_with_wings.png old mode 100755 new mode 100644 index 7fb0e2644..af1de5afa Binary files a/public/images/emoji/win10/money_with_wings.png and b/public/images/emoji/win10/money_with_wings.png differ diff --git a/public/images/emoji/win10/moneybag.png b/public/images/emoji/win10/moneybag.png old mode 100755 new mode 100644 index 541c76abe..87e5dc87b Binary files a/public/images/emoji/win10/moneybag.png and b/public/images/emoji/win10/moneybag.png differ diff --git a/public/images/emoji/win10/monkey.png b/public/images/emoji/win10/monkey.png old mode 100755 new mode 100644 index 0660c0338..3b4370027 Binary files a/public/images/emoji/win10/monkey.png and b/public/images/emoji/win10/monkey.png differ diff --git a/public/images/emoji/win10/monkey_face.png b/public/images/emoji/win10/monkey_face.png old mode 100755 new mode 100644 index 9a9a4705d..880609071 Binary files a/public/images/emoji/win10/monkey_face.png and b/public/images/emoji/win10/monkey_face.png differ diff --git a/public/images/emoji/win10/monorail.png b/public/images/emoji/win10/monorail.png old mode 100755 new mode 100644 index 3027e272a..9d5cbee0d Binary files a/public/images/emoji/win10/monorail.png and b/public/images/emoji/win10/monorail.png differ diff --git a/public/images/emoji/win10/mortar_board.png b/public/images/emoji/win10/mortar_board.png old mode 100755 new mode 100644 index 5782998fd..4cf10424b Binary files a/public/images/emoji/win10/mortar_board.png and b/public/images/emoji/win10/mortar_board.png differ diff --git a/public/images/emoji/win10/mosque.png b/public/images/emoji/win10/mosque.png old mode 100755 new mode 100644 index fd111b3b3..7732d5295 Binary files a/public/images/emoji/win10/mosque.png and b/public/images/emoji/win10/mosque.png differ diff --git a/public/images/emoji/win10/motorboat.png b/public/images/emoji/win10/motorboat.png old mode 100755 new mode 100644 index 637a304e7..15abcc496 Binary files a/public/images/emoji/win10/motorboat.png and b/public/images/emoji/win10/motorboat.png differ diff --git a/public/images/emoji/win10/motorcycle.png b/public/images/emoji/win10/motorcycle.png old mode 100755 new mode 100644 index a34459100..ec5c7cc6f Binary files a/public/images/emoji/win10/motorcycle.png and b/public/images/emoji/win10/motorcycle.png differ diff --git a/public/images/emoji/win10/motorway.png b/public/images/emoji/win10/motorway.png old mode 100755 new mode 100644 index 243333431..a78d60794 Binary files a/public/images/emoji/win10/motorway.png and b/public/images/emoji/win10/motorway.png differ diff --git a/public/images/emoji/win10/mount_fuji.png b/public/images/emoji/win10/mount_fuji.png old mode 100755 new mode 100644 index 74b956fb7..a97aa526b Binary files a/public/images/emoji/win10/mount_fuji.png and b/public/images/emoji/win10/mount_fuji.png differ diff --git a/public/images/emoji/win10/mountain.png b/public/images/emoji/win10/mountain.png old mode 100755 new mode 100644 index 5b74b2ab0..68cd3335a Binary files a/public/images/emoji/win10/mountain.png and b/public/images/emoji/win10/mountain.png differ diff --git a/public/images/emoji/win10/mountain_bicyclist.png b/public/images/emoji/win10/mountain_bicyclist.png old mode 100755 new mode 100644 index df14b25ad..e9d213749 Binary files a/public/images/emoji/win10/mountain_bicyclist.png and b/public/images/emoji/win10/mountain_bicyclist.png differ diff --git a/public/images/emoji/win10/mountain_cableway.png b/public/images/emoji/win10/mountain_cableway.png old mode 100755 new mode 100644 index 37cb3e156..75778dba4 Binary files a/public/images/emoji/win10/mountain_cableway.png and b/public/images/emoji/win10/mountain_cableway.png differ diff --git a/public/images/emoji/win10/mountain_railway.png b/public/images/emoji/win10/mountain_railway.png old mode 100755 new mode 100644 index c99430f61..7c0b412c9 Binary files a/public/images/emoji/win10/mountain_railway.png and b/public/images/emoji/win10/mountain_railway.png differ diff --git a/public/images/emoji/win10/mountain_snow.png b/public/images/emoji/win10/mountain_snow.png old mode 100755 new mode 100644 index 6c9912d33..11a20f9a0 Binary files a/public/images/emoji/win10/mountain_snow.png and b/public/images/emoji/win10/mountain_snow.png differ diff --git a/public/images/emoji/win10/mouse.png b/public/images/emoji/win10/mouse.png old mode 100755 new mode 100644 index cb1db2920..fac74550e Binary files a/public/images/emoji/win10/mouse.png and b/public/images/emoji/win10/mouse.png differ diff --git a/public/images/emoji/win10/mouse2.png b/public/images/emoji/win10/mouse2.png old mode 100755 new mode 100644 index b42b208f9..436e41430 Binary files a/public/images/emoji/win10/mouse2.png and b/public/images/emoji/win10/mouse2.png differ diff --git a/public/images/emoji/win10/mouse_three_button.png b/public/images/emoji/win10/mouse_three_button.png old mode 100755 new mode 100644 index f83f22503..3e39c0f39 Binary files a/public/images/emoji/win10/mouse_three_button.png and b/public/images/emoji/win10/mouse_three_button.png differ diff --git a/public/images/emoji/win10/movie_camera.png b/public/images/emoji/win10/movie_camera.png old mode 100755 new mode 100644 index 3edf6bc65..47d9ddc21 Binary files a/public/images/emoji/win10/movie_camera.png and b/public/images/emoji/win10/movie_camera.png differ diff --git a/public/images/emoji/win10/moyai.png b/public/images/emoji/win10/moyai.png old mode 100755 new mode 100644 index 9ef336a7c..2518282a3 Binary files a/public/images/emoji/win10/moyai.png and b/public/images/emoji/win10/moyai.png differ diff --git a/public/images/emoji/win10/muscle.png b/public/images/emoji/win10/muscle.png old mode 100755 new mode 100644 index 9c002f802..8ed7cf294 Binary files a/public/images/emoji/win10/muscle.png and b/public/images/emoji/win10/muscle.png differ diff --git a/public/images/emoji/win10/mushroom.png b/public/images/emoji/win10/mushroom.png old mode 100755 new mode 100644 index 1d3bd54f4..a51416603 Binary files a/public/images/emoji/win10/mushroom.png and b/public/images/emoji/win10/mushroom.png differ diff --git a/public/images/emoji/win10/musical_keyboard.png b/public/images/emoji/win10/musical_keyboard.png old mode 100755 new mode 100644 index e0cfccf52..ffc3758cc Binary files a/public/images/emoji/win10/musical_keyboard.png and b/public/images/emoji/win10/musical_keyboard.png differ diff --git a/public/images/emoji/win10/musical_note.png b/public/images/emoji/win10/musical_note.png old mode 100755 new mode 100644 index 6134b1607..fce615c09 Binary files a/public/images/emoji/win10/musical_note.png and b/public/images/emoji/win10/musical_note.png differ diff --git a/public/images/emoji/win10/musical_score.png b/public/images/emoji/win10/musical_score.png old mode 100755 new mode 100644 index 292ad646e..b9c6cea39 Binary files a/public/images/emoji/win10/musical_score.png and b/public/images/emoji/win10/musical_score.png differ diff --git a/public/images/emoji/win10/mute.png b/public/images/emoji/win10/mute.png old mode 100755 new mode 100644 index 98a6bde20..5b8202b28 Binary files a/public/images/emoji/win10/mute.png and b/public/images/emoji/win10/mute.png differ diff --git a/public/images/emoji/win10/nail_care.png b/public/images/emoji/win10/nail_care.png old mode 100755 new mode 100644 index 7c8279e8c..9859712b7 Binary files a/public/images/emoji/win10/nail_care.png and b/public/images/emoji/win10/nail_care.png differ diff --git a/public/images/emoji/win10/name_badge.png b/public/images/emoji/win10/name_badge.png old mode 100755 new mode 100644 index eb69ec4d3..272d83825 Binary files a/public/images/emoji/win10/name_badge.png and b/public/images/emoji/win10/name_badge.png differ diff --git a/public/images/emoji/win10/national_park.png b/public/images/emoji/win10/national_park.png new file mode 100644 index 000000000..7dab3a9ea Binary files /dev/null and b/public/images/emoji/win10/national_park.png differ diff --git a/public/images/emoji/win10/necktie.png b/public/images/emoji/win10/necktie.png old mode 100755 new mode 100644 index 2390bcb1f..48a343808 Binary files a/public/images/emoji/win10/necktie.png and b/public/images/emoji/win10/necktie.png differ diff --git a/public/images/emoji/win10/negative_squared_cross_mark.png b/public/images/emoji/win10/negative_squared_cross_mark.png old mode 100755 new mode 100644 index 89f6ff28c..4a07352b8 Binary files a/public/images/emoji/win10/negative_squared_cross_mark.png and b/public/images/emoji/win10/negative_squared_cross_mark.png differ diff --git a/public/images/emoji/win10/nerd.png b/public/images/emoji/win10/nerd.png old mode 100755 new mode 100644 index 934a68129..38bf7ae0f Binary files a/public/images/emoji/win10/nerd.png and b/public/images/emoji/win10/nerd.png differ diff --git a/public/images/emoji/win10/nerd_face.png b/public/images/emoji/win10/nerd_face.png new file mode 100644 index 000000000..38bf7ae0f Binary files /dev/null and b/public/images/emoji/win10/nerd_face.png differ diff --git a/public/images/emoji/win10/neutral_face.png b/public/images/emoji/win10/neutral_face.png old mode 100755 new mode 100644 index 860e657df..a38229115 Binary files a/public/images/emoji/win10/neutral_face.png and b/public/images/emoji/win10/neutral_face.png differ diff --git a/public/images/emoji/win10/new.png b/public/images/emoji/win10/new.png old mode 100755 new mode 100644 index b268b2a6e..225833d1b Binary files a/public/images/emoji/win10/new.png and b/public/images/emoji/win10/new.png differ diff --git a/public/images/emoji/win10/new_moon.png b/public/images/emoji/win10/new_moon.png old mode 100755 new mode 100644 index 379ac5fc2..bea4cfab4 Binary files a/public/images/emoji/win10/new_moon.png and b/public/images/emoji/win10/new_moon.png differ diff --git a/public/images/emoji/win10/new_moon_with_face.png b/public/images/emoji/win10/new_moon_with_face.png old mode 100755 new mode 100644 index 4fdfe37a6..e6af68b0b Binary files a/public/images/emoji/win10/new_moon_with_face.png and b/public/images/emoji/win10/new_moon_with_face.png differ diff --git a/public/images/emoji/win10/newspaper.png b/public/images/emoji/win10/newspaper.png old mode 100755 new mode 100644 index f02260d76..20b041a8f Binary files a/public/images/emoji/win10/newspaper.png and b/public/images/emoji/win10/newspaper.png differ diff --git a/public/images/emoji/win10/newspaper2.png b/public/images/emoji/win10/newspaper2.png old mode 100755 new mode 100644 index 20efea2e7..91f3335f1 Binary files a/public/images/emoji/win10/newspaper2.png and b/public/images/emoji/win10/newspaper2.png differ diff --git a/public/images/emoji/win10/next_track.png b/public/images/emoji/win10/next_track.png new file mode 100644 index 000000000..0f2d82b55 Binary files /dev/null and b/public/images/emoji/win10/next_track.png differ diff --git a/public/images/emoji/win10/ng.png b/public/images/emoji/win10/ng.png old mode 100755 new mode 100644 index 98f24c953..4f973c804 Binary files a/public/images/emoji/win10/ng.png and b/public/images/emoji/win10/ng.png differ diff --git a/public/images/emoji/win10/night_with_stars.png b/public/images/emoji/win10/night_with_stars.png old mode 100755 new mode 100644 index aa7b73b64..5697b5e96 Binary files a/public/images/emoji/win10/night_with_stars.png and b/public/images/emoji/win10/night_with_stars.png differ diff --git a/public/images/emoji/win10/nine.png b/public/images/emoji/win10/nine.png old mode 100755 new mode 100644 index 290dc7fe9..e69de29bb Binary files a/public/images/emoji/win10/nine.png and b/public/images/emoji/win10/nine.png differ diff --git a/public/images/emoji/win10/no_bell.png b/public/images/emoji/win10/no_bell.png old mode 100755 new mode 100644 index 328a34cbe..24514a3d9 Binary files a/public/images/emoji/win10/no_bell.png and b/public/images/emoji/win10/no_bell.png differ diff --git a/public/images/emoji/win10/no_bicycles.png b/public/images/emoji/win10/no_bicycles.png old mode 100755 new mode 100644 index c66dae680..9a6b70178 Binary files a/public/images/emoji/win10/no_bicycles.png and b/public/images/emoji/win10/no_bicycles.png differ diff --git a/public/images/emoji/win10/no_entry.png b/public/images/emoji/win10/no_entry.png old mode 100755 new mode 100644 index abcc2622d..218d5dbc1 Binary files a/public/images/emoji/win10/no_entry.png and b/public/images/emoji/win10/no_entry.png differ diff --git a/public/images/emoji/win10/no_entry_sign.png b/public/images/emoji/win10/no_entry_sign.png old mode 100755 new mode 100644 index 1561d723d..e7ea6d652 Binary files a/public/images/emoji/win10/no_entry_sign.png and b/public/images/emoji/win10/no_entry_sign.png differ diff --git a/public/images/emoji/win10/no_good.png b/public/images/emoji/win10/no_good.png old mode 100755 new mode 100644 index 97761079d..7af9237d4 Binary files a/public/images/emoji/win10/no_good.png and b/public/images/emoji/win10/no_good.png differ diff --git a/public/images/emoji/win10/no_mobile_phones.png b/public/images/emoji/win10/no_mobile_phones.png old mode 100755 new mode 100644 index 5809a5987..cff0075dd Binary files a/public/images/emoji/win10/no_mobile_phones.png and b/public/images/emoji/win10/no_mobile_phones.png differ diff --git a/public/images/emoji/win10/no_mouth.png b/public/images/emoji/win10/no_mouth.png old mode 100755 new mode 100644 index 62ed4f676..59f030577 Binary files a/public/images/emoji/win10/no_mouth.png and b/public/images/emoji/win10/no_mouth.png differ diff --git a/public/images/emoji/win10/no_pedestrians.png b/public/images/emoji/win10/no_pedestrians.png old mode 100755 new mode 100644 index 04ac4229a..acb783e34 Binary files a/public/images/emoji/win10/no_pedestrians.png and b/public/images/emoji/win10/no_pedestrians.png differ diff --git a/public/images/emoji/win10/no_smoking.png b/public/images/emoji/win10/no_smoking.png old mode 100755 new mode 100644 index 42d64ad2d..2ec63df11 Binary files a/public/images/emoji/win10/no_smoking.png and b/public/images/emoji/win10/no_smoking.png differ diff --git a/public/images/emoji/win10/non-potable_water.png b/public/images/emoji/win10/non-potable_water.png old mode 100755 new mode 100644 index df9ece597..f0e2d4494 Binary files a/public/images/emoji/win10/non-potable_water.png and b/public/images/emoji/win10/non-potable_water.png differ diff --git a/public/images/emoji/win10/nose.png b/public/images/emoji/win10/nose.png old mode 100755 new mode 100644 index 4e0846e27..afd10d8bd Binary files a/public/images/emoji/win10/nose.png and b/public/images/emoji/win10/nose.png differ diff --git a/public/images/emoji/win10/notebook.png b/public/images/emoji/win10/notebook.png old mode 100755 new mode 100644 index 83de8bd84..906984de4 Binary files a/public/images/emoji/win10/notebook.png and b/public/images/emoji/win10/notebook.png differ diff --git a/public/images/emoji/win10/notebook_with_decorative_cover.png b/public/images/emoji/win10/notebook_with_decorative_cover.png old mode 100755 new mode 100644 index c4e796251..735bc56ed Binary files a/public/images/emoji/win10/notebook_with_decorative_cover.png and b/public/images/emoji/win10/notebook_with_decorative_cover.png differ diff --git a/public/images/emoji/win10/notepad_spiral.png b/public/images/emoji/win10/notepad_spiral.png old mode 100755 new mode 100644 index 33103cfb7..356ee6a91 Binary files a/public/images/emoji/win10/notepad_spiral.png and b/public/images/emoji/win10/notepad_spiral.png differ diff --git a/public/images/emoji/win10/notes.png b/public/images/emoji/win10/notes.png old mode 100755 new mode 100644 index 4bed3159e..18fb6af6c Binary files a/public/images/emoji/win10/notes.png and b/public/images/emoji/win10/notes.png differ diff --git a/public/images/emoji/win10/nut_and_bolt.png b/public/images/emoji/win10/nut_and_bolt.png old mode 100755 new mode 100644 index e6da4727d..e65b44916 Binary files a/public/images/emoji/win10/nut_and_bolt.png and b/public/images/emoji/win10/nut_and_bolt.png differ diff --git a/public/images/emoji/win10/o.png b/public/images/emoji/win10/o.png old mode 100755 new mode 100644 index 34806dded..91310e844 Binary files a/public/images/emoji/win10/o.png and b/public/images/emoji/win10/o.png differ diff --git a/public/images/emoji/win10/o2.png b/public/images/emoji/win10/o2.png old mode 100755 new mode 100644 index f83f4a749..744c7c0aa Binary files a/public/images/emoji/win10/o2.png and b/public/images/emoji/win10/o2.png differ diff --git a/public/images/emoji/win10/ocean.png b/public/images/emoji/win10/ocean.png old mode 100755 new mode 100644 index 7cb6c26d7..25dc32d71 Binary files a/public/images/emoji/win10/ocean.png and b/public/images/emoji/win10/ocean.png differ diff --git a/public/images/emoji/win10/octopus.png b/public/images/emoji/win10/octopus.png old mode 100755 new mode 100644 index 77a39a889..8c93aab17 Binary files a/public/images/emoji/win10/octopus.png and b/public/images/emoji/win10/octopus.png differ diff --git a/public/images/emoji/win10/oden.png b/public/images/emoji/win10/oden.png old mode 100755 new mode 100644 index 12a7516e9..479aa7258 Binary files a/public/images/emoji/win10/oden.png and b/public/images/emoji/win10/oden.png differ diff --git a/public/images/emoji/win10/office.png b/public/images/emoji/win10/office.png old mode 100755 new mode 100644 index 8c1164366..56fa870c2 Binary files a/public/images/emoji/win10/office.png and b/public/images/emoji/win10/office.png differ diff --git a/public/images/emoji/win10/oil.png b/public/images/emoji/win10/oil.png old mode 100755 new mode 100644 index 5c6784fa5..445928213 Binary files a/public/images/emoji/win10/oil.png and b/public/images/emoji/win10/oil.png differ diff --git a/public/images/emoji/win10/oil_drum.png b/public/images/emoji/win10/oil_drum.png new file mode 100644 index 000000000..445928213 Binary files /dev/null and b/public/images/emoji/win10/oil_drum.png differ diff --git a/public/images/emoji/win10/ok.png b/public/images/emoji/win10/ok.png old mode 100755 new mode 100644 index 9b271bdb9..e9c47f638 Binary files a/public/images/emoji/win10/ok.png and b/public/images/emoji/win10/ok.png differ diff --git a/public/images/emoji/win10/ok_hand.png b/public/images/emoji/win10/ok_hand.png old mode 100755 new mode 100644 index 5006ef4db..036f6e921 Binary files a/public/images/emoji/win10/ok_hand.png and b/public/images/emoji/win10/ok_hand.png differ diff --git a/public/images/emoji/win10/ok_woman.png b/public/images/emoji/win10/ok_woman.png old mode 100755 new mode 100644 index f6cc46990..a6f8e4d3a Binary files a/public/images/emoji/win10/ok_woman.png and b/public/images/emoji/win10/ok_woman.png differ diff --git a/public/images/emoji/win10/old_key.png b/public/images/emoji/win10/old_key.png new file mode 100644 index 000000000..450817604 Binary files /dev/null and b/public/images/emoji/win10/old_key.png differ diff --git a/public/images/emoji/win10/older_man.png b/public/images/emoji/win10/older_man.png old mode 100755 new mode 100644 index e1ab8433a..7f2a29d03 Binary files a/public/images/emoji/win10/older_man.png and b/public/images/emoji/win10/older_man.png differ diff --git a/public/images/emoji/win10/older_woman.png b/public/images/emoji/win10/older_woman.png old mode 100755 new mode 100644 index dcc5feb44..54985012d Binary files a/public/images/emoji/win10/older_woman.png and b/public/images/emoji/win10/older_woman.png differ diff --git a/public/images/emoji/win10/om_symbol.png b/public/images/emoji/win10/om_symbol.png old mode 100755 new mode 100644 index 3fbbf0525..429aa5904 Binary files a/public/images/emoji/win10/om_symbol.png and b/public/images/emoji/win10/om_symbol.png differ diff --git a/public/images/emoji/win10/on.png b/public/images/emoji/win10/on.png old mode 100755 new mode 100644 index 042b13a03..040c5b0a5 Binary files a/public/images/emoji/win10/on.png and b/public/images/emoji/win10/on.png differ diff --git a/public/images/emoji/win10/oncoming_automobile.png b/public/images/emoji/win10/oncoming_automobile.png old mode 100755 new mode 100644 index 749d06e2d..701127a6f Binary files a/public/images/emoji/win10/oncoming_automobile.png and b/public/images/emoji/win10/oncoming_automobile.png differ diff --git a/public/images/emoji/win10/oncoming_bus.png b/public/images/emoji/win10/oncoming_bus.png old mode 100755 new mode 100644 index 2ed531bd0..0aa898ef2 Binary files a/public/images/emoji/win10/oncoming_bus.png and b/public/images/emoji/win10/oncoming_bus.png differ diff --git a/public/images/emoji/win10/oncoming_police_car.png b/public/images/emoji/win10/oncoming_police_car.png old mode 100755 new mode 100644 index f0258ec70..c5736e3a8 Binary files a/public/images/emoji/win10/oncoming_police_car.png and b/public/images/emoji/win10/oncoming_police_car.png differ diff --git a/public/images/emoji/win10/oncoming_taxi.png b/public/images/emoji/win10/oncoming_taxi.png old mode 100755 new mode 100644 index 92a21280d..710328159 Binary files a/public/images/emoji/win10/oncoming_taxi.png and b/public/images/emoji/win10/oncoming_taxi.png differ diff --git a/public/images/emoji/win10/one.png b/public/images/emoji/win10/one.png old mode 100755 new mode 100644 index 95e3c094c..e69de29bb Binary files a/public/images/emoji/win10/one.png and b/public/images/emoji/win10/one.png differ diff --git a/public/images/emoji/win10/open_file_folder.png b/public/images/emoji/win10/open_file_folder.png old mode 100755 new mode 100644 index c92077460..fe98085e2 Binary files a/public/images/emoji/win10/open_file_folder.png and b/public/images/emoji/win10/open_file_folder.png differ diff --git a/public/images/emoji/win10/open_hands.png b/public/images/emoji/win10/open_hands.png old mode 100755 new mode 100644 index 668cae23d..48918ab9e Binary files a/public/images/emoji/win10/open_hands.png and b/public/images/emoji/win10/open_hands.png differ diff --git a/public/images/emoji/win10/open_mouth.png b/public/images/emoji/win10/open_mouth.png old mode 100755 new mode 100644 index 988c5ad26..17e126277 Binary files a/public/images/emoji/win10/open_mouth.png and b/public/images/emoji/win10/open_mouth.png differ diff --git a/public/images/emoji/win10/ophiuchus.png b/public/images/emoji/win10/ophiuchus.png old mode 100755 new mode 100644 index 3fe689145..8e28684ac Binary files a/public/images/emoji/win10/ophiuchus.png and b/public/images/emoji/win10/ophiuchus.png differ diff --git a/public/images/emoji/win10/orange_book.png b/public/images/emoji/win10/orange_book.png old mode 100755 new mode 100644 index a16d14e83..5d7cdfd1e Binary files a/public/images/emoji/win10/orange_book.png and b/public/images/emoji/win10/orange_book.png differ diff --git a/public/images/emoji/win10/orthodox_cross.png b/public/images/emoji/win10/orthodox_cross.png old mode 100755 new mode 100644 index c7a557fa7..85cbf1356 Binary files a/public/images/emoji/win10/orthodox_cross.png and b/public/images/emoji/win10/orthodox_cross.png differ diff --git a/public/images/emoji/win10/outbox_tray.png b/public/images/emoji/win10/outbox_tray.png old mode 100755 new mode 100644 index 593527447..0aaf5ff4e Binary files a/public/images/emoji/win10/outbox_tray.png and b/public/images/emoji/win10/outbox_tray.png differ diff --git a/public/images/emoji/win10/ox.png b/public/images/emoji/win10/ox.png old mode 100755 new mode 100644 index 53db890e9..6178bb53f Binary files a/public/images/emoji/win10/ox.png and b/public/images/emoji/win10/ox.png differ diff --git a/public/images/emoji/win10/package.png b/public/images/emoji/win10/package.png old mode 100755 new mode 100644 index 3f0850575..5319ff48e Binary files a/public/images/emoji/win10/package.png and b/public/images/emoji/win10/package.png differ diff --git a/public/images/emoji/win10/page_facing_up.png b/public/images/emoji/win10/page_facing_up.png old mode 100755 new mode 100644 index ea41e4490..6239d67f0 Binary files a/public/images/emoji/win10/page_facing_up.png and b/public/images/emoji/win10/page_facing_up.png differ diff --git a/public/images/emoji/win10/page_with_curl.png b/public/images/emoji/win10/page_with_curl.png old mode 100755 new mode 100644 index 7913aa2e6..cb48695e9 Binary files a/public/images/emoji/win10/page_with_curl.png and b/public/images/emoji/win10/page_with_curl.png differ diff --git a/public/images/emoji/win10/pager.png b/public/images/emoji/win10/pager.png old mode 100755 new mode 100644 index ae0961c74..a11383a97 Binary files a/public/images/emoji/win10/pager.png and b/public/images/emoji/win10/pager.png differ diff --git a/public/images/emoji/win10/paintbrush.png b/public/images/emoji/win10/paintbrush.png old mode 100755 new mode 100644 index 25d770d79..b2fe046ae Binary files a/public/images/emoji/win10/paintbrush.png and b/public/images/emoji/win10/paintbrush.png differ diff --git a/public/images/emoji/win10/palm_tree.png b/public/images/emoji/win10/palm_tree.png old mode 100755 new mode 100644 index aab73524d..5b10d281c Binary files a/public/images/emoji/win10/palm_tree.png and b/public/images/emoji/win10/palm_tree.png differ diff --git a/public/images/emoji/win10/panda_face.png b/public/images/emoji/win10/panda_face.png old mode 100755 new mode 100644 index 9b69b7af1..30c1a7a46 Binary files a/public/images/emoji/win10/panda_face.png and b/public/images/emoji/win10/panda_face.png differ diff --git a/public/images/emoji/win10/paperclip.png b/public/images/emoji/win10/paperclip.png old mode 100755 new mode 100644 index 2ae1cd82d..deee98d77 Binary files a/public/images/emoji/win10/paperclip.png and b/public/images/emoji/win10/paperclip.png differ diff --git a/public/images/emoji/win10/paperclips.png b/public/images/emoji/win10/paperclips.png old mode 100755 new mode 100644 index 9d88d979c..d6c8326a9 Binary files a/public/images/emoji/win10/paperclips.png and b/public/images/emoji/win10/paperclips.png differ diff --git a/public/images/emoji/win10/park.png b/public/images/emoji/win10/park.png old mode 100755 new mode 100644 index b78a5497b..7dab3a9ea Binary files a/public/images/emoji/win10/park.png and b/public/images/emoji/win10/park.png differ diff --git a/public/images/emoji/win10/parking.png b/public/images/emoji/win10/parking.png old mode 100755 new mode 100644 index 9ddd6bd7f..554d96c96 Binary files a/public/images/emoji/win10/parking.png and b/public/images/emoji/win10/parking.png differ diff --git a/public/images/emoji/win10/part_alternation_mark.png b/public/images/emoji/win10/part_alternation_mark.png old mode 100755 new mode 100644 index baa6fe19a..4e70381a3 Binary files a/public/images/emoji/win10/part_alternation_mark.png and b/public/images/emoji/win10/part_alternation_mark.png differ diff --git a/public/images/emoji/win10/partly_sunny.png b/public/images/emoji/win10/partly_sunny.png old mode 100755 new mode 100644 index f0b7cc345..c8f11a93a Binary files a/public/images/emoji/win10/partly_sunny.png and b/public/images/emoji/win10/partly_sunny.png differ diff --git a/public/images/emoji/win10/passenger_ship.png b/public/images/emoji/win10/passenger_ship.png new file mode 100644 index 000000000..e3105ed5f Binary files /dev/null and b/public/images/emoji/win10/passenger_ship.png differ diff --git a/public/images/emoji/win10/passport_control.png b/public/images/emoji/win10/passport_control.png old mode 100755 new mode 100644 index 8372a70a8..80958cccf Binary files a/public/images/emoji/win10/passport_control.png and b/public/images/emoji/win10/passport_control.png differ diff --git a/public/images/emoji/win10/pause_button.png b/public/images/emoji/win10/pause_button.png old mode 100755 new mode 100644 index d96201b78..570113b9d Binary files a/public/images/emoji/win10/pause_button.png and b/public/images/emoji/win10/pause_button.png differ diff --git a/public/images/emoji/win10/paw_prints.png b/public/images/emoji/win10/paw_prints.png new file mode 100644 index 000000000..c22de58cf Binary files /dev/null and b/public/images/emoji/win10/paw_prints.png differ diff --git a/public/images/emoji/win10/peace.png b/public/images/emoji/win10/peace.png old mode 100755 new mode 100644 index c65dbe545..7ca116224 Binary files a/public/images/emoji/win10/peace.png and b/public/images/emoji/win10/peace.png differ diff --git a/public/images/emoji/win10/peace_symbol.png b/public/images/emoji/win10/peace_symbol.png new file mode 100644 index 000000000..7ca116224 Binary files /dev/null and b/public/images/emoji/win10/peace_symbol.png differ diff --git a/public/images/emoji/win10/peach.png b/public/images/emoji/win10/peach.png old mode 100755 new mode 100644 index 960562eb7..445245f32 Binary files a/public/images/emoji/win10/peach.png and b/public/images/emoji/win10/peach.png differ diff --git a/public/images/emoji/win10/pear.png b/public/images/emoji/win10/pear.png old mode 100755 new mode 100644 index 5dbf2e76b..7b314523a Binary files a/public/images/emoji/win10/pear.png and b/public/images/emoji/win10/pear.png differ diff --git a/public/images/emoji/win10/pen_ballpoint.png b/public/images/emoji/win10/pen_ballpoint.png old mode 100755 new mode 100644 index 8e4927f1f..fe2c32300 Binary files a/public/images/emoji/win10/pen_ballpoint.png and b/public/images/emoji/win10/pen_ballpoint.png differ diff --git a/public/images/emoji/win10/pen_fountain.png b/public/images/emoji/win10/pen_fountain.png old mode 100755 new mode 100644 index a82c04992..aa1511a56 Binary files a/public/images/emoji/win10/pen_fountain.png and b/public/images/emoji/win10/pen_fountain.png differ diff --git a/public/images/emoji/win10/pencil.png b/public/images/emoji/win10/pencil.png old mode 100755 new mode 100644 index 38544f957..8e24698e7 Binary files a/public/images/emoji/win10/pencil.png and b/public/images/emoji/win10/pencil.png differ diff --git a/public/images/emoji/win10/pencil2.png b/public/images/emoji/win10/pencil2.png old mode 100755 new mode 100644 index 736605a6d..751a7a0fc Binary files a/public/images/emoji/win10/pencil2.png and b/public/images/emoji/win10/pencil2.png differ diff --git a/public/images/emoji/win10/penguin.png b/public/images/emoji/win10/penguin.png old mode 100755 new mode 100644 index b18b37871..ceef49365 Binary files a/public/images/emoji/win10/penguin.png and b/public/images/emoji/win10/penguin.png differ diff --git a/public/images/emoji/win10/pensive.png b/public/images/emoji/win10/pensive.png old mode 100755 new mode 100644 index d20e54a5e..8d06b9c0d Binary files a/public/images/emoji/win10/pensive.png and b/public/images/emoji/win10/pensive.png differ diff --git a/public/images/emoji/win10/performing_arts.png b/public/images/emoji/win10/performing_arts.png old mode 100755 new mode 100644 index 31f6c4051..809a3f390 Binary files a/public/images/emoji/win10/performing_arts.png and b/public/images/emoji/win10/performing_arts.png differ diff --git a/public/images/emoji/win10/persevere.png b/public/images/emoji/win10/persevere.png old mode 100755 new mode 100644 index 9729fcded..f7c8cfc4f Binary files a/public/images/emoji/win10/persevere.png and b/public/images/emoji/win10/persevere.png differ diff --git a/public/images/emoji/win10/person_frowning.png b/public/images/emoji/win10/person_frowning.png old mode 100755 new mode 100644 index 6b3ac827b..925ebd266 Binary files a/public/images/emoji/win10/person_frowning.png and b/public/images/emoji/win10/person_frowning.png differ diff --git a/public/images/emoji/win10/person_with_ball.png b/public/images/emoji/win10/person_with_ball.png new file mode 100644 index 000000000..e068ef633 Binary files /dev/null and b/public/images/emoji/win10/person_with_ball.png differ diff --git a/public/images/emoji/win10/person_with_blond_hair.png b/public/images/emoji/win10/person_with_blond_hair.png old mode 100755 new mode 100644 index 287cf915e..9c71d80de Binary files a/public/images/emoji/win10/person_with_blond_hair.png and b/public/images/emoji/win10/person_with_blond_hair.png differ diff --git a/public/images/emoji/win10/person_with_pouting_face.png b/public/images/emoji/win10/person_with_pouting_face.png old mode 100755 new mode 100644 index d16d877e0..1b55cb71b Binary files a/public/images/emoji/win10/person_with_pouting_face.png and b/public/images/emoji/win10/person_with_pouting_face.png differ diff --git a/public/images/emoji/win10/pick.png b/public/images/emoji/win10/pick.png old mode 100755 new mode 100644 index b66e850e2..5d800550a Binary files a/public/images/emoji/win10/pick.png and b/public/images/emoji/win10/pick.png differ diff --git a/public/images/emoji/win10/pig.png b/public/images/emoji/win10/pig.png old mode 100755 new mode 100644 index d0bdca183..3a760b360 Binary files a/public/images/emoji/win10/pig.png and b/public/images/emoji/win10/pig.png differ diff --git a/public/images/emoji/win10/pig2.png b/public/images/emoji/win10/pig2.png old mode 100755 new mode 100644 index a56a2b311..3aaa2bc1a Binary files a/public/images/emoji/win10/pig2.png and b/public/images/emoji/win10/pig2.png differ diff --git a/public/images/emoji/win10/pig_nose.png b/public/images/emoji/win10/pig_nose.png old mode 100755 new mode 100644 index 332328a5d..a5cac7284 Binary files a/public/images/emoji/win10/pig_nose.png and b/public/images/emoji/win10/pig_nose.png differ diff --git a/public/images/emoji/win10/pill.png b/public/images/emoji/win10/pill.png old mode 100755 new mode 100644 index f78fdbb46..cbb3fc81b Binary files a/public/images/emoji/win10/pill.png and b/public/images/emoji/win10/pill.png differ diff --git a/public/images/emoji/win10/pineapple.png b/public/images/emoji/win10/pineapple.png old mode 100755 new mode 100644 index 5495c92b6..77047b32c Binary files a/public/images/emoji/win10/pineapple.png and b/public/images/emoji/win10/pineapple.png differ diff --git a/public/images/emoji/win10/ping_pong.png b/public/images/emoji/win10/ping_pong.png old mode 100755 new mode 100644 index 0664f0f3e..72b698c7f Binary files a/public/images/emoji/win10/ping_pong.png and b/public/images/emoji/win10/ping_pong.png differ diff --git a/public/images/emoji/win10/pisces.png b/public/images/emoji/win10/pisces.png old mode 100755 new mode 100644 index 5794c4e72..2b09c6888 Binary files a/public/images/emoji/win10/pisces.png and b/public/images/emoji/win10/pisces.png differ diff --git a/public/images/emoji/win10/pizza.png b/public/images/emoji/win10/pizza.png old mode 100755 new mode 100644 index 8fdc9f1f2..5462b420f Binary files a/public/images/emoji/win10/pizza.png and b/public/images/emoji/win10/pizza.png differ diff --git a/public/images/emoji/win10/place_of_worship.png b/public/images/emoji/win10/place_of_worship.png old mode 100755 new mode 100644 index 14f741648..23c37f302 Binary files a/public/images/emoji/win10/place_of_worship.png and b/public/images/emoji/win10/place_of_worship.png differ diff --git a/public/images/emoji/win10/play_pause.png b/public/images/emoji/win10/play_pause.png old mode 100755 new mode 100644 index 09f7844fd..0cb9a347d Binary files a/public/images/emoji/win10/play_pause.png and b/public/images/emoji/win10/play_pause.png differ diff --git a/public/images/emoji/win10/point_down.png b/public/images/emoji/win10/point_down.png old mode 100755 new mode 100644 index 1c9fb87f6..d5f686335 Binary files a/public/images/emoji/win10/point_down.png and b/public/images/emoji/win10/point_down.png differ diff --git a/public/images/emoji/win10/point_left.png b/public/images/emoji/win10/point_left.png old mode 100755 new mode 100644 index 88e7e26fb..1fa829df3 Binary files a/public/images/emoji/win10/point_left.png and b/public/images/emoji/win10/point_left.png differ diff --git a/public/images/emoji/win10/point_right.png b/public/images/emoji/win10/point_right.png old mode 100755 new mode 100644 index 2250f912d..608f30f1f Binary files a/public/images/emoji/win10/point_right.png and b/public/images/emoji/win10/point_right.png differ diff --git a/public/images/emoji/win10/point_up.png b/public/images/emoji/win10/point_up.png old mode 100755 new mode 100644 index 154e8b15f..726116cbe Binary files a/public/images/emoji/win10/point_up.png and b/public/images/emoji/win10/point_up.png differ diff --git a/public/images/emoji/win10/point_up_2.png b/public/images/emoji/win10/point_up_2.png old mode 100755 new mode 100644 index 8df1b1cba..caeb7f89f Binary files a/public/images/emoji/win10/point_up_2.png and b/public/images/emoji/win10/point_up_2.png differ diff --git a/public/images/emoji/win10/police_car.png b/public/images/emoji/win10/police_car.png old mode 100755 new mode 100644 index 7ec638671..bfbbb4a0b Binary files a/public/images/emoji/win10/police_car.png and b/public/images/emoji/win10/police_car.png differ diff --git a/public/images/emoji/win10/poo.png b/public/images/emoji/win10/poo.png new file mode 100644 index 000000000..1d0136d3b Binary files /dev/null and b/public/images/emoji/win10/poo.png differ diff --git a/public/images/emoji/win10/poodle.png b/public/images/emoji/win10/poodle.png old mode 100755 new mode 100644 index 894080c55..b35c1680c Binary files a/public/images/emoji/win10/poodle.png and b/public/images/emoji/win10/poodle.png differ diff --git a/public/images/emoji/win10/poop.png b/public/images/emoji/win10/poop.png old mode 100755 new mode 100644 index 64e47894b..1d0136d3b Binary files a/public/images/emoji/win10/poop.png and b/public/images/emoji/win10/poop.png differ diff --git a/public/images/emoji/win10/popcorn.png b/public/images/emoji/win10/popcorn.png old mode 100755 new mode 100644 index 0291d638f..b9de22f14 Binary files a/public/images/emoji/win10/popcorn.png and b/public/images/emoji/win10/popcorn.png differ diff --git a/public/images/emoji/win10/post_office.png b/public/images/emoji/win10/post_office.png old mode 100755 new mode 100644 index b2c6ea9c3..4e21ef936 Binary files a/public/images/emoji/win10/post_office.png and b/public/images/emoji/win10/post_office.png differ diff --git a/public/images/emoji/win10/postal_horn.png b/public/images/emoji/win10/postal_horn.png old mode 100755 new mode 100644 index a7e17906e..34a970130 Binary files a/public/images/emoji/win10/postal_horn.png and b/public/images/emoji/win10/postal_horn.png differ diff --git a/public/images/emoji/win10/postbox.png b/public/images/emoji/win10/postbox.png old mode 100755 new mode 100644 index 29ce3131e..9a0dcc2eb Binary files a/public/images/emoji/win10/postbox.png and b/public/images/emoji/win10/postbox.png differ diff --git a/public/images/emoji/win10/potable_water.png b/public/images/emoji/win10/potable_water.png old mode 100755 new mode 100644 index 748a2e43e..7f1184107 Binary files a/public/images/emoji/win10/potable_water.png and b/public/images/emoji/win10/potable_water.png differ diff --git a/public/images/emoji/win10/pouch.png b/public/images/emoji/win10/pouch.png old mode 100755 new mode 100644 index 592ead886..b21a6deaa Binary files a/public/images/emoji/win10/pouch.png and b/public/images/emoji/win10/pouch.png differ diff --git a/public/images/emoji/win10/poultry_leg.png b/public/images/emoji/win10/poultry_leg.png old mode 100755 new mode 100644 index b4ae2cd58..6076662b7 Binary files a/public/images/emoji/win10/poultry_leg.png and b/public/images/emoji/win10/poultry_leg.png differ diff --git a/public/images/emoji/win10/pound.png b/public/images/emoji/win10/pound.png old mode 100755 new mode 100644 index 678fe08e6..39953769e Binary files a/public/images/emoji/win10/pound.png and b/public/images/emoji/win10/pound.png differ diff --git a/public/images/emoji/win10/pouting_cat.png b/public/images/emoji/win10/pouting_cat.png old mode 100755 new mode 100644 index 6f16781b7..48581b8fa Binary files a/public/images/emoji/win10/pouting_cat.png and b/public/images/emoji/win10/pouting_cat.png differ diff --git a/public/images/emoji/win10/pray.png b/public/images/emoji/win10/pray.png old mode 100755 new mode 100644 index 34374d3ff..fbd3eea81 Binary files a/public/images/emoji/win10/pray.png and b/public/images/emoji/win10/pray.png differ diff --git a/public/images/emoji/win10/prayer_beads.png b/public/images/emoji/win10/prayer_beads.png old mode 100755 new mode 100644 index 522a155f9..cbee9828d Binary files a/public/images/emoji/win10/prayer_beads.png and b/public/images/emoji/win10/prayer_beads.png differ diff --git a/public/images/emoji/win10/previous_track.png b/public/images/emoji/win10/previous_track.png new file mode 100644 index 000000000..b06fec19f Binary files /dev/null and b/public/images/emoji/win10/previous_track.png differ diff --git a/public/images/emoji/win10/princess.png b/public/images/emoji/win10/princess.png old mode 100755 new mode 100644 index 5e5c97e14..c75ade9aa Binary files a/public/images/emoji/win10/princess.png and b/public/images/emoji/win10/princess.png differ diff --git a/public/images/emoji/win10/printer.png b/public/images/emoji/win10/printer.png old mode 100755 new mode 100644 index ae350899c..58f53e06c Binary files a/public/images/emoji/win10/printer.png and b/public/images/emoji/win10/printer.png differ diff --git a/public/images/emoji/win10/projector.png b/public/images/emoji/win10/projector.png old mode 100755 new mode 100644 index b225a094f..bdb6c3dd2 Binary files a/public/images/emoji/win10/projector.png and b/public/images/emoji/win10/projector.png differ diff --git a/public/images/emoji/win10/punch.png b/public/images/emoji/win10/punch.png old mode 100755 new mode 100644 index 101aac6b3..574c1d8aa Binary files a/public/images/emoji/win10/punch.png and b/public/images/emoji/win10/punch.png differ diff --git a/public/images/emoji/win10/purple_heart.png b/public/images/emoji/win10/purple_heart.png old mode 100755 new mode 100644 index cc8df1779..c9b61abfa Binary files a/public/images/emoji/win10/purple_heart.png and b/public/images/emoji/win10/purple_heart.png differ diff --git a/public/images/emoji/win10/purse.png b/public/images/emoji/win10/purse.png old mode 100755 new mode 100644 index aceec79c0..d6e37e024 Binary files a/public/images/emoji/win10/purse.png and b/public/images/emoji/win10/purse.png differ diff --git a/public/images/emoji/win10/pushpin.png b/public/images/emoji/win10/pushpin.png old mode 100755 new mode 100644 index 21356803e..c93a5008a Binary files a/public/images/emoji/win10/pushpin.png and b/public/images/emoji/win10/pushpin.png differ diff --git a/public/images/emoji/win10/put_litter_in_its_place.png b/public/images/emoji/win10/put_litter_in_its_place.png old mode 100755 new mode 100644 index b6bea1537..48ed49996 Binary files a/public/images/emoji/win10/put_litter_in_its_place.png and b/public/images/emoji/win10/put_litter_in_its_place.png differ diff --git a/public/images/emoji/win10/question.png b/public/images/emoji/win10/question.png old mode 100755 new mode 100644 index f53105f12..8286707a2 Binary files a/public/images/emoji/win10/question.png and b/public/images/emoji/win10/question.png differ diff --git a/public/images/emoji/win10/rabbit.png b/public/images/emoji/win10/rabbit.png old mode 100755 new mode 100644 index 627be766e..1afae4e59 Binary files a/public/images/emoji/win10/rabbit.png and b/public/images/emoji/win10/rabbit.png differ diff --git a/public/images/emoji/win10/rabbit2.png b/public/images/emoji/win10/rabbit2.png old mode 100755 new mode 100644 index 6e4e134e5..c14d08522 Binary files a/public/images/emoji/win10/rabbit2.png and b/public/images/emoji/win10/rabbit2.png differ diff --git a/public/images/emoji/win10/race_car.png b/public/images/emoji/win10/race_car.png old mode 100755 new mode 100644 index 22e5ae2fd..1177dae19 Binary files a/public/images/emoji/win10/race_car.png and b/public/images/emoji/win10/race_car.png differ diff --git a/public/images/emoji/win10/racehorse.png b/public/images/emoji/win10/racehorse.png old mode 100755 new mode 100644 index f5e46a906..70ed836fa Binary files a/public/images/emoji/win10/racehorse.png and b/public/images/emoji/win10/racehorse.png differ diff --git a/public/images/emoji/win10/racing_car.png b/public/images/emoji/win10/racing_car.png new file mode 100644 index 000000000..1177dae19 Binary files /dev/null and b/public/images/emoji/win10/racing_car.png differ diff --git a/public/images/emoji/win10/racing_motorcycle.png b/public/images/emoji/win10/racing_motorcycle.png new file mode 100644 index 000000000..ec5c7cc6f Binary files /dev/null and b/public/images/emoji/win10/racing_motorcycle.png differ diff --git a/public/images/emoji/win10/radio.png b/public/images/emoji/win10/radio.png old mode 100755 new mode 100644 index 0029a85a2..dc345d6de Binary files a/public/images/emoji/win10/radio.png and b/public/images/emoji/win10/radio.png differ diff --git a/public/images/emoji/win10/radio_button.png b/public/images/emoji/win10/radio_button.png old mode 100755 new mode 100644 index 14cbea91f..1cda2378c Binary files a/public/images/emoji/win10/radio_button.png and b/public/images/emoji/win10/radio_button.png differ diff --git a/public/images/emoji/win10/radioactive.png b/public/images/emoji/win10/radioactive.png old mode 100755 new mode 100644 index a54ef1823..4749b4661 Binary files a/public/images/emoji/win10/radioactive.png and b/public/images/emoji/win10/radioactive.png differ diff --git a/public/images/emoji/win10/radioactive_sign.png b/public/images/emoji/win10/radioactive_sign.png new file mode 100644 index 000000000..4749b4661 Binary files /dev/null and b/public/images/emoji/win10/radioactive_sign.png differ diff --git a/public/images/emoji/win10/rage.png b/public/images/emoji/win10/rage.png old mode 100755 new mode 100644 index 0c5429d5b..cc05a964a Binary files a/public/images/emoji/win10/rage.png and b/public/images/emoji/win10/rage.png differ diff --git a/public/images/emoji/win10/railroad_track.png b/public/images/emoji/win10/railroad_track.png new file mode 100644 index 000000000..2822135c7 Binary files /dev/null and b/public/images/emoji/win10/railroad_track.png differ diff --git a/public/images/emoji/win10/railway_car.png b/public/images/emoji/win10/railway_car.png old mode 100755 new mode 100644 index 09a0c7a42..5134a8fd4 Binary files a/public/images/emoji/win10/railway_car.png and b/public/images/emoji/win10/railway_car.png differ diff --git a/public/images/emoji/win10/railway_track.png b/public/images/emoji/win10/railway_track.png old mode 100755 new mode 100644 index 989eb7b07..2822135c7 Binary files a/public/images/emoji/win10/railway_track.png and b/public/images/emoji/win10/railway_track.png differ diff --git a/public/images/emoji/win10/rainbow.png b/public/images/emoji/win10/rainbow.png old mode 100755 new mode 100644 index 265e4d160..f4261568d Binary files a/public/images/emoji/win10/rainbow.png and b/public/images/emoji/win10/rainbow.png differ diff --git a/public/images/emoji/win10/raised_hand.png b/public/images/emoji/win10/raised_hand.png old mode 100755 new mode 100644 index deb68f741..17390989c Binary files a/public/images/emoji/win10/raised_hand.png and b/public/images/emoji/win10/raised_hand.png differ diff --git a/public/images/emoji/win10/raised_hand_with_fingers_splayed.png b/public/images/emoji/win10/raised_hand_with_fingers_splayed.png new file mode 100644 index 000000000..11eee69f3 Binary files /dev/null and b/public/images/emoji/win10/raised_hand_with_fingers_splayed.png differ diff --git a/public/images/emoji/win10/raised_hand_with_part_between_middle_and_ring_fingers.png b/public/images/emoji/win10/raised_hand_with_part_between_middle_and_ring_fingers.png new file mode 100644 index 000000000..d5dbca1ff Binary files /dev/null and b/public/images/emoji/win10/raised_hand_with_part_between_middle_and_ring_fingers.png differ diff --git a/public/images/emoji/win10/raised_hands.png b/public/images/emoji/win10/raised_hands.png old mode 100755 new mode 100644 index dcc00165c..17d73ef6e Binary files a/public/images/emoji/win10/raised_hands.png and b/public/images/emoji/win10/raised_hands.png differ diff --git a/public/images/emoji/win10/raising_hand.png b/public/images/emoji/win10/raising_hand.png old mode 100755 new mode 100644 index 245bea03d..f97a50924 Binary files a/public/images/emoji/win10/raising_hand.png and b/public/images/emoji/win10/raising_hand.png differ diff --git a/public/images/emoji/win10/ram.png b/public/images/emoji/win10/ram.png old mode 100755 new mode 100644 index c11278ef1..40d414db4 Binary files a/public/images/emoji/win10/ram.png and b/public/images/emoji/win10/ram.png differ diff --git a/public/images/emoji/win10/ramen.png b/public/images/emoji/win10/ramen.png old mode 100755 new mode 100644 index 98cd61869..a90929ea2 Binary files a/public/images/emoji/win10/ramen.png and b/public/images/emoji/win10/ramen.png differ diff --git a/public/images/emoji/win10/rat.png b/public/images/emoji/win10/rat.png old mode 100755 new mode 100644 index 158595bbd..bb06308e2 Binary files a/public/images/emoji/win10/rat.png and b/public/images/emoji/win10/rat.png differ diff --git a/public/images/emoji/win10/record_button.png b/public/images/emoji/win10/record_button.png old mode 100755 new mode 100644 index 4c7cb583f..34fa22bac Binary files a/public/images/emoji/win10/record_button.png and b/public/images/emoji/win10/record_button.png differ diff --git a/public/images/emoji/win10/recycle.png b/public/images/emoji/win10/recycle.png old mode 100755 new mode 100644 index a69d60350..e1949150b Binary files a/public/images/emoji/win10/recycle.png and b/public/images/emoji/win10/recycle.png differ diff --git a/public/images/emoji/win10/red_car.png b/public/images/emoji/win10/red_car.png old mode 100755 new mode 100644 index abbc516d6..f54794702 Binary files a/public/images/emoji/win10/red_car.png and b/public/images/emoji/win10/red_car.png differ diff --git a/public/images/emoji/win10/red_circle.png b/public/images/emoji/win10/red_circle.png old mode 100755 new mode 100644 index 1b88a2f06..165f061ec Binary files a/public/images/emoji/win10/red_circle.png and b/public/images/emoji/win10/red_circle.png differ diff --git a/public/images/emoji/win10/registered.png b/public/images/emoji/win10/registered.png old mode 100755 new mode 100644 index d03cdbab7..7637f9581 Binary files a/public/images/emoji/win10/registered.png and b/public/images/emoji/win10/registered.png differ diff --git a/public/images/emoji/win10/relaxed.png b/public/images/emoji/win10/relaxed.png old mode 100755 new mode 100644 index e71eed130..a3cabc9df Binary files a/public/images/emoji/win10/relaxed.png and b/public/images/emoji/win10/relaxed.png differ diff --git a/public/images/emoji/win10/relieved.png b/public/images/emoji/win10/relieved.png old mode 100755 new mode 100644 index da5c92d56..68e26d376 Binary files a/public/images/emoji/win10/relieved.png and b/public/images/emoji/win10/relieved.png differ diff --git a/public/images/emoji/win10/reminder_ribbon.png b/public/images/emoji/win10/reminder_ribbon.png old mode 100755 new mode 100644 index 7e0fedcb8..cd6a8f869 Binary files a/public/images/emoji/win10/reminder_ribbon.png and b/public/images/emoji/win10/reminder_ribbon.png differ diff --git a/public/images/emoji/win10/repeat.png b/public/images/emoji/win10/repeat.png old mode 100755 new mode 100644 index ef71f9a34..b326a092f Binary files a/public/images/emoji/win10/repeat.png and b/public/images/emoji/win10/repeat.png differ diff --git a/public/images/emoji/win10/repeat_one.png b/public/images/emoji/win10/repeat_one.png old mode 100755 new mode 100644 index 141db7e9e..04f339f05 Binary files a/public/images/emoji/win10/repeat_one.png and b/public/images/emoji/win10/repeat_one.png differ diff --git a/public/images/emoji/win10/restroom.png b/public/images/emoji/win10/restroom.png old mode 100755 new mode 100644 index b5999c46f..f8df537fc Binary files a/public/images/emoji/win10/restroom.png and b/public/images/emoji/win10/restroom.png differ diff --git a/public/images/emoji/win10/reversed_hand_with_middle_finger_extended.png b/public/images/emoji/win10/reversed_hand_with_middle_finger_extended.png new file mode 100644 index 000000000..ac5ed367d Binary files /dev/null and b/public/images/emoji/win10/reversed_hand_with_middle_finger_extended.png differ diff --git a/public/images/emoji/win10/revolving_hearts.png b/public/images/emoji/win10/revolving_hearts.png old mode 100755 new mode 100644 index 1bbf87558..242837b98 Binary files a/public/images/emoji/win10/revolving_hearts.png and b/public/images/emoji/win10/revolving_hearts.png differ diff --git a/public/images/emoji/win10/rewind.png b/public/images/emoji/win10/rewind.png old mode 100755 new mode 100644 index 5e37d81df..b88e1eca5 Binary files a/public/images/emoji/win10/rewind.png and b/public/images/emoji/win10/rewind.png differ diff --git a/public/images/emoji/win10/ribbon.png b/public/images/emoji/win10/ribbon.png old mode 100755 new mode 100644 index 4cc0079e1..63e22d675 Binary files a/public/images/emoji/win10/ribbon.png and b/public/images/emoji/win10/ribbon.png differ diff --git a/public/images/emoji/win10/rice.png b/public/images/emoji/win10/rice.png old mode 100755 new mode 100644 index 84bb5f621..2383db45f Binary files a/public/images/emoji/win10/rice.png and b/public/images/emoji/win10/rice.png differ diff --git a/public/images/emoji/win10/rice_ball.png b/public/images/emoji/win10/rice_ball.png old mode 100755 new mode 100644 index 498451023..e6e384888 Binary files a/public/images/emoji/win10/rice_ball.png and b/public/images/emoji/win10/rice_ball.png differ diff --git a/public/images/emoji/win10/rice_cracker.png b/public/images/emoji/win10/rice_cracker.png old mode 100755 new mode 100644 index 11410bd87..f2bc8fff6 Binary files a/public/images/emoji/win10/rice_cracker.png and b/public/images/emoji/win10/rice_cracker.png differ diff --git a/public/images/emoji/win10/rice_scene.png b/public/images/emoji/win10/rice_scene.png old mode 100755 new mode 100644 index 203898d34..6ecd1599d Binary files a/public/images/emoji/win10/rice_scene.png and b/public/images/emoji/win10/rice_scene.png differ diff --git a/public/images/emoji/win10/right_anger_bubble.png b/public/images/emoji/win10/right_anger_bubble.png new file mode 100644 index 000000000..a3b7270dd Binary files /dev/null and b/public/images/emoji/win10/right_anger_bubble.png differ diff --git a/public/images/emoji/win10/ring.png b/public/images/emoji/win10/ring.png old mode 100755 new mode 100644 index f4f8df92d..59baaa968 Binary files a/public/images/emoji/win10/ring.png and b/public/images/emoji/win10/ring.png differ diff --git a/public/images/emoji/win10/robot.png b/public/images/emoji/win10/robot.png old mode 100755 new mode 100644 index 9f4ff67ff..47e2cb817 Binary files a/public/images/emoji/win10/robot.png and b/public/images/emoji/win10/robot.png differ diff --git a/public/images/emoji/win10/robot_face.png b/public/images/emoji/win10/robot_face.png new file mode 100644 index 000000000..47e2cb817 Binary files /dev/null and b/public/images/emoji/win10/robot_face.png differ diff --git a/public/images/emoji/win10/rocket.png b/public/images/emoji/win10/rocket.png old mode 100755 new mode 100644 index 5ee8fc2eb..480f7005d Binary files a/public/images/emoji/win10/rocket.png and b/public/images/emoji/win10/rocket.png differ diff --git a/public/images/emoji/win10/rolled_up_newspaper.png b/public/images/emoji/win10/rolled_up_newspaper.png new file mode 100644 index 000000000..91f3335f1 Binary files /dev/null and b/public/images/emoji/win10/rolled_up_newspaper.png differ diff --git a/public/images/emoji/win10/roller_coaster.png b/public/images/emoji/win10/roller_coaster.png old mode 100755 new mode 100644 index 6cb6d41bf..7586f2270 Binary files a/public/images/emoji/win10/roller_coaster.png and b/public/images/emoji/win10/roller_coaster.png differ diff --git a/public/images/emoji/win10/rolling_eyes.png b/public/images/emoji/win10/rolling_eyes.png old mode 100755 new mode 100644 index 56c5a5c13..090ee207a Binary files a/public/images/emoji/win10/rolling_eyes.png and b/public/images/emoji/win10/rolling_eyes.png differ diff --git a/public/images/emoji/win10/rooster.png b/public/images/emoji/win10/rooster.png old mode 100755 new mode 100644 index b13149a5b..4692b99d3 Binary files a/public/images/emoji/win10/rooster.png and b/public/images/emoji/win10/rooster.png differ diff --git a/public/images/emoji/win10/rose.png b/public/images/emoji/win10/rose.png old mode 100755 new mode 100644 index 7da08d05d..8bde31783 Binary files a/public/images/emoji/win10/rose.png and b/public/images/emoji/win10/rose.png differ diff --git a/public/images/emoji/win10/rosette.png b/public/images/emoji/win10/rosette.png old mode 100755 new mode 100644 index 8f364c379..4735a2bcd Binary files a/public/images/emoji/win10/rosette.png and b/public/images/emoji/win10/rosette.png differ diff --git a/public/images/emoji/win10/rotating_light.png b/public/images/emoji/win10/rotating_light.png old mode 100755 new mode 100644 index d80745978..e13578efa Binary files a/public/images/emoji/win10/rotating_light.png and b/public/images/emoji/win10/rotating_light.png differ diff --git a/public/images/emoji/win10/round_pushpin.png b/public/images/emoji/win10/round_pushpin.png old mode 100755 new mode 100644 index a3536800a..7f28489ca Binary files a/public/images/emoji/win10/round_pushpin.png and b/public/images/emoji/win10/round_pushpin.png differ diff --git a/public/images/emoji/win10/rowboat.png b/public/images/emoji/win10/rowboat.png old mode 100755 new mode 100644 index ddee78372..da7c189a8 Binary files a/public/images/emoji/win10/rowboat.png and b/public/images/emoji/win10/rowboat.png differ diff --git a/public/images/emoji/win10/ru.png b/public/images/emoji/win10/ru.png new file mode 100644 index 000000000..9b23019f3 Binary files /dev/null and b/public/images/emoji/win10/ru.png differ diff --git a/public/images/emoji/win10/rugby_football.png b/public/images/emoji/win10/rugby_football.png old mode 100755 new mode 100644 index 45b4a26aa..62a95c4c7 Binary files a/public/images/emoji/win10/rugby_football.png and b/public/images/emoji/win10/rugby_football.png differ diff --git a/public/images/emoji/win10/runner.png b/public/images/emoji/win10/runner.png old mode 100755 new mode 100644 index 7c60b110c..32a8cf7b8 Binary files a/public/images/emoji/win10/runner.png and b/public/images/emoji/win10/runner.png differ diff --git a/public/images/emoji/win10/running_shirt_with_sash.png b/public/images/emoji/win10/running_shirt_with_sash.png old mode 100755 new mode 100644 index 7faf8aeff..16faad092 Binary files a/public/images/emoji/win10/running_shirt_with_sash.png and b/public/images/emoji/win10/running_shirt_with_sash.png differ diff --git a/public/images/emoji/win10/sa.png b/public/images/emoji/win10/sa.png old mode 100755 new mode 100644 index d1270b502..68e87151f Binary files a/public/images/emoji/win10/sa.png and b/public/images/emoji/win10/sa.png differ diff --git a/public/images/emoji/win10/sagittarius.png b/public/images/emoji/win10/sagittarius.png old mode 100755 new mode 100644 index 7663f61ce..4478e79db Binary files a/public/images/emoji/win10/sagittarius.png and b/public/images/emoji/win10/sagittarius.png differ diff --git a/public/images/emoji/win10/sailboat.png b/public/images/emoji/win10/sailboat.png old mode 100755 new mode 100644 index 196f6bca3..7bf913131 Binary files a/public/images/emoji/win10/sailboat.png and b/public/images/emoji/win10/sailboat.png differ diff --git a/public/images/emoji/win10/sake.png b/public/images/emoji/win10/sake.png old mode 100755 new mode 100644 index 821156113..b5b424b77 Binary files a/public/images/emoji/win10/sake.png and b/public/images/emoji/win10/sake.png differ diff --git a/public/images/emoji/win10/sandal.png b/public/images/emoji/win10/sandal.png old mode 100755 new mode 100644 index a0e8f3c1b..d0b61f534 Binary files a/public/images/emoji/win10/sandal.png and b/public/images/emoji/win10/sandal.png differ diff --git a/public/images/emoji/win10/santa.png b/public/images/emoji/win10/santa.png old mode 100755 new mode 100644 index 2504bf95a..e19e13e6b Binary files a/public/images/emoji/win10/santa.png and b/public/images/emoji/win10/santa.png differ diff --git a/public/images/emoji/win10/satellite.png b/public/images/emoji/win10/satellite.png old mode 100755 new mode 100644 index 2cf32469e..ee00094f5 Binary files a/public/images/emoji/win10/satellite.png and b/public/images/emoji/win10/satellite.png differ diff --git a/public/images/emoji/win10/satellite_orbital.png b/public/images/emoji/win10/satellite_orbital.png old mode 100755 new mode 100644 index 3df7edad3..1b1553a6b Binary files a/public/images/emoji/win10/satellite_orbital.png and b/public/images/emoji/win10/satellite_orbital.png differ diff --git a/public/images/emoji/win10/satisfied.png b/public/images/emoji/win10/satisfied.png new file mode 100644 index 000000000..2d3cc4adf Binary files /dev/null and b/public/images/emoji/win10/satisfied.png differ diff --git a/public/images/emoji/win10/saxophone.png b/public/images/emoji/win10/saxophone.png old mode 100755 new mode 100644 index ffd2e5b97..007240ab1 Binary files a/public/images/emoji/win10/saxophone.png and b/public/images/emoji/win10/saxophone.png differ diff --git a/public/images/emoji/win10/scales.png b/public/images/emoji/win10/scales.png old mode 100755 new mode 100644 index 8fb8fc5bf..21db689c7 Binary files a/public/images/emoji/win10/scales.png and b/public/images/emoji/win10/scales.png differ diff --git a/public/images/emoji/win10/school.png b/public/images/emoji/win10/school.png old mode 100755 new mode 100644 index 18a687a8f..bf17a4397 Binary files a/public/images/emoji/win10/school.png and b/public/images/emoji/win10/school.png differ diff --git a/public/images/emoji/win10/school_satchel.png b/public/images/emoji/win10/school_satchel.png old mode 100755 new mode 100644 index 1f425d98f..10f8f91ad Binary files a/public/images/emoji/win10/school_satchel.png and b/public/images/emoji/win10/school_satchel.png differ diff --git a/public/images/emoji/win10/scissors.png b/public/images/emoji/win10/scissors.png old mode 100755 new mode 100644 index e4f2352b7..9bb7bb441 Binary files a/public/images/emoji/win10/scissors.png and b/public/images/emoji/win10/scissors.png differ diff --git a/public/images/emoji/win10/scorpion.png b/public/images/emoji/win10/scorpion.png index cbabd6ba1..d562f238b 100644 Binary files a/public/images/emoji/win10/scorpion.png and b/public/images/emoji/win10/scorpion.png differ diff --git a/public/images/emoji/win10/scorpius.png b/public/images/emoji/win10/scorpius.png old mode 100755 new mode 100644 index e95e0037e..d9e9cc692 Binary files a/public/images/emoji/win10/scorpius.png and b/public/images/emoji/win10/scorpius.png differ diff --git a/public/images/emoji/win10/scream.png b/public/images/emoji/win10/scream.png old mode 100755 new mode 100644 index 76e1ba035..b527b2a2f Binary files a/public/images/emoji/win10/scream.png and b/public/images/emoji/win10/scream.png differ diff --git a/public/images/emoji/win10/scream_cat.png b/public/images/emoji/win10/scream_cat.png old mode 100755 new mode 100644 index 4a771c33e..6bd0bd2a5 Binary files a/public/images/emoji/win10/scream_cat.png and b/public/images/emoji/win10/scream_cat.png differ diff --git a/public/images/emoji/win10/scroll.png b/public/images/emoji/win10/scroll.png old mode 100755 new mode 100644 index a6cd2e362..93f060493 Binary files a/public/images/emoji/win10/scroll.png and b/public/images/emoji/win10/scroll.png differ diff --git a/public/images/emoji/win10/seat.png b/public/images/emoji/win10/seat.png old mode 100755 new mode 100644 index 7f34c6da0..78baf04bf Binary files a/public/images/emoji/win10/seat.png and b/public/images/emoji/win10/seat.png differ diff --git a/public/images/emoji/win10/secret.png b/public/images/emoji/win10/secret.png old mode 100755 new mode 100644 index 7d91935b9..a0a0b6926 Binary files a/public/images/emoji/win10/secret.png and b/public/images/emoji/win10/secret.png differ diff --git a/public/images/emoji/win10/see_no_evil.png b/public/images/emoji/win10/see_no_evil.png old mode 100755 new mode 100644 index d186f7567..7482ef53a Binary files a/public/images/emoji/win10/see_no_evil.png and b/public/images/emoji/win10/see_no_evil.png differ diff --git a/public/images/emoji/win10/seedling.png b/public/images/emoji/win10/seedling.png old mode 100755 new mode 100644 index 91217fd40..ecd024fe0 Binary files a/public/images/emoji/win10/seedling.png and b/public/images/emoji/win10/seedling.png differ diff --git a/public/images/emoji/win10/seven.png b/public/images/emoji/win10/seven.png old mode 100755 new mode 100644 index 1c839c4e1..e69de29bb Binary files a/public/images/emoji/win10/seven.png and b/public/images/emoji/win10/seven.png differ diff --git a/public/images/emoji/win10/shamrock.png b/public/images/emoji/win10/shamrock.png old mode 100755 new mode 100644 index 4a1f5d0a0..ec4661a31 Binary files a/public/images/emoji/win10/shamrock.png and b/public/images/emoji/win10/shamrock.png differ diff --git a/public/images/emoji/win10/shaved_ice.png b/public/images/emoji/win10/shaved_ice.png old mode 100755 new mode 100644 index 93bae3ec2..6b5460d8b Binary files a/public/images/emoji/win10/shaved_ice.png and b/public/images/emoji/win10/shaved_ice.png differ diff --git a/public/images/emoji/win10/sheep.png b/public/images/emoji/win10/sheep.png old mode 100755 new mode 100644 index 2c6df6024..5cf0983fa Binary files a/public/images/emoji/win10/sheep.png and b/public/images/emoji/win10/sheep.png differ diff --git a/public/images/emoji/win10/shell.png b/public/images/emoji/win10/shell.png old mode 100755 new mode 100644 index 879ae9492..9a7648f6d Binary files a/public/images/emoji/win10/shell.png and b/public/images/emoji/win10/shell.png differ diff --git a/public/images/emoji/win10/shield.png b/public/images/emoji/win10/shield.png old mode 100755 new mode 100644 index 4c7cc468b..c647dcc99 Binary files a/public/images/emoji/win10/shield.png and b/public/images/emoji/win10/shield.png differ diff --git a/public/images/emoji/win10/shinto_shrine.png b/public/images/emoji/win10/shinto_shrine.png old mode 100755 new mode 100644 index 11e733d14..d75a30693 Binary files a/public/images/emoji/win10/shinto_shrine.png and b/public/images/emoji/win10/shinto_shrine.png differ diff --git a/public/images/emoji/win10/ship.png b/public/images/emoji/win10/ship.png old mode 100755 new mode 100644 index f55181074..266f07326 Binary files a/public/images/emoji/win10/ship.png and b/public/images/emoji/win10/ship.png differ diff --git a/public/images/emoji/win10/shirt.png b/public/images/emoji/win10/shirt.png old mode 100755 new mode 100644 index 988899797..0117d4965 Binary files a/public/images/emoji/win10/shirt.png and b/public/images/emoji/win10/shirt.png differ diff --git a/public/images/emoji/win10/shit.png b/public/images/emoji/win10/shit.png new file mode 100644 index 000000000..1d0136d3b Binary files /dev/null and b/public/images/emoji/win10/shit.png differ diff --git a/public/images/emoji/win10/shopping_bags.png b/public/images/emoji/win10/shopping_bags.png old mode 100755 new mode 100644 index 1ff66401d..f0b9ad841 Binary files a/public/images/emoji/win10/shopping_bags.png and b/public/images/emoji/win10/shopping_bags.png differ diff --git a/public/images/emoji/win10/shower.png b/public/images/emoji/win10/shower.png old mode 100755 new mode 100644 index ea42ed1db..7499f5f67 Binary files a/public/images/emoji/win10/shower.png and b/public/images/emoji/win10/shower.png differ diff --git a/public/images/emoji/win10/sign_of_the_horns.png b/public/images/emoji/win10/sign_of_the_horns.png new file mode 100644 index 000000000..b0398de8b Binary files /dev/null and b/public/images/emoji/win10/sign_of_the_horns.png differ diff --git a/public/images/emoji/win10/signal_strength.png b/public/images/emoji/win10/signal_strength.png old mode 100755 new mode 100644 index 543b7e1fb..14b2b379c Binary files a/public/images/emoji/win10/signal_strength.png and b/public/images/emoji/win10/signal_strength.png differ diff --git a/public/images/emoji/win10/six.png b/public/images/emoji/win10/six.png old mode 100755 new mode 100644 index 8e8a805e8..e69de29bb Binary files a/public/images/emoji/win10/six.png and b/public/images/emoji/win10/six.png differ diff --git a/public/images/emoji/win10/six_pointed_star.png b/public/images/emoji/win10/six_pointed_star.png old mode 100755 new mode 100644 index dcacd618f..f706820df Binary files a/public/images/emoji/win10/six_pointed_star.png and b/public/images/emoji/win10/six_pointed_star.png differ diff --git a/public/images/emoji/win10/skeleton.png b/public/images/emoji/win10/skeleton.png new file mode 100644 index 000000000..05f12ca1d Binary files /dev/null and b/public/images/emoji/win10/skeleton.png differ diff --git a/public/images/emoji/win10/ski.png b/public/images/emoji/win10/ski.png old mode 100755 new mode 100644 index 5d61f777a..725128f96 Binary files a/public/images/emoji/win10/ski.png and b/public/images/emoji/win10/ski.png differ diff --git a/public/images/emoji/win10/skier.png b/public/images/emoji/win10/skier.png old mode 100755 new mode 100644 index c5175c367..d0bdbff85 Binary files a/public/images/emoji/win10/skier.png and b/public/images/emoji/win10/skier.png differ diff --git a/public/images/emoji/win10/skull.png b/public/images/emoji/win10/skull.png old mode 100755 new mode 100644 index f79195f78..05f12ca1d Binary files a/public/images/emoji/win10/skull.png and b/public/images/emoji/win10/skull.png differ diff --git a/public/images/emoji/win10/skull_and_crossbones.png b/public/images/emoji/win10/skull_and_crossbones.png new file mode 100644 index 000000000..7c3982e6c Binary files /dev/null and b/public/images/emoji/win10/skull_and_crossbones.png differ diff --git a/public/images/emoji/win10/skull_crossbones.png b/public/images/emoji/win10/skull_crossbones.png old mode 100755 new mode 100644 index 3c0d997b2..7c3982e6c Binary files a/public/images/emoji/win10/skull_crossbones.png and b/public/images/emoji/win10/skull_crossbones.png differ diff --git a/public/images/emoji/win10/sleeping.png b/public/images/emoji/win10/sleeping.png old mode 100755 new mode 100644 index 3c934c522..ff93c3184b Binary files a/public/images/emoji/win10/sleeping.png and b/public/images/emoji/win10/sleeping.png differ diff --git a/public/images/emoji/win10/sleeping_accommodation.png b/public/images/emoji/win10/sleeping_accommodation.png old mode 100755 new mode 100644 index a86a9a44c..22f9cf254 Binary files a/public/images/emoji/win10/sleeping_accommodation.png and b/public/images/emoji/win10/sleeping_accommodation.png differ diff --git a/public/images/emoji/win10/sleepy.png b/public/images/emoji/win10/sleepy.png old mode 100755 new mode 100644 index 147e85862..bed793c1f Binary files a/public/images/emoji/win10/sleepy.png and b/public/images/emoji/win10/sleepy.png differ diff --git a/public/images/emoji/win10/sleuth_or_spy.png b/public/images/emoji/win10/sleuth_or_spy.png new file mode 100644 index 000000000..625c4ee81 Binary files /dev/null and b/public/images/emoji/win10/sleuth_or_spy.png differ diff --git a/public/images/emoji/win10/slight_frown.png b/public/images/emoji/win10/slight_frown.png old mode 100755 new mode 100644 index 4a33ff799..73c1ec523 Binary files a/public/images/emoji/win10/slight_frown.png and b/public/images/emoji/win10/slight_frown.png differ diff --git a/public/images/emoji/win10/slight_smile.png b/public/images/emoji/win10/slight_smile.png old mode 100755 new mode 100644 index 82d9db60b..718d272dd Binary files a/public/images/emoji/win10/slight_smile.png and b/public/images/emoji/win10/slight_smile.png differ diff --git a/public/images/emoji/win10/slightly_frowning_face.png b/public/images/emoji/win10/slightly_frowning_face.png new file mode 100644 index 000000000..73c1ec523 Binary files /dev/null and b/public/images/emoji/win10/slightly_frowning_face.png differ diff --git a/public/images/emoji/win10/slightly_smiling_face.png b/public/images/emoji/win10/slightly_smiling_face.png new file mode 100644 index 000000000..718d272dd Binary files /dev/null and b/public/images/emoji/win10/slightly_smiling_face.png differ diff --git a/public/images/emoji/win10/slot_machine.png b/public/images/emoji/win10/slot_machine.png old mode 100755 new mode 100644 index cd636aa17..0fde6f52b Binary files a/public/images/emoji/win10/slot_machine.png and b/public/images/emoji/win10/slot_machine.png differ diff --git a/public/images/emoji/win10/small_airplane.png b/public/images/emoji/win10/small_airplane.png new file mode 100644 index 000000000..84d017a32 Binary files /dev/null and b/public/images/emoji/win10/small_airplane.png differ diff --git a/public/images/emoji/win10/small_blue_diamond.png b/public/images/emoji/win10/small_blue_diamond.png old mode 100755 new mode 100644 index ed61007e0..7193f44c8 Binary files a/public/images/emoji/win10/small_blue_diamond.png and b/public/images/emoji/win10/small_blue_diamond.png differ diff --git a/public/images/emoji/win10/small_orange_diamond.png b/public/images/emoji/win10/small_orange_diamond.png old mode 100755 new mode 100644 index 00aa93e2a..148b5abdc Binary files a/public/images/emoji/win10/small_orange_diamond.png and b/public/images/emoji/win10/small_orange_diamond.png differ diff --git a/public/images/emoji/win10/small_red_triangle.png b/public/images/emoji/win10/small_red_triangle.png old mode 100755 new mode 100644 index a1d1e4199..2a45b3cce Binary files a/public/images/emoji/win10/small_red_triangle.png and b/public/images/emoji/win10/small_red_triangle.png differ diff --git a/public/images/emoji/win10/small_red_triangle_down.png b/public/images/emoji/win10/small_red_triangle_down.png old mode 100755 new mode 100644 index 7431414be..345e485cd Binary files a/public/images/emoji/win10/small_red_triangle_down.png and b/public/images/emoji/win10/small_red_triangle_down.png differ diff --git a/public/images/emoji/win10/smile.png b/public/images/emoji/win10/smile.png old mode 100755 new mode 100644 index 014191120..624cb82e4 Binary files a/public/images/emoji/win10/smile.png and b/public/images/emoji/win10/smile.png differ diff --git a/public/images/emoji/win10/smile_cat.png b/public/images/emoji/win10/smile_cat.png old mode 100755 new mode 100644 index d0b0e628a..2dd668e3c Binary files a/public/images/emoji/win10/smile_cat.png and b/public/images/emoji/win10/smile_cat.png differ diff --git a/public/images/emoji/win10/smiley.png b/public/images/emoji/win10/smiley.png old mode 100755 new mode 100644 index 8203f8b47..04f0108c2 Binary files a/public/images/emoji/win10/smiley.png and b/public/images/emoji/win10/smiley.png differ diff --git a/public/images/emoji/win10/smiley_cat.png b/public/images/emoji/win10/smiley_cat.png old mode 100755 new mode 100644 index 48e590bf3..83655cb6f Binary files a/public/images/emoji/win10/smiley_cat.png and b/public/images/emoji/win10/smiley_cat.png differ diff --git a/public/images/emoji/win10/smiling_imp.png b/public/images/emoji/win10/smiling_imp.png old mode 100755 new mode 100644 index 97fe1af90..3a262a103 Binary files a/public/images/emoji/win10/smiling_imp.png and b/public/images/emoji/win10/smiling_imp.png differ diff --git a/public/images/emoji/win10/smirk.png b/public/images/emoji/win10/smirk.png old mode 100755 new mode 100644 index fb2b36e50..9b23c8a1a Binary files a/public/images/emoji/win10/smirk.png and b/public/images/emoji/win10/smirk.png differ diff --git a/public/images/emoji/win10/smirk_cat.png b/public/images/emoji/win10/smirk_cat.png old mode 100755 new mode 100644 index c5ab91739..768f857cc Binary files a/public/images/emoji/win10/smirk_cat.png and b/public/images/emoji/win10/smirk_cat.png differ diff --git a/public/images/emoji/win10/smoking.png b/public/images/emoji/win10/smoking.png old mode 100755 new mode 100644 index 68e698730..303ea0c23 Binary files a/public/images/emoji/win10/smoking.png and b/public/images/emoji/win10/smoking.png differ diff --git a/public/images/emoji/win10/snail.png b/public/images/emoji/win10/snail.png old mode 100755 new mode 100644 index 8b3eefd35..d64aa7e4e Binary files a/public/images/emoji/win10/snail.png and b/public/images/emoji/win10/snail.png differ diff --git a/public/images/emoji/win10/snake.png b/public/images/emoji/win10/snake.png old mode 100755 new mode 100644 index 7bf643f53..e961c09bc Binary files a/public/images/emoji/win10/snake.png and b/public/images/emoji/win10/snake.png differ diff --git a/public/images/emoji/win10/snow_capped_mountain.png b/public/images/emoji/win10/snow_capped_mountain.png new file mode 100644 index 000000000..11a20f9a0 Binary files /dev/null and b/public/images/emoji/win10/snow_capped_mountain.png differ diff --git a/public/images/emoji/win10/snowboarder.png b/public/images/emoji/win10/snowboarder.png old mode 100755 new mode 100644 index 1b3428733..5e28460f3 Binary files a/public/images/emoji/win10/snowboarder.png and b/public/images/emoji/win10/snowboarder.png differ diff --git a/public/images/emoji/win10/snowflake.png b/public/images/emoji/win10/snowflake.png old mode 100755 new mode 100644 index 58d2f7a33..d91b8e18a Binary files a/public/images/emoji/win10/snowflake.png and b/public/images/emoji/win10/snowflake.png differ diff --git a/public/images/emoji/win10/snowman.png b/public/images/emoji/win10/snowman.png old mode 100755 new mode 100644 index 73cbb0330..a25398cc8 Binary files a/public/images/emoji/win10/snowman.png and b/public/images/emoji/win10/snowman.png differ diff --git a/public/images/emoji/win10/snowman2.png b/public/images/emoji/win10/snowman2.png old mode 100755 new mode 100644 index 1f14a85d1..d9bf8ee58 Binary files a/public/images/emoji/win10/snowman2.png and b/public/images/emoji/win10/snowman2.png differ diff --git a/public/images/emoji/win10/sob.png b/public/images/emoji/win10/sob.png old mode 100755 new mode 100644 index 2b98e29e3..d109ee026 Binary files a/public/images/emoji/win10/sob.png and b/public/images/emoji/win10/sob.png differ diff --git a/public/images/emoji/win10/soccer.png b/public/images/emoji/win10/soccer.png old mode 100755 new mode 100644 index b37971033..25c41fe39 Binary files a/public/images/emoji/win10/soccer.png and b/public/images/emoji/win10/soccer.png differ diff --git a/public/images/emoji/win10/soon.png b/public/images/emoji/win10/soon.png old mode 100755 new mode 100644 index e07e60e89..36e017791 Binary files a/public/images/emoji/win10/soon.png and b/public/images/emoji/win10/soon.png differ diff --git a/public/images/emoji/win10/sos.png b/public/images/emoji/win10/sos.png old mode 100755 new mode 100644 index 44e31ab59..d92599d25 Binary files a/public/images/emoji/win10/sos.png and b/public/images/emoji/win10/sos.png differ diff --git a/public/images/emoji/win10/sound.png b/public/images/emoji/win10/sound.png old mode 100755 new mode 100644 index 105ec1060..bd092770a Binary files a/public/images/emoji/win10/sound.png and b/public/images/emoji/win10/sound.png differ diff --git a/public/images/emoji/win10/space_invader.png b/public/images/emoji/win10/space_invader.png old mode 100755 new mode 100644 index 4f4219b76..d703e5442 Binary files a/public/images/emoji/win10/space_invader.png and b/public/images/emoji/win10/space_invader.png differ diff --git a/public/images/emoji/win10/spades.png b/public/images/emoji/win10/spades.png old mode 100755 new mode 100644 index 32095d33d..0bc5ed0c5 Binary files a/public/images/emoji/win10/spades.png and b/public/images/emoji/win10/spades.png differ diff --git a/public/images/emoji/win10/spaghetti.png b/public/images/emoji/win10/spaghetti.png old mode 100755 new mode 100644 index 57ae45f69..6bec3410c Binary files a/public/images/emoji/win10/spaghetti.png and b/public/images/emoji/win10/spaghetti.png differ diff --git a/public/images/emoji/win10/sparkle.png b/public/images/emoji/win10/sparkle.png old mode 100755 new mode 100644 index 0192633fe..15dd208c3 Binary files a/public/images/emoji/win10/sparkle.png and b/public/images/emoji/win10/sparkle.png differ diff --git a/public/images/emoji/win10/sparkler.png b/public/images/emoji/win10/sparkler.png old mode 100755 new mode 100644 index 3785584ad..5922b0c46 Binary files a/public/images/emoji/win10/sparkler.png and b/public/images/emoji/win10/sparkler.png differ diff --git a/public/images/emoji/win10/sparkles.png b/public/images/emoji/win10/sparkles.png old mode 100755 new mode 100644 index bd3b5dee8..428da59a6 Binary files a/public/images/emoji/win10/sparkles.png and b/public/images/emoji/win10/sparkles.png differ diff --git a/public/images/emoji/win10/sparkling_heart.png b/public/images/emoji/win10/sparkling_heart.png old mode 100755 new mode 100644 index a8f5a1adc..24081c50e Binary files a/public/images/emoji/win10/sparkling_heart.png and b/public/images/emoji/win10/sparkling_heart.png differ diff --git a/public/images/emoji/win10/speak_no_evil.png b/public/images/emoji/win10/speak_no_evil.png old mode 100755 new mode 100644 index a7725b4f6..2da581b02 Binary files a/public/images/emoji/win10/speak_no_evil.png and b/public/images/emoji/win10/speak_no_evil.png differ diff --git a/public/images/emoji/win10/speaker.png b/public/images/emoji/win10/speaker.png old mode 100755 new mode 100644 index 87ef1237a..e8730e4be Binary files a/public/images/emoji/win10/speaker.png and b/public/images/emoji/win10/speaker.png differ diff --git a/public/images/emoji/win10/speaking_head.png b/public/images/emoji/win10/speaking_head.png old mode 100755 new mode 100644 index db5faff7b..cf2f6a76e Binary files a/public/images/emoji/win10/speaking_head.png and b/public/images/emoji/win10/speaking_head.png differ diff --git a/public/images/emoji/win10/speaking_head_in_silhouette.png b/public/images/emoji/win10/speaking_head_in_silhouette.png new file mode 100644 index 000000000..cf2f6a76e Binary files /dev/null and b/public/images/emoji/win10/speaking_head_in_silhouette.png differ diff --git a/public/images/emoji/win10/speech_balloon.png b/public/images/emoji/win10/speech_balloon.png old mode 100755 new mode 100644 index 26dbe1c17..a71ea6f9a Binary files a/public/images/emoji/win10/speech_balloon.png and b/public/images/emoji/win10/speech_balloon.png differ diff --git a/public/images/emoji/win10/speedboat.png b/public/images/emoji/win10/speedboat.png old mode 100755 new mode 100644 index 0593c5110..1cb88a3c4 Binary files a/public/images/emoji/win10/speedboat.png and b/public/images/emoji/win10/speedboat.png differ diff --git a/public/images/emoji/win10/spider.png b/public/images/emoji/win10/spider.png old mode 100755 new mode 100644 index cee508978..1758e31b4 Binary files a/public/images/emoji/win10/spider.png and b/public/images/emoji/win10/spider.png differ diff --git a/public/images/emoji/win10/spider_web.png b/public/images/emoji/win10/spider_web.png old mode 100755 new mode 100644 index aa6a1038c..a98b28608 Binary files a/public/images/emoji/win10/spider_web.png and b/public/images/emoji/win10/spider_web.png differ diff --git a/public/images/emoji/win10/spiral_calendar_pad.png b/public/images/emoji/win10/spiral_calendar_pad.png new file mode 100644 index 000000000..9e3b1e146 Binary files /dev/null and b/public/images/emoji/win10/spiral_calendar_pad.png differ diff --git a/public/images/emoji/win10/spiral_note_pad.png b/public/images/emoji/win10/spiral_note_pad.png new file mode 100644 index 000000000..356ee6a91 Binary files /dev/null and b/public/images/emoji/win10/spiral_note_pad.png differ diff --git a/public/images/emoji/win10/sports_medal.png b/public/images/emoji/win10/sports_medal.png new file mode 100644 index 000000000..40132b51a Binary files /dev/null and b/public/images/emoji/win10/sports_medal.png differ diff --git a/public/images/emoji/win10/spy.png b/public/images/emoji/win10/spy.png old mode 100755 new mode 100644 index d095df7dd..625c4ee81 Binary files a/public/images/emoji/win10/spy.png and b/public/images/emoji/win10/spy.png differ diff --git a/public/images/emoji/win10/stadium.png b/public/images/emoji/win10/stadium.png old mode 100755 new mode 100644 index 84813d45b..82ff7b646 Binary files a/public/images/emoji/win10/stadium.png and b/public/images/emoji/win10/stadium.png differ diff --git a/public/images/emoji/win10/star.png b/public/images/emoji/win10/star.png old mode 100755 new mode 100644 index 88e2ee0d8..6b36125e0 Binary files a/public/images/emoji/win10/star.png and b/public/images/emoji/win10/star.png differ diff --git a/public/images/emoji/win10/star2.png b/public/images/emoji/win10/star2.png old mode 100755 new mode 100644 index 09f8dd1ef..61ba448ea Binary files a/public/images/emoji/win10/star2.png and b/public/images/emoji/win10/star2.png differ diff --git a/public/images/emoji/win10/star_and_crescent.png b/public/images/emoji/win10/star_and_crescent.png old mode 100755 new mode 100644 index a320e7a53..cec4a053a Binary files a/public/images/emoji/win10/star_and_crescent.png and b/public/images/emoji/win10/star_and_crescent.png differ diff --git a/public/images/emoji/win10/star_of_david.png b/public/images/emoji/win10/star_of_david.png old mode 100755 new mode 100644 index c0c5c2c2a..844704f38 Binary files a/public/images/emoji/win10/star_of_david.png and b/public/images/emoji/win10/star_of_david.png differ diff --git a/public/images/emoji/win10/stars.png b/public/images/emoji/win10/stars.png old mode 100755 new mode 100644 index 86fd47824..8bc50302a Binary files a/public/images/emoji/win10/stars.png and b/public/images/emoji/win10/stars.png differ diff --git a/public/images/emoji/win10/station.png b/public/images/emoji/win10/station.png old mode 100755 new mode 100644 index 19c771408..f0088c8c4 Binary files a/public/images/emoji/win10/station.png and b/public/images/emoji/win10/station.png differ diff --git a/public/images/emoji/win10/statue_of_liberty.png b/public/images/emoji/win10/statue_of_liberty.png old mode 100755 new mode 100644 index e5dfd5052..ff9560b4d Binary files a/public/images/emoji/win10/statue_of_liberty.png and b/public/images/emoji/win10/statue_of_liberty.png differ diff --git a/public/images/emoji/win10/steam_locomotive.png b/public/images/emoji/win10/steam_locomotive.png old mode 100755 new mode 100644 index 40df1027c..3a2880958 Binary files a/public/images/emoji/win10/steam_locomotive.png and b/public/images/emoji/win10/steam_locomotive.png differ diff --git a/public/images/emoji/win10/stew.png b/public/images/emoji/win10/stew.png old mode 100755 new mode 100644 index c6a57eea4..b19f21b66 Binary files a/public/images/emoji/win10/stew.png and b/public/images/emoji/win10/stew.png differ diff --git a/public/images/emoji/win10/stop_button.png b/public/images/emoji/win10/stop_button.png old mode 100755 new mode 100644 index c223760ad..6934e94e2 Binary files a/public/images/emoji/win10/stop_button.png and b/public/images/emoji/win10/stop_button.png differ diff --git a/public/images/emoji/win10/stopwatch.png b/public/images/emoji/win10/stopwatch.png old mode 100755 new mode 100644 index 49001aa36..052934fe4 Binary files a/public/images/emoji/win10/stopwatch.png and b/public/images/emoji/win10/stopwatch.png differ diff --git a/public/images/emoji/win10/straight_ruler.png b/public/images/emoji/win10/straight_ruler.png old mode 100755 new mode 100644 index d4f3690a0..753f8067e Binary files a/public/images/emoji/win10/straight_ruler.png and b/public/images/emoji/win10/straight_ruler.png differ diff --git a/public/images/emoji/win10/strawberry.png b/public/images/emoji/win10/strawberry.png old mode 100755 new mode 100644 index cdc0aba79..99532931f Binary files a/public/images/emoji/win10/strawberry.png and b/public/images/emoji/win10/strawberry.png differ diff --git a/public/images/emoji/win10/stuck_out_tongue.png b/public/images/emoji/win10/stuck_out_tongue.png old mode 100755 new mode 100644 index d0532d53b..48abdb547 Binary files a/public/images/emoji/win10/stuck_out_tongue.png and b/public/images/emoji/win10/stuck_out_tongue.png differ diff --git a/public/images/emoji/win10/stuck_out_tongue_closed_eyes.png b/public/images/emoji/win10/stuck_out_tongue_closed_eyes.png old mode 100755 new mode 100644 index d937c9d76..7127f280c Binary files a/public/images/emoji/win10/stuck_out_tongue_closed_eyes.png and b/public/images/emoji/win10/stuck_out_tongue_closed_eyes.png differ diff --git a/public/images/emoji/win10/stuck_out_tongue_winking_eye.png b/public/images/emoji/win10/stuck_out_tongue_winking_eye.png old mode 100755 new mode 100644 index a83db0e5f..9db0f01f1 Binary files a/public/images/emoji/win10/stuck_out_tongue_winking_eye.png and b/public/images/emoji/win10/stuck_out_tongue_winking_eye.png differ diff --git a/public/images/emoji/win10/studio_microphone.png b/public/images/emoji/win10/studio_microphone.png new file mode 100644 index 000000000..136dc3594 Binary files /dev/null and b/public/images/emoji/win10/studio_microphone.png differ diff --git a/public/images/emoji/win10/sun_with_face.png b/public/images/emoji/win10/sun_with_face.png old mode 100755 new mode 100644 index 9f8eb74ad..aa065812d Binary files a/public/images/emoji/win10/sun_with_face.png and b/public/images/emoji/win10/sun_with_face.png differ diff --git a/public/images/emoji/win10/sunflower.png b/public/images/emoji/win10/sunflower.png old mode 100755 new mode 100644 index f9d259202..48120d2ba Binary files a/public/images/emoji/win10/sunflower.png and b/public/images/emoji/win10/sunflower.png differ diff --git a/public/images/emoji/win10/sunglasses.png b/public/images/emoji/win10/sunglasses.png old mode 100755 new mode 100644 index 098a6b8f7..3213896af Binary files a/public/images/emoji/win10/sunglasses.png and b/public/images/emoji/win10/sunglasses.png differ diff --git a/public/images/emoji/win10/sunny.png b/public/images/emoji/win10/sunny.png old mode 100755 new mode 100644 index ae3f264c9..5ea70c91a Binary files a/public/images/emoji/win10/sunny.png and b/public/images/emoji/win10/sunny.png differ diff --git a/public/images/emoji/win10/sunrise.png b/public/images/emoji/win10/sunrise.png old mode 100755 new mode 100644 index 42d3a1d18..4146d77b5 Binary files a/public/images/emoji/win10/sunrise.png and b/public/images/emoji/win10/sunrise.png differ diff --git a/public/images/emoji/win10/sunrise_over_mountains.png b/public/images/emoji/win10/sunrise_over_mountains.png old mode 100755 new mode 100644 index d2c70ba03..b444d5edd Binary files a/public/images/emoji/win10/sunrise_over_mountains.png and b/public/images/emoji/win10/sunrise_over_mountains.png differ diff --git a/public/images/emoji/win10/surfer.png b/public/images/emoji/win10/surfer.png old mode 100755 new mode 100644 index 0ce9081cf..fb460756a Binary files a/public/images/emoji/win10/surfer.png and b/public/images/emoji/win10/surfer.png differ diff --git a/public/images/emoji/win10/sushi.png b/public/images/emoji/win10/sushi.png old mode 100755 new mode 100644 index 98279e087..1e858c2fd Binary files a/public/images/emoji/win10/sushi.png and b/public/images/emoji/win10/sushi.png differ diff --git a/public/images/emoji/win10/suspension_railway.png b/public/images/emoji/win10/suspension_railway.png old mode 100755 new mode 100644 index 6fee95395..bb5520973 Binary files a/public/images/emoji/win10/suspension_railway.png and b/public/images/emoji/win10/suspension_railway.png differ diff --git a/public/images/emoji/win10/sweat.png b/public/images/emoji/win10/sweat.png old mode 100755 new mode 100644 index 331bb1bdc..fff18a464 Binary files a/public/images/emoji/win10/sweat.png and b/public/images/emoji/win10/sweat.png differ diff --git a/public/images/emoji/win10/sweat_drops.png b/public/images/emoji/win10/sweat_drops.png old mode 100755 new mode 100644 index ae879756a..1b9210894 Binary files a/public/images/emoji/win10/sweat_drops.png and b/public/images/emoji/win10/sweat_drops.png differ diff --git a/public/images/emoji/win10/sweat_smile.png b/public/images/emoji/win10/sweat_smile.png old mode 100755 new mode 100644 index 338625b56..299bc02f3 Binary files a/public/images/emoji/win10/sweat_smile.png and b/public/images/emoji/win10/sweat_smile.png differ diff --git a/public/images/emoji/win10/sweet_potato.png b/public/images/emoji/win10/sweet_potato.png old mode 100755 new mode 100644 index c6158c0fe..2d236a235 Binary files a/public/images/emoji/win10/sweet_potato.png and b/public/images/emoji/win10/sweet_potato.png differ diff --git a/public/images/emoji/win10/swimmer.png b/public/images/emoji/win10/swimmer.png old mode 100755 new mode 100644 index 1f0b2b75e..4bcdaecb4 Binary files a/public/images/emoji/win10/swimmer.png and b/public/images/emoji/win10/swimmer.png differ diff --git a/public/images/emoji/win10/symbols.png b/public/images/emoji/win10/symbols.png old mode 100755 new mode 100644 index 02cd00b5e..7eaacd7ab Binary files a/public/images/emoji/win10/symbols.png and b/public/images/emoji/win10/symbols.png differ diff --git a/public/images/emoji/win10/synagogue.png b/public/images/emoji/win10/synagogue.png old mode 100755 new mode 100644 index 685ebaaa4..99aef0403 Binary files a/public/images/emoji/win10/synagogue.png and b/public/images/emoji/win10/synagogue.png differ diff --git a/public/images/emoji/win10/syringe.png b/public/images/emoji/win10/syringe.png old mode 100755 new mode 100644 index 07cc45b0b..9ef19a515 Binary files a/public/images/emoji/win10/syringe.png and b/public/images/emoji/win10/syringe.png differ diff --git a/public/images/emoji/win10/table_tennis.png b/public/images/emoji/win10/table_tennis.png new file mode 100644 index 000000000..72b698c7f Binary files /dev/null and b/public/images/emoji/win10/table_tennis.png differ diff --git a/public/images/emoji/win10/taco.png b/public/images/emoji/win10/taco.png old mode 100755 new mode 100644 index cb75075b4..0625ff74b Binary files a/public/images/emoji/win10/taco.png and b/public/images/emoji/win10/taco.png differ diff --git a/public/images/emoji/win10/tada.png b/public/images/emoji/win10/tada.png old mode 100755 new mode 100644 index 555c20400..63a39c121 Binary files a/public/images/emoji/win10/tada.png and b/public/images/emoji/win10/tada.png differ diff --git a/public/images/emoji/win10/tanabata_tree.png b/public/images/emoji/win10/tanabata_tree.png old mode 100755 new mode 100644 index a613c0339..52e47698a Binary files a/public/images/emoji/win10/tanabata_tree.png and b/public/images/emoji/win10/tanabata_tree.png differ diff --git a/public/images/emoji/win10/tangerine.png b/public/images/emoji/win10/tangerine.png old mode 100755 new mode 100644 index b9a80604e..32b643125 Binary files a/public/images/emoji/win10/tangerine.png and b/public/images/emoji/win10/tangerine.png differ diff --git a/public/images/emoji/win10/taurus.png b/public/images/emoji/win10/taurus.png old mode 100755 new mode 100644 index afd93200d..4061e9565 Binary files a/public/images/emoji/win10/taurus.png and b/public/images/emoji/win10/taurus.png differ diff --git a/public/images/emoji/win10/taxi.png b/public/images/emoji/win10/taxi.png old mode 100755 new mode 100644 index 725e69754..f0d5ac802 Binary files a/public/images/emoji/win10/taxi.png and b/public/images/emoji/win10/taxi.png differ diff --git a/public/images/emoji/win10/tea.png b/public/images/emoji/win10/tea.png old mode 100755 new mode 100644 index 3f14f2fbe..e55276164 Binary files a/public/images/emoji/win10/tea.png and b/public/images/emoji/win10/tea.png differ diff --git a/public/images/emoji/win10/telephone.png b/public/images/emoji/win10/telephone.png old mode 100755 new mode 100644 index 64a2a3dd8..92bcaf872 Binary files a/public/images/emoji/win10/telephone.png and b/public/images/emoji/win10/telephone.png differ diff --git a/public/images/emoji/win10/telephone_receiver.png b/public/images/emoji/win10/telephone_receiver.png old mode 100755 new mode 100644 index 5073993e4..cce1b2117 Binary files a/public/images/emoji/win10/telephone_receiver.png and b/public/images/emoji/win10/telephone_receiver.png differ diff --git a/public/images/emoji/win10/telescope.png b/public/images/emoji/win10/telescope.png old mode 100755 new mode 100644 index 75a77b600..e976e4746 Binary files a/public/images/emoji/win10/telescope.png and b/public/images/emoji/win10/telescope.png differ diff --git a/public/images/emoji/win10/ten.png b/public/images/emoji/win10/ten.png old mode 100755 new mode 100644 index 47477e93c..22f61b5a8 Binary files a/public/images/emoji/win10/ten.png and b/public/images/emoji/win10/ten.png differ diff --git a/public/images/emoji/win10/tennis.png b/public/images/emoji/win10/tennis.png old mode 100755 new mode 100644 index 81ee35816..2e1ea2140 Binary files a/public/images/emoji/win10/tennis.png and b/public/images/emoji/win10/tennis.png differ diff --git a/public/images/emoji/win10/tent.png b/public/images/emoji/win10/tent.png old mode 100755 new mode 100644 index aec438c49..08eb8c632 Binary files a/public/images/emoji/win10/tent.png and b/public/images/emoji/win10/tent.png differ diff --git a/public/images/emoji/win10/thermometer.png b/public/images/emoji/win10/thermometer.png old mode 100755 new mode 100644 index f843f80c7..0feb41ac9 Binary files a/public/images/emoji/win10/thermometer.png and b/public/images/emoji/win10/thermometer.png differ diff --git a/public/images/emoji/win10/thermometer_face.png b/public/images/emoji/win10/thermometer_face.png old mode 100755 new mode 100644 index d79462c3f..b877cddc8 Binary files a/public/images/emoji/win10/thermometer_face.png and b/public/images/emoji/win10/thermometer_face.png differ diff --git a/public/images/emoji/win10/thinking.png b/public/images/emoji/win10/thinking.png old mode 100755 new mode 100644 index bf77c46ef..439280e69 Binary files a/public/images/emoji/win10/thinking.png and b/public/images/emoji/win10/thinking.png differ diff --git a/public/images/emoji/win10/thinking_face.png b/public/images/emoji/win10/thinking_face.png new file mode 100644 index 000000000..439280e69 Binary files /dev/null and b/public/images/emoji/win10/thinking_face.png differ diff --git a/public/images/emoji/win10/thought_balloon.png b/public/images/emoji/win10/thought_balloon.png old mode 100755 new mode 100644 index 88d4df497..c9cc241da Binary files a/public/images/emoji/win10/thought_balloon.png and b/public/images/emoji/win10/thought_balloon.png differ diff --git a/public/images/emoji/win10/three.png b/public/images/emoji/win10/three.png old mode 100755 new mode 100644 index 9cb4d40b0..e69de29bb Binary files a/public/images/emoji/win10/three.png and b/public/images/emoji/win10/three.png differ diff --git a/public/images/emoji/win10/three_button_mouse.png b/public/images/emoji/win10/three_button_mouse.png new file mode 100644 index 000000000..3e39c0f39 Binary files /dev/null and b/public/images/emoji/win10/three_button_mouse.png differ diff --git a/public/images/emoji/win10/thumbsdown.png b/public/images/emoji/win10/thumbsdown.png old mode 100755 new mode 100644 index 0580702df..672126b7b Binary files a/public/images/emoji/win10/thumbsdown.png and b/public/images/emoji/win10/thumbsdown.png differ diff --git a/public/images/emoji/win10/thumbsup.png b/public/images/emoji/win10/thumbsup.png old mode 100755 new mode 100644 index 135786f0d..d28e0808b Binary files a/public/images/emoji/win10/thumbsup.png and b/public/images/emoji/win10/thumbsup.png differ diff --git a/public/images/emoji/win10/thunder_cloud_and_rain.png b/public/images/emoji/win10/thunder_cloud_and_rain.png new file mode 100644 index 000000000..b98748844 Binary files /dev/null and b/public/images/emoji/win10/thunder_cloud_and_rain.png differ diff --git a/public/images/emoji/win10/thunder_cloud_rain.png b/public/images/emoji/win10/thunder_cloud_rain.png old mode 100755 new mode 100644 index e41089484..b98748844 Binary files a/public/images/emoji/win10/thunder_cloud_rain.png and b/public/images/emoji/win10/thunder_cloud_rain.png differ diff --git a/public/images/emoji/win10/ticket.png b/public/images/emoji/win10/ticket.png old mode 100755 new mode 100644 index d8c660488..3e8b80807 Binary files a/public/images/emoji/win10/ticket.png and b/public/images/emoji/win10/ticket.png differ diff --git a/public/images/emoji/win10/tickets.png b/public/images/emoji/win10/tickets.png old mode 100755 new mode 100644 index 30c0ec397..cd5e2c2fd Binary files a/public/images/emoji/win10/tickets.png and b/public/images/emoji/win10/tickets.png differ diff --git a/public/images/emoji/win10/tiger.png b/public/images/emoji/win10/tiger.png old mode 100755 new mode 100644 index 57f93bbbb..0aedcda1c Binary files a/public/images/emoji/win10/tiger.png and b/public/images/emoji/win10/tiger.png differ diff --git a/public/images/emoji/win10/tiger2.png b/public/images/emoji/win10/tiger2.png old mode 100755 new mode 100644 index 872c328c6..536cc61cb Binary files a/public/images/emoji/win10/tiger2.png and b/public/images/emoji/win10/tiger2.png differ diff --git a/public/images/emoji/win10/timer.png b/public/images/emoji/win10/timer.png old mode 100755 new mode 100644 index 9f490483a..b880e2c4c Binary files a/public/images/emoji/win10/timer.png and b/public/images/emoji/win10/timer.png differ diff --git a/public/images/emoji/win10/timer_clock.png b/public/images/emoji/win10/timer_clock.png new file mode 100644 index 000000000..b880e2c4c Binary files /dev/null and b/public/images/emoji/win10/timer_clock.png differ diff --git a/public/images/emoji/win10/tired_face.png b/public/images/emoji/win10/tired_face.png old mode 100755 new mode 100644 index 7424de413..b34cb3bba Binary files a/public/images/emoji/win10/tired_face.png and b/public/images/emoji/win10/tired_face.png differ diff --git a/public/images/emoji/win10/tm.png b/public/images/emoji/win10/tm.png old mode 100755 new mode 100644 index 0eb57b8e7..d8932d5e7 Binary files a/public/images/emoji/win10/tm.png and b/public/images/emoji/win10/tm.png differ diff --git a/public/images/emoji/win10/toilet.png b/public/images/emoji/win10/toilet.png old mode 100755 new mode 100644 index e2837885e..c2d403842 Binary files a/public/images/emoji/win10/toilet.png and b/public/images/emoji/win10/toilet.png differ diff --git a/public/images/emoji/win10/tokyo_tower.png b/public/images/emoji/win10/tokyo_tower.png old mode 100755 new mode 100644 index 989a0a099..f2415ddac Binary files a/public/images/emoji/win10/tokyo_tower.png and b/public/images/emoji/win10/tokyo_tower.png differ diff --git a/public/images/emoji/win10/tomato.png b/public/images/emoji/win10/tomato.png old mode 100755 new mode 100644 index e61f6a315..bf742579d Binary files a/public/images/emoji/win10/tomato.png and b/public/images/emoji/win10/tomato.png differ diff --git a/public/images/emoji/win10/tone1.png b/public/images/emoji/win10/tone1.png deleted file mode 100755 index 5f001e388..000000000 Binary files a/public/images/emoji/win10/tone1.png and /dev/null differ diff --git a/public/images/emoji/win10/tone2.png b/public/images/emoji/win10/tone2.png deleted file mode 100755 index c427b0124..000000000 Binary files a/public/images/emoji/win10/tone2.png and /dev/null differ diff --git a/public/images/emoji/win10/tone3.png b/public/images/emoji/win10/tone3.png deleted file mode 100755 index cb6189201..000000000 Binary files a/public/images/emoji/win10/tone3.png and /dev/null differ diff --git a/public/images/emoji/win10/tone4.png b/public/images/emoji/win10/tone4.png deleted file mode 100755 index f6b0fcc3b..000000000 Binary files a/public/images/emoji/win10/tone4.png and /dev/null differ diff --git a/public/images/emoji/win10/tone5.png b/public/images/emoji/win10/tone5.png deleted file mode 100755 index 050308eb0..000000000 Binary files a/public/images/emoji/win10/tone5.png and /dev/null differ diff --git a/public/images/emoji/win10/tongue.png b/public/images/emoji/win10/tongue.png old mode 100755 new mode 100644 index 1652d7b44..f381da8d5 Binary files a/public/images/emoji/win10/tongue.png and b/public/images/emoji/win10/tongue.png differ diff --git a/public/images/emoji/win10/tools.png b/public/images/emoji/win10/tools.png old mode 100755 new mode 100644 index c75761a7c..3b812fd7d Binary files a/public/images/emoji/win10/tools.png and b/public/images/emoji/win10/tools.png differ diff --git a/public/images/emoji/win10/top.png b/public/images/emoji/win10/top.png old mode 100755 new mode 100644 index 2531a9fd9..a7c175e2d Binary files a/public/images/emoji/win10/top.png and b/public/images/emoji/win10/top.png differ diff --git a/public/images/emoji/win10/tophat.png b/public/images/emoji/win10/tophat.png old mode 100755 new mode 100644 index f4a111fdf..2326d7383 Binary files a/public/images/emoji/win10/tophat.png and b/public/images/emoji/win10/tophat.png differ diff --git a/public/images/emoji/win10/track_next.png b/public/images/emoji/win10/track_next.png old mode 100755 new mode 100644 index 456743385..0f2d82b55 Binary files a/public/images/emoji/win10/track_next.png and b/public/images/emoji/win10/track_next.png differ diff --git a/public/images/emoji/win10/track_previous.png b/public/images/emoji/win10/track_previous.png old mode 100755 new mode 100644 index 5db411397..b06fec19f Binary files a/public/images/emoji/win10/track_previous.png and b/public/images/emoji/win10/track_previous.png differ diff --git a/public/images/emoji/win10/trackball.png b/public/images/emoji/win10/trackball.png old mode 100755 new mode 100644 index 8bc86fc51..3c9a1f769 Binary files a/public/images/emoji/win10/trackball.png and b/public/images/emoji/win10/trackball.png differ diff --git a/public/images/emoji/win10/tractor.png b/public/images/emoji/win10/tractor.png old mode 100755 new mode 100644 index fdbe94e42..92290c70f Binary files a/public/images/emoji/win10/tractor.png and b/public/images/emoji/win10/tractor.png differ diff --git a/public/images/emoji/win10/traffic_light.png b/public/images/emoji/win10/traffic_light.png old mode 100755 new mode 100644 index 5acc98d38..364bd71b1 Binary files a/public/images/emoji/win10/traffic_light.png and b/public/images/emoji/win10/traffic_light.png differ diff --git a/public/images/emoji/win10/train.png b/public/images/emoji/win10/train.png old mode 100755 new mode 100644 index 40c78f17b..8a833744b Binary files a/public/images/emoji/win10/train.png and b/public/images/emoji/win10/train.png differ diff --git a/public/images/emoji/win10/train2.png b/public/images/emoji/win10/train2.png old mode 100755 new mode 100644 index f813c32f4..147926faa Binary files a/public/images/emoji/win10/train2.png and b/public/images/emoji/win10/train2.png differ diff --git a/public/images/emoji/win10/tram.png b/public/images/emoji/win10/tram.png old mode 100755 new mode 100644 index 7475d02ad..ca8f3af01 Binary files a/public/images/emoji/win10/tram.png and b/public/images/emoji/win10/tram.png differ diff --git a/public/images/emoji/win10/triangular_flag_on_post.png b/public/images/emoji/win10/triangular_flag_on_post.png old mode 100755 new mode 100644 index 68e2a0b84..3fcefbb45 Binary files a/public/images/emoji/win10/triangular_flag_on_post.png and b/public/images/emoji/win10/triangular_flag_on_post.png differ diff --git a/public/images/emoji/win10/triangular_ruler.png b/public/images/emoji/win10/triangular_ruler.png old mode 100755 new mode 100644 index 989ef3c50..c82399f93 Binary files a/public/images/emoji/win10/triangular_ruler.png and b/public/images/emoji/win10/triangular_ruler.png differ diff --git a/public/images/emoji/win10/trident.png b/public/images/emoji/win10/trident.png old mode 100755 new mode 100644 index 4b4e9649e..3c9ee77e8 Binary files a/public/images/emoji/win10/trident.png and b/public/images/emoji/win10/trident.png differ diff --git a/public/images/emoji/win10/triumph.png b/public/images/emoji/win10/triumph.png old mode 100755 new mode 100644 index cc10b1ade..ac3cc87c2 Binary files a/public/images/emoji/win10/triumph.png and b/public/images/emoji/win10/triumph.png differ diff --git a/public/images/emoji/win10/trolleybus.png b/public/images/emoji/win10/trolleybus.png old mode 100755 new mode 100644 index cca42be3c..15ed46410 Binary files a/public/images/emoji/win10/trolleybus.png and b/public/images/emoji/win10/trolleybus.png differ diff --git a/public/images/emoji/win10/trophy.png b/public/images/emoji/win10/trophy.png old mode 100755 new mode 100644 index b8062c448..fa9d3a560 Binary files a/public/images/emoji/win10/trophy.png and b/public/images/emoji/win10/trophy.png differ diff --git a/public/images/emoji/win10/tropical_drink.png b/public/images/emoji/win10/tropical_drink.png old mode 100755 new mode 100644 index 222a7f438..a4d10d204 Binary files a/public/images/emoji/win10/tropical_drink.png and b/public/images/emoji/win10/tropical_drink.png differ diff --git a/public/images/emoji/win10/tropical_fish.png b/public/images/emoji/win10/tropical_fish.png old mode 100755 new mode 100644 index a4b82d712..6ad76b9fb Binary files a/public/images/emoji/win10/tropical_fish.png and b/public/images/emoji/win10/tropical_fish.png differ diff --git a/public/images/emoji/win10/truck.png b/public/images/emoji/win10/truck.png old mode 100755 new mode 100644 index 25f67c33a..e069b1317 Binary files a/public/images/emoji/win10/truck.png and b/public/images/emoji/win10/truck.png differ diff --git a/public/images/emoji/win10/trumpet.png b/public/images/emoji/win10/trumpet.png old mode 100755 new mode 100644 index feb1edb58..1c2ce9237 Binary files a/public/images/emoji/win10/trumpet.png and b/public/images/emoji/win10/trumpet.png differ diff --git a/public/images/emoji/win10/tulip.png b/public/images/emoji/win10/tulip.png old mode 100755 new mode 100644 index 493ddbf58..b23c9fec6 Binary files a/public/images/emoji/win10/tulip.png and b/public/images/emoji/win10/tulip.png differ diff --git a/public/images/emoji/win10/turkey.png b/public/images/emoji/win10/turkey.png index cda978eb3..ee3409dd1 100644 Binary files a/public/images/emoji/win10/turkey.png and b/public/images/emoji/win10/turkey.png differ diff --git a/public/images/emoji/win10/turtle.png b/public/images/emoji/win10/turtle.png old mode 100755 new mode 100644 index 0c3c67b46..bb13ca0d7 Binary files a/public/images/emoji/win10/turtle.png and b/public/images/emoji/win10/turtle.png differ diff --git a/public/images/emoji/win10/tv.png b/public/images/emoji/win10/tv.png old mode 100755 new mode 100644 index 20b948b6a..fa01d55bb Binary files a/public/images/emoji/win10/tv.png and b/public/images/emoji/win10/tv.png differ diff --git a/public/images/emoji/win10/twisted_rightwards_arrows.png b/public/images/emoji/win10/twisted_rightwards_arrows.png old mode 100755 new mode 100644 index e830bd370..4db88333a Binary files a/public/images/emoji/win10/twisted_rightwards_arrows.png and b/public/images/emoji/win10/twisted_rightwards_arrows.png differ diff --git a/public/images/emoji/win10/two.png b/public/images/emoji/win10/two.png old mode 100755 new mode 100644 index da3eb230b..e69de29bb Binary files a/public/images/emoji/win10/two.png and b/public/images/emoji/win10/two.png differ diff --git a/public/images/emoji/win10/two_hearts.png b/public/images/emoji/win10/two_hearts.png old mode 100755 new mode 100644 index 095a3b281..1eabcbcea Binary files a/public/images/emoji/win10/two_hearts.png and b/public/images/emoji/win10/two_hearts.png differ diff --git a/public/images/emoji/win10/two_men_holding_hands.png b/public/images/emoji/win10/two_men_holding_hands.png old mode 100755 new mode 100644 index 1dba3c15c..67975e50a Binary files a/public/images/emoji/win10/two_men_holding_hands.png and b/public/images/emoji/win10/two_men_holding_hands.png differ diff --git a/public/images/emoji/win10/two_women_holding_hands.png b/public/images/emoji/win10/two_women_holding_hands.png old mode 100755 new mode 100644 index 75b20b78e..250efabe6 Binary files a/public/images/emoji/win10/two_women_holding_hands.png and b/public/images/emoji/win10/two_women_holding_hands.png differ diff --git a/public/images/emoji/win10/u5272.png b/public/images/emoji/win10/u5272.png old mode 100755 new mode 100644 index 7e06fc681..2dc072000 Binary files a/public/images/emoji/win10/u5272.png and b/public/images/emoji/win10/u5272.png differ diff --git a/public/images/emoji/win10/u5408.png b/public/images/emoji/win10/u5408.png old mode 100755 new mode 100644 index d47080bd4..203d7f568 Binary files a/public/images/emoji/win10/u5408.png and b/public/images/emoji/win10/u5408.png differ diff --git a/public/images/emoji/win10/u55b6.png b/public/images/emoji/win10/u55b6.png old mode 100755 new mode 100644 index 4999ecc1f..cce8ea890 Binary files a/public/images/emoji/win10/u55b6.png and b/public/images/emoji/win10/u55b6.png differ diff --git a/public/images/emoji/win10/u6307.png b/public/images/emoji/win10/u6307.png old mode 100755 new mode 100644 index f26fdf8f3..b7e2e1b4d Binary files a/public/images/emoji/win10/u6307.png and b/public/images/emoji/win10/u6307.png differ diff --git a/public/images/emoji/win10/u6708.png b/public/images/emoji/win10/u6708.png old mode 100755 new mode 100644 index 121eb0297..be9d65744 Binary files a/public/images/emoji/win10/u6708.png and b/public/images/emoji/win10/u6708.png differ diff --git a/public/images/emoji/win10/u6709.png b/public/images/emoji/win10/u6709.png old mode 100755 new mode 100644 index d171e7f21..2b98f745f Binary files a/public/images/emoji/win10/u6709.png and b/public/images/emoji/win10/u6709.png differ diff --git a/public/images/emoji/win10/u6e80.png b/public/images/emoji/win10/u6e80.png old mode 100755 new mode 100644 index 46fafecfc..a424a7347 Binary files a/public/images/emoji/win10/u6e80.png and b/public/images/emoji/win10/u6e80.png differ diff --git a/public/images/emoji/win10/u7121.png b/public/images/emoji/win10/u7121.png old mode 100755 new mode 100644 index 97aeb4c41..dbf54f4ea Binary files a/public/images/emoji/win10/u7121.png and b/public/images/emoji/win10/u7121.png differ diff --git a/public/images/emoji/win10/u7533.png b/public/images/emoji/win10/u7533.png old mode 100755 new mode 100644 index a941c0bdf..89891d189 Binary files a/public/images/emoji/win10/u7533.png and b/public/images/emoji/win10/u7533.png differ diff --git a/public/images/emoji/win10/u7981.png b/public/images/emoji/win10/u7981.png old mode 100755 new mode 100644 index 68f44c539..6cc43f8f0 Binary files a/public/images/emoji/win10/u7981.png and b/public/images/emoji/win10/u7981.png differ diff --git a/public/images/emoji/win10/u7a7a.png b/public/images/emoji/win10/u7a7a.png old mode 100755 new mode 100644 index fc38f1627..2424c5e5f Binary files a/public/images/emoji/win10/u7a7a.png and b/public/images/emoji/win10/u7a7a.png differ diff --git a/public/images/emoji/win10/umbrella.png b/public/images/emoji/win10/umbrella.png old mode 100755 new mode 100644 index 72f8a5935..1c4bd69d6 Binary files a/public/images/emoji/win10/umbrella.png and b/public/images/emoji/win10/umbrella.png differ diff --git a/public/images/emoji/win10/umbrella2.png b/public/images/emoji/win10/umbrella2.png old mode 100755 new mode 100644 index 5280b74b5..d0f3b039f Binary files a/public/images/emoji/win10/umbrella2.png and b/public/images/emoji/win10/umbrella2.png differ diff --git a/public/images/emoji/win10/umbrella_on_ground.png b/public/images/emoji/win10/umbrella_on_ground.png new file mode 100644 index 000000000..a3a45c349 Binary files /dev/null and b/public/images/emoji/win10/umbrella_on_ground.png differ diff --git a/public/images/emoji/win10/unamused.png b/public/images/emoji/win10/unamused.png old mode 100755 new mode 100644 index 119dcafa4..41aaefbc3 Binary files a/public/images/emoji/win10/unamused.png and b/public/images/emoji/win10/unamused.png differ diff --git a/public/images/emoji/win10/underage.png b/public/images/emoji/win10/underage.png old mode 100755 new mode 100644 index 9ea9eb2ce..dda991b24 Binary files a/public/images/emoji/win10/underage.png and b/public/images/emoji/win10/underage.png differ diff --git a/public/images/emoji/win10/unicorn.png b/public/images/emoji/win10/unicorn.png index cb203615c..2f2bc508a 100644 Binary files a/public/images/emoji/win10/unicorn.png and b/public/images/emoji/win10/unicorn.png differ diff --git a/public/images/emoji/win10/unicorn_face.png b/public/images/emoji/win10/unicorn_face.png new file mode 100644 index 000000000..2f2bc508a Binary files /dev/null and b/public/images/emoji/win10/unicorn_face.png differ diff --git a/public/images/emoji/win10/unlock.png b/public/images/emoji/win10/unlock.png old mode 100755 new mode 100644 index 42dc1c59e..2f89d5990 Binary files a/public/images/emoji/win10/unlock.png and b/public/images/emoji/win10/unlock.png differ diff --git a/public/images/emoji/win10/up.png b/public/images/emoji/win10/up.png old mode 100755 new mode 100644 index dec2d192e..695e51965 Binary files a/public/images/emoji/win10/up.png and b/public/images/emoji/win10/up.png differ diff --git a/public/images/emoji/win10/upside_down.png b/public/images/emoji/win10/upside_down.png old mode 100755 new mode 100644 index 7bd2e230f..31842efe3 Binary files a/public/images/emoji/win10/upside_down.png and b/public/images/emoji/win10/upside_down.png differ diff --git a/public/images/emoji/win10/upside_down_face.png b/public/images/emoji/win10/upside_down_face.png new file mode 100644 index 000000000..31842efe3 Binary files /dev/null and b/public/images/emoji/win10/upside_down_face.png differ diff --git a/public/images/emoji/win10/urn.png b/public/images/emoji/win10/urn.png old mode 100755 new mode 100644 index be0396e83..0b9274ec8 Binary files a/public/images/emoji/win10/urn.png and b/public/images/emoji/win10/urn.png differ diff --git a/public/images/emoji/win10/us.png b/public/images/emoji/win10/us.png new file mode 100644 index 000000000..b8aa8dd60 Binary files /dev/null and b/public/images/emoji/win10/us.png differ diff --git a/public/images/emoji/win10/v.png b/public/images/emoji/win10/v.png old mode 100755 new mode 100644 index 94fadca15..f11bce436 Binary files a/public/images/emoji/win10/v.png and b/public/images/emoji/win10/v.png differ diff --git a/public/images/emoji/win10/vertical_traffic_light.png b/public/images/emoji/win10/vertical_traffic_light.png old mode 100755 new mode 100644 index 7b8fc49e0..77868406f Binary files a/public/images/emoji/win10/vertical_traffic_light.png and b/public/images/emoji/win10/vertical_traffic_light.png differ diff --git a/public/images/emoji/win10/vhs.png b/public/images/emoji/win10/vhs.png old mode 100755 new mode 100644 index 736d0ccbd..7371d3716 Binary files a/public/images/emoji/win10/vhs.png and b/public/images/emoji/win10/vhs.png differ diff --git a/public/images/emoji/win10/vibration_mode.png b/public/images/emoji/win10/vibration_mode.png old mode 100755 new mode 100644 index 5d7c7297b..c534af07f Binary files a/public/images/emoji/win10/vibration_mode.png and b/public/images/emoji/win10/vibration_mode.png differ diff --git a/public/images/emoji/win10/video_camera.png b/public/images/emoji/win10/video_camera.png old mode 100755 new mode 100644 index 891da3b19..daf9ec7b9 Binary files a/public/images/emoji/win10/video_camera.png and b/public/images/emoji/win10/video_camera.png differ diff --git a/public/images/emoji/win10/video_game.png b/public/images/emoji/win10/video_game.png old mode 100755 new mode 100644 index 2a999e800..cde32c2ae Binary files a/public/images/emoji/win10/video_game.png and b/public/images/emoji/win10/video_game.png differ diff --git a/public/images/emoji/win10/violin.png b/public/images/emoji/win10/violin.png old mode 100755 new mode 100644 index 686d2db5b..5cb46886e Binary files a/public/images/emoji/win10/violin.png and b/public/images/emoji/win10/violin.png differ diff --git a/public/images/emoji/win10/virgo.png b/public/images/emoji/win10/virgo.png old mode 100755 new mode 100644 index fb050552c..8a8067bdf Binary files a/public/images/emoji/win10/virgo.png and b/public/images/emoji/win10/virgo.png differ diff --git a/public/images/emoji/win10/volcano.png b/public/images/emoji/win10/volcano.png old mode 100755 new mode 100644 index 00eb4f7ba..dc32dabe0 Binary files a/public/images/emoji/win10/volcano.png and b/public/images/emoji/win10/volcano.png differ diff --git a/public/images/emoji/win10/volleyball.png b/public/images/emoji/win10/volleyball.png old mode 100755 new mode 100644 index 4b31393a2..d67c4c7ff Binary files a/public/images/emoji/win10/volleyball.png and b/public/images/emoji/win10/volleyball.png differ diff --git a/public/images/emoji/win10/vs.png b/public/images/emoji/win10/vs.png old mode 100755 new mode 100644 index c3d8f3e83..056287837 Binary files a/public/images/emoji/win10/vs.png and b/public/images/emoji/win10/vs.png differ diff --git a/public/images/emoji/win10/vulcan.png b/public/images/emoji/win10/vulcan.png old mode 100755 new mode 100644 index 08995ef03..d5dbca1ff Binary files a/public/images/emoji/win10/vulcan.png and b/public/images/emoji/win10/vulcan.png differ diff --git a/public/images/emoji/win10/walking.png b/public/images/emoji/win10/walking.png old mode 100755 new mode 100644 index 9c06b0f50..8936319a8 Binary files a/public/images/emoji/win10/walking.png and b/public/images/emoji/win10/walking.png differ diff --git a/public/images/emoji/win10/waning_crescent_moon.png b/public/images/emoji/win10/waning_crescent_moon.png old mode 100755 new mode 100644 index 14dbcf8b9..6dafe10e8 Binary files a/public/images/emoji/win10/waning_crescent_moon.png and b/public/images/emoji/win10/waning_crescent_moon.png differ diff --git a/public/images/emoji/win10/waning_gibbous_moon.png b/public/images/emoji/win10/waning_gibbous_moon.png old mode 100755 new mode 100644 index 930b98081..8ae5be4a4 Binary files a/public/images/emoji/win10/waning_gibbous_moon.png and b/public/images/emoji/win10/waning_gibbous_moon.png differ diff --git a/public/images/emoji/win10/warning.png b/public/images/emoji/win10/warning.png old mode 100755 new mode 100644 index 380d19fd6..f65379fcd Binary files a/public/images/emoji/win10/warning.png and b/public/images/emoji/win10/warning.png differ diff --git a/public/images/emoji/win10/wastebasket.png b/public/images/emoji/win10/wastebasket.png old mode 100755 new mode 100644 index c479614a3..6263ba153 Binary files a/public/images/emoji/win10/wastebasket.png and b/public/images/emoji/win10/wastebasket.png differ diff --git a/public/images/emoji/win10/watch.png b/public/images/emoji/win10/watch.png old mode 100755 new mode 100644 index 5004bb97a..8508f9951 Binary files a/public/images/emoji/win10/watch.png and b/public/images/emoji/win10/watch.png differ diff --git a/public/images/emoji/win10/water_buffalo.png b/public/images/emoji/win10/water_buffalo.png old mode 100755 new mode 100644 index b9665f506..60d4b9cd8 Binary files a/public/images/emoji/win10/water_buffalo.png and b/public/images/emoji/win10/water_buffalo.png differ diff --git a/public/images/emoji/win10/watermelon.png b/public/images/emoji/win10/watermelon.png old mode 100755 new mode 100644 index 792550065..67c2acd53 Binary files a/public/images/emoji/win10/watermelon.png and b/public/images/emoji/win10/watermelon.png differ diff --git a/public/images/emoji/win10/wave.png b/public/images/emoji/win10/wave.png old mode 100755 new mode 100644 index 55f990a2e..9217bebef Binary files a/public/images/emoji/win10/wave.png and b/public/images/emoji/win10/wave.png differ diff --git a/public/images/emoji/win10/waving_black_flag.png b/public/images/emoji/win10/waving_black_flag.png new file mode 100644 index 000000000..8aea4b35e Binary files /dev/null and b/public/images/emoji/win10/waving_black_flag.png differ diff --git a/public/images/emoji/win10/waving_white_flag.png b/public/images/emoji/win10/waving_white_flag.png new file mode 100644 index 000000000..0faada583 Binary files /dev/null and b/public/images/emoji/win10/waving_white_flag.png differ diff --git a/public/images/emoji/win10/wavy_dash.png b/public/images/emoji/win10/wavy_dash.png old mode 100755 new mode 100644 index f215f30db..5287b938b Binary files a/public/images/emoji/win10/wavy_dash.png and b/public/images/emoji/win10/wavy_dash.png differ diff --git a/public/images/emoji/win10/waxing_crescent_moon.png b/public/images/emoji/win10/waxing_crescent_moon.png old mode 100755 new mode 100644 index ab92cdb84..0cec36169 Binary files a/public/images/emoji/win10/waxing_crescent_moon.png and b/public/images/emoji/win10/waxing_crescent_moon.png differ diff --git a/public/images/emoji/win10/waxing_gibbous_moon.png b/public/images/emoji/win10/waxing_gibbous_moon.png old mode 100755 new mode 100644 index 4c6010cc9..694d9cc62 Binary files a/public/images/emoji/win10/waxing_gibbous_moon.png and b/public/images/emoji/win10/waxing_gibbous_moon.png differ diff --git a/public/images/emoji/win10/wc.png b/public/images/emoji/win10/wc.png old mode 100755 new mode 100644 index 708fac49c..5b33e8b4e Binary files a/public/images/emoji/win10/wc.png and b/public/images/emoji/win10/wc.png differ diff --git a/public/images/emoji/win10/weary.png b/public/images/emoji/win10/weary.png old mode 100755 new mode 100644 index f24d8cd5e..7bc0d5da0 Binary files a/public/images/emoji/win10/weary.png and b/public/images/emoji/win10/weary.png differ diff --git a/public/images/emoji/win10/wedding.png b/public/images/emoji/win10/wedding.png old mode 100755 new mode 100644 index b95418f7b..4919c5bea Binary files a/public/images/emoji/win10/wedding.png and b/public/images/emoji/win10/wedding.png differ diff --git a/public/images/emoji/win10/weight_lifter.png b/public/images/emoji/win10/weight_lifter.png new file mode 100644 index 000000000..8e05683be Binary files /dev/null and b/public/images/emoji/win10/weight_lifter.png differ diff --git a/public/images/emoji/win10/whale.png b/public/images/emoji/win10/whale.png old mode 100755 new mode 100644 index ad6aea072..ad2ed9968 Binary files a/public/images/emoji/win10/whale.png and b/public/images/emoji/win10/whale.png differ diff --git a/public/images/emoji/win10/whale2.png b/public/images/emoji/win10/whale2.png old mode 100755 new mode 100644 index dc816c85d..9ad59f32e Binary files a/public/images/emoji/win10/whale2.png and b/public/images/emoji/win10/whale2.png differ diff --git a/public/images/emoji/win10/wheel_of_dharma.png b/public/images/emoji/win10/wheel_of_dharma.png old mode 100755 new mode 100644 index 85815bcf9..24f68281a Binary files a/public/images/emoji/win10/wheel_of_dharma.png and b/public/images/emoji/win10/wheel_of_dharma.png differ diff --git a/public/images/emoji/win10/wheelchair.png b/public/images/emoji/win10/wheelchair.png old mode 100755 new mode 100644 index c911a07b3..347247827 Binary files a/public/images/emoji/win10/wheelchair.png and b/public/images/emoji/win10/wheelchair.png differ diff --git a/public/images/emoji/win10/white_check_mark.png b/public/images/emoji/win10/white_check_mark.png old mode 100755 new mode 100644 index 926c6231f..4f77f8a26 Binary files a/public/images/emoji/win10/white_check_mark.png and b/public/images/emoji/win10/white_check_mark.png differ diff --git a/public/images/emoji/win10/white_circle.png b/public/images/emoji/win10/white_circle.png old mode 100755 new mode 100644 index b2e7c9349..08bb53c6e Binary files a/public/images/emoji/win10/white_circle.png and b/public/images/emoji/win10/white_circle.png differ diff --git a/public/images/emoji/win10/white_flower.png b/public/images/emoji/win10/white_flower.png old mode 100755 new mode 100644 index 062135e05..38a265617 Binary files a/public/images/emoji/win10/white_flower.png and b/public/images/emoji/win10/white_flower.png differ diff --git a/public/images/emoji/win10/white_frowning_face.png b/public/images/emoji/win10/white_frowning_face.png new file mode 100644 index 000000000..4ec64d8ef Binary files /dev/null and b/public/images/emoji/win10/white_frowning_face.png differ diff --git a/public/images/emoji/win10/white_large_square.png b/public/images/emoji/win10/white_large_square.png old mode 100755 new mode 100644 index b43f94b3e..4e0203fc3 Binary files a/public/images/emoji/win10/white_large_square.png and b/public/images/emoji/win10/white_large_square.png differ diff --git a/public/images/emoji/win10/white_medium_small_square.png b/public/images/emoji/win10/white_medium_small_square.png old mode 100755 new mode 100644 index 761e9aaf1..71dfa9433 Binary files a/public/images/emoji/win10/white_medium_small_square.png and b/public/images/emoji/win10/white_medium_small_square.png differ diff --git a/public/images/emoji/win10/white_medium_square.png b/public/images/emoji/win10/white_medium_square.png old mode 100755 new mode 100644 index ebaf0c71e..dd09f59c7 Binary files a/public/images/emoji/win10/white_medium_square.png and b/public/images/emoji/win10/white_medium_square.png differ diff --git a/public/images/emoji/win10/white_small_square.png b/public/images/emoji/win10/white_small_square.png old mode 100755 new mode 100644 index bb6513bc8..da89a16aa Binary files a/public/images/emoji/win10/white_small_square.png and b/public/images/emoji/win10/white_small_square.png differ diff --git a/public/images/emoji/win10/white_square_button.png b/public/images/emoji/win10/white_square_button.png old mode 100755 new mode 100644 index ccead1017..735c25c6c Binary files a/public/images/emoji/win10/white_square_button.png and b/public/images/emoji/win10/white_square_button.png differ diff --git a/public/images/emoji/win10/white_sun_behind_cloud.png b/public/images/emoji/win10/white_sun_behind_cloud.png new file mode 100644 index 000000000..fd650f5bb Binary files /dev/null and b/public/images/emoji/win10/white_sun_behind_cloud.png differ diff --git a/public/images/emoji/win10/white_sun_behind_cloud_with_rain.png b/public/images/emoji/win10/white_sun_behind_cloud_with_rain.png new file mode 100644 index 000000000..7013ea4de Binary files /dev/null and b/public/images/emoji/win10/white_sun_behind_cloud_with_rain.png differ diff --git a/public/images/emoji/win10/white_sun_cloud.png b/public/images/emoji/win10/white_sun_cloud.png old mode 100755 new mode 100644 index 29f1efbba..fd650f5bb Binary files a/public/images/emoji/win10/white_sun_cloud.png and b/public/images/emoji/win10/white_sun_cloud.png differ diff --git a/public/images/emoji/win10/white_sun_rain_cloud.png b/public/images/emoji/win10/white_sun_rain_cloud.png old mode 100755 new mode 100644 index 980332c90..7013ea4de Binary files a/public/images/emoji/win10/white_sun_rain_cloud.png and b/public/images/emoji/win10/white_sun_rain_cloud.png differ diff --git a/public/images/emoji/win10/white_sun_small_cloud.png b/public/images/emoji/win10/white_sun_small_cloud.png old mode 100755 new mode 100644 index 9f5692a33..535252137 Binary files a/public/images/emoji/win10/white_sun_small_cloud.png and b/public/images/emoji/win10/white_sun_small_cloud.png differ diff --git a/public/images/emoji/win10/white_sun_with_small_cloud.png b/public/images/emoji/win10/white_sun_with_small_cloud.png new file mode 100644 index 000000000..535252137 Binary files /dev/null and b/public/images/emoji/win10/white_sun_with_small_cloud.png differ diff --git a/public/images/emoji/win10/wind_blowing_face.png b/public/images/emoji/win10/wind_blowing_face.png old mode 100755 new mode 100644 index bfd734c84..e452463ad Binary files a/public/images/emoji/win10/wind_blowing_face.png and b/public/images/emoji/win10/wind_blowing_face.png differ diff --git a/public/images/emoji/win10/wind_chime.png b/public/images/emoji/win10/wind_chime.png old mode 100755 new mode 100644 index 29dd199a3..e6a7422b0 Binary files a/public/images/emoji/win10/wind_chime.png and b/public/images/emoji/win10/wind_chime.png differ diff --git a/public/images/emoji/win10/wine_glass.png b/public/images/emoji/win10/wine_glass.png old mode 100755 new mode 100644 index 43baf8af8..3a7b55a50 Binary files a/public/images/emoji/win10/wine_glass.png and b/public/images/emoji/win10/wine_glass.png differ diff --git a/public/images/emoji/win10/wink.png b/public/images/emoji/win10/wink.png old mode 100755 new mode 100644 index 5841cb5ed..1b6839f05 Binary files a/public/images/emoji/win10/wink.png and b/public/images/emoji/win10/wink.png differ diff --git a/public/images/emoji/win10/wolf.png b/public/images/emoji/win10/wolf.png old mode 100755 new mode 100644 index 8072ab48f..ef2ce3d1e Binary files a/public/images/emoji/win10/wolf.png and b/public/images/emoji/win10/wolf.png differ diff --git a/public/images/emoji/win10/woman.png b/public/images/emoji/win10/woman.png old mode 100755 new mode 100644 index dd4958ad6..d03509dc4 Binary files a/public/images/emoji/win10/woman.png and b/public/images/emoji/win10/woman.png differ diff --git a/public/images/emoji/win10/womans_clothes.png b/public/images/emoji/win10/womans_clothes.png old mode 100755 new mode 100644 index a0fe924b1..c87a4c3c9 Binary files a/public/images/emoji/win10/womans_clothes.png and b/public/images/emoji/win10/womans_clothes.png differ diff --git a/public/images/emoji/win10/womans_hat.png b/public/images/emoji/win10/womans_hat.png old mode 100755 new mode 100644 index 8dbd4c29d..8f686d3cd Binary files a/public/images/emoji/win10/womans_hat.png and b/public/images/emoji/win10/womans_hat.png differ diff --git a/public/images/emoji/win10/womens.png b/public/images/emoji/win10/womens.png old mode 100755 new mode 100644 index cd2270ef6..31f1eac32 Binary files a/public/images/emoji/win10/womens.png and b/public/images/emoji/win10/womens.png differ diff --git a/public/images/emoji/win10/world_map.png b/public/images/emoji/win10/world_map.png new file mode 100644 index 000000000..80986175b Binary files /dev/null and b/public/images/emoji/win10/world_map.png differ diff --git a/public/images/emoji/win10/worried.png b/public/images/emoji/win10/worried.png old mode 100755 new mode 100644 index 4494f18b1..a9e0518ce Binary files a/public/images/emoji/win10/worried.png and b/public/images/emoji/win10/worried.png differ diff --git a/public/images/emoji/win10/worship_symbol.png b/public/images/emoji/win10/worship_symbol.png new file mode 100644 index 000000000..23c37f302 Binary files /dev/null and b/public/images/emoji/win10/worship_symbol.png differ diff --git a/public/images/emoji/win10/wrench.png b/public/images/emoji/win10/wrench.png old mode 100755 new mode 100644 index 2fa4cf81a..b81632726 Binary files a/public/images/emoji/win10/wrench.png and b/public/images/emoji/win10/wrench.png differ diff --git a/public/images/emoji/win10/writing_hand.png b/public/images/emoji/win10/writing_hand.png old mode 100755 new mode 100644 index e9b7b7fdb..f933749b2 Binary files a/public/images/emoji/win10/writing_hand.png and b/public/images/emoji/win10/writing_hand.png differ diff --git a/public/images/emoji/win10/x.png b/public/images/emoji/win10/x.png old mode 100755 new mode 100644 index 15410b367..dc04f3d00 Binary files a/public/images/emoji/win10/x.png and b/public/images/emoji/win10/x.png differ diff --git a/public/images/emoji/win10/yellow_heart.png b/public/images/emoji/win10/yellow_heart.png old mode 100755 new mode 100644 index 9e8eb338f..f417ddacc Binary files a/public/images/emoji/win10/yellow_heart.png and b/public/images/emoji/win10/yellow_heart.png differ diff --git a/public/images/emoji/win10/yen.png b/public/images/emoji/win10/yen.png old mode 100755 new mode 100644 index 5de4a65cd..079e7995f Binary files a/public/images/emoji/win10/yen.png and b/public/images/emoji/win10/yen.png differ diff --git a/public/images/emoji/win10/yin_yang.png b/public/images/emoji/win10/yin_yang.png old mode 100755 new mode 100644 index aa83c2730..7d8e832b1 Binary files a/public/images/emoji/win10/yin_yang.png and b/public/images/emoji/win10/yin_yang.png differ diff --git a/public/images/emoji/win10/yum.png b/public/images/emoji/win10/yum.png old mode 100755 new mode 100644 index 06c63bb91..f1b6c45d6 Binary files a/public/images/emoji/win10/yum.png and b/public/images/emoji/win10/yum.png differ diff --git a/public/images/emoji/win10/zap.png b/public/images/emoji/win10/zap.png old mode 100755 new mode 100644 index a4a1b2403..6a643a59b Binary files a/public/images/emoji/win10/zap.png and b/public/images/emoji/win10/zap.png differ diff --git a/public/images/emoji/win10/zero.png b/public/images/emoji/win10/zero.png old mode 100755 new mode 100644 index e5b08a126..e69de29bb Binary files a/public/images/emoji/win10/zero.png and b/public/images/emoji/win10/zero.png differ diff --git a/public/images/emoji/win10/zipper_mouth.png b/public/images/emoji/win10/zipper_mouth.png old mode 100755 new mode 100644 index 39fb713f2..a861e7593 Binary files a/public/images/emoji/win10/zipper_mouth.png and b/public/images/emoji/win10/zipper_mouth.png differ diff --git a/public/images/emoji/win10/zipper_mouth_face.png b/public/images/emoji/win10/zipper_mouth_face.png new file mode 100644 index 000000000..a861e7593 Binary files /dev/null and b/public/images/emoji/win10/zipper_mouth_face.png differ diff --git a/public/images/emoji/win10/zzz.png b/public/images/emoji/win10/zzz.png old mode 100755 new mode 100644 index bee8a829e..b7faee5d2 Binary files a/public/images/emoji/win10/zzz.png and b/public/images/emoji/win10/zzz.png differ diff --git a/public/images/wizard/apple-mask.png b/public/images/wizard/apple-mask.png new file mode 100644 index 000000000..685181060 Binary files /dev/null and b/public/images/wizard/apple-mask.png differ diff --git a/public/images/wizard/bubbles.png b/public/images/wizard/bubbles.png new file mode 100644 index 000000000..1577e1dd9 Binary files /dev/null and b/public/images/wizard/bubbles.png differ diff --git a/public/images/wizard/discourse-small.png b/public/images/wizard/discourse-small.png new file mode 100644 index 000000000..9fc9748d9 Binary files /dev/null and b/public/images/wizard/discourse-small.png differ diff --git a/public/images/wizard/discourse.png b/public/images/wizard/discourse.png new file mode 100644 index 000000000..c8d7600f7 Binary files /dev/null and b/public/images/wizard/discourse.png differ diff --git a/public/images/wizard/finished.png b/public/images/wizard/finished.png new file mode 100644 index 000000000..4f9e7a388 Binary files /dev/null and b/public/images/wizard/finished.png differ diff --git a/public/images/wizard/tab.png b/public/images/wizard/tab.png new file mode 100644 index 000000000..f799fb154 Binary files /dev/null and b/public/images/wizard/tab.png differ diff --git a/public/images/wizard/trout.png b/public/images/wizard/trout.png new file mode 100644 index 000000000..46024b77b Binary files /dev/null and b/public/images/wizard/trout.png differ diff --git a/public/images/wizard/welcome.png b/public/images/wizard/welcome.png new file mode 100644 index 000000000..87e16c11c Binary files /dev/null and b/public/images/wizard/welcome.png differ diff --git a/script/bench.rb b/script/bench.rb index 61a3857b8..b4b7514a3 100644 --- a/script/bench.rb +++ b/script/bench.rb @@ -219,6 +219,9 @@ begin puts "Your Results: (note for timings- percentile is first, duration is second in millisecs)" + # Prevent using external facts because it breaks when running in the + # discourse/discourse_bench docker container. + Facter::Util::Config.external_facts_dirs = [] facts = Facter.to_hash facts.delete_if{|k,v| @@ -270,8 +273,6 @@ begin end end - - # TODO include Facter.to_hash ... for all facts ensure Process.kill "KILL", pid end diff --git a/script/import_scripts/base.rb b/script/import_scripts/base.rb index 0ce9e9870..0704ae7cf 100644 --- a/script/import_scripts/base.rb +++ b/script/import_scripts/base.rb @@ -583,15 +583,21 @@ class ImportScripts::Base def update_user_stats puts "", "Updating topic reply counts..." + + start_time = Time.now + progress_count = 0 + total_count = User.real.count + User.find_each do |u| u.create_user_stat if u.user_stat.nil? us = u.user_stat us.update_topic_reply_count us.save - print "." + progress_count += 1 + print_status(progress_count, total_count, start_time) end - puts "Updating first_post_created_at..." + puts "." "Updating first_post_created_at..." sql = <<-SQL WITH sub AS ( diff --git a/script/import_scripts/vbulletin.rb b/script/import_scripts/vbulletin.rb index 5a7303d12..90b943b71 100644 --- a/script/import_scripts/vbulletin.rb +++ b/script/import_scripts/vbulletin.rb @@ -397,6 +397,7 @@ class ImportScripts::VBulletin < ImportScripts::Base parent_id = title_username_of_pm_first_post[[title[6..-1], participants]] unless parent_id parent_id = title_username_of_pm_first_post[[title[7..-1], participants]] unless parent_id parent_id = title_username_of_pm_first_post[[title[8..-1], participants]] unless parent_id + if parent_id if t = topic_lookup_from_imported_post_id("pm-#{parent_id}") topic_id = t[:topic_id] end diff --git a/spec/components/auth/facebook_authenticator_spec.rb b/spec/components/auth/facebook_authenticator_spec.rb index 5091ac566..c5a91249b 100644 --- a/spec/components/auth/facebook_authenticator_spec.rb +++ b/spec/components/auth/facebook_authenticator_spec.rb @@ -20,7 +20,12 @@ describe Auth::FacebookAuthenticator do } }, "info" => { - :email => user.email + :email => user.email, + "location" => "America", + "description" => "bio", + "urls" => { + "Website" => "https://awesome.com" + } }, "uid" => "100" } @@ -28,6 +33,9 @@ describe Auth::FacebookAuthenticator do result = authenticator.after_authenticate(hash) expect(result.user.id).to eq(user.id) + expect(result.user.user_profile.website).to eq("https://awesome.com") + expect(result.user.user_profile.bio_raw).to eq("bio") + expect(result.user.user_profile.location).to eq("America") end it 'can create a proper result for non existing users' do diff --git a/spec/components/gaps_spec.rb b/spec/components/gaps_spec.rb index 2e76b16d1..3d0943f09 100644 --- a/spec/components/gaps_spec.rb +++ b/spec/components/gaps_spec.rb @@ -3,7 +3,6 @@ require 'cache' describe Gaps do - it 'returns no gaps for empty data' do expect(Gaps.new(nil, nil)).to be_blank end diff --git a/spec/components/post_creator_spec.rb b/spec/components/post_creator_spec.rb index 37427b60b..54efd31cc 100644 --- a/spec/components/post_creator_spec.rb +++ b/spec/components/post_creator_spec.rb @@ -64,6 +64,7 @@ describe PostCreator do end context "success" do + before { creator } it "doesn't return true for spam" do creator.create @@ -71,6 +72,7 @@ describe PostCreator do end it "triggers extensibility events" do + creator # bypass a user_created event, can be removed when there is a UserCreator DiscourseEvent.expects(:trigger).with(:before_create_post, anything).once DiscourseEvent.expects(:trigger).with(:validate_post, anything).once DiscourseEvent.expects(:trigger).with(:topic_created, anything, anything, user).once diff --git a/spec/components/step_updater_spec.rb b/spec/components/step_updater_spec.rb new file mode 100644 index 000000000..eed8e7f7f --- /dev/null +++ b/spec/components/step_updater_spec.rb @@ -0,0 +1,257 @@ +require 'rails_helper' +require_dependency 'wizard' +require_dependency 'wizard/builder' +require_dependency 'wizard/step_updater' + +describe Wizard::StepUpdater do + before do + SiteSetting.wizard_enabled = true + end + + let(:user) { Fabricate(:admin) } + let(:wizard) { Wizard::Builder.new(user).build } + + context "locale" do + it "does not require refresh when the language stays the same" do + updater = wizard.create_updater('locale', default_locale: 'en') + updater.update + expect(updater.refresh_required?).to eq(false) + expect(wizard.completed_steps?('locale')).to eq(true) + end + + it "updates the locale and requires refresh when it does change" do + updater = wizard.create_updater('locale', default_locale: 'ru') + updater.update + expect(SiteSetting.default_locale).to eq('ru') + expect(updater.refresh_required?).to eq(true) + expect(wizard.completed_steps?('locale')).to eq(true) + end + end + + it "updates the forum title step" do + updater = wizard.create_updater('forum_title', title: 'new forum title', site_description: 'neat place') + updater.update + + expect(updater.success?).to eq(true) + expect(SiteSetting.title).to eq("new forum title") + expect(SiteSetting.site_description).to eq("neat place") + expect(wizard.completed_steps?('forum-title')).to eq(true) + end + + it "updates the introduction step" do + topic = Fabricate(:topic, title: "Welcome to Discourse") + welcome_post = Fabricate(:post, topic: topic, raw: "this will be the welcome topic post\n\ncool!") + + updater = wizard.create_updater('introduction', welcome: "Welcome to my new awesome forum!") + updater.update + + expect(updater.success?).to eq(true) + welcome_post.reload + expect(welcome_post.raw).to eq("Welcome to my new awesome forum!\n\ncool!") + + expect(wizard.completed_steps?('introduction')).to eq(true) + + end + + it "won't allow updates to the default value, when required" do + updater = wizard.create_updater('forum_title', title: SiteSetting.title, site_description: 'neat place') + updater.update + + expect(updater.success?).to eq(false) + end + + context "privacy settings" do + it "updates to open correctly" do + updater = wizard.create_updater('privacy', privacy: 'open') + updater.update + expect(updater.success?).to eq(true) + expect(SiteSetting.login_required?).to eq(false) + expect(SiteSetting.invite_only?).to eq(false) + expect(wizard.completed_steps?('privacy')).to eq(true) + end + + it "updates to private correctly" do + updater = wizard.create_updater('privacy', privacy: 'restricted') + updater.update + expect(updater.success?).to eq(true) + expect(SiteSetting.login_required?).to eq(true) + expect(SiteSetting.invite_only?).to eq(true) + expect(wizard.completed_steps?('privacy')).to eq(true) + end + end + + context "contact step" do + it "updates the fields correctly" do + updater = wizard.create_updater('contact', + contact_email: 'eviltrout@example.com', + contact_url: 'http://example.com/custom-contact-url', + site_contact: user.username) + + updater.update + expect(updater).to be_success + expect(SiteSetting.contact_email).to eq("eviltrout@example.com") + expect(SiteSetting.contact_url).to eq("http://example.com/custom-contact-url") + expect(SiteSetting.site_contact_username).to eq(user.username) + expect(wizard.completed_steps?('contact')).to eq(true) + end + + it "doesn't update when there are errors" do + updater = wizard.create_updater('contact', + contact_email: 'not-an-email', + site_contact_username: 'not-a-username') + updater.update + expect(updater).to_not be_success + expect(updater.errors).to be_present + expect(wizard.completed_steps?('contact')).to eq(false) + end + end + + context "corporate step" do + + it "updates the fields properly" do + + p = Fabricate(:post, raw: 'company_domain - company_full_name - company_short_name template') + SiteSetting.tos_topic_id = p.topic_id + + updater = wizard.create_updater('corporate', + company_short_name: 'ACME', + company_full_name: 'ACME, Inc.', + company_domain: 'acme.com') + updater.update + expect(updater).to be_success + expect(SiteSetting.company_short_name).to eq("ACME") + expect(SiteSetting.company_full_name).to eq("ACME, Inc.") + expect(SiteSetting.company_domain).to eq("acme.com") + + # Should update the TOS topic + raw = Post.where(topic_id: SiteSetting.tos_topic_id, post_number: 1).pluck(:raw).first + expect(raw).to eq("acme.com - ACME, Inc. - ACME template") + + # Can update the TOS topic again + updater = wizard.create_updater('corporate', + company_short_name: 'PPI', + company_full_name: 'Pied Piper Inc', + company_domain: 'piedpiper.com') + updater.update + raw = Post.where(topic_id: SiteSetting.tos_topic_id, post_number: 1).pluck(:raw).first + expect(raw).to eq("piedpiper.com - Pied Piper Inc - PPI template") + + # Can update the TOS to nothing + updater = wizard.create_updater('corporate', {}) + updater.update + raw = Post.where(topic_id: SiteSetting.tos_topic_id, post_number: 1).pluck(:raw).first + expect(raw).to eq("company_domain - company_full_name - company_short_name template") + + expect(wizard.completed_steps?('corporate')).to eq(true) + end + end + + context "colors step" do + context "with an existing color scheme" do + let!(:color_scheme) { Fabricate(:color_scheme, name: 'existing', via_wizard: true) } + + it "updates the scheme" do + updater = wizard.create_updater('colors', theme_id: 'dark') + updater.update + expect(updater.success?).to eq(true) + expect(wizard.completed_steps?('colors')).to eq(true) + + color_scheme.reload + expect(color_scheme).to be_enabled + end + end + + context "without an existing scheme" do + it "creates the scheme" do + updater = wizard.create_updater('colors', theme_id: 'dark') + updater.update + expect(updater.success?).to eq(true) + expect(wizard.completed_steps?('colors')).to eq(true) + + color_scheme = ColorScheme.where(via_wizard: true).first + expect(color_scheme).to be_present + expect(color_scheme).to be_enabled + expect(color_scheme.colors).to be_present + end + end + end + + context "logos step" do + it "updates the fields correctly" do + updater = wizard.create_updater('logos', + logo_url: '/uploads/logo.png', + logo_small_url: '/uploads/logo-small.png') + updater.update + + expect(updater).to be_success + expect(wizard.completed_steps?('logos')).to eq(true) + expect(SiteSetting.logo_url).to eq('/uploads/logo.png') + expect(SiteSetting.logo_small_url).to eq('/uploads/logo-small.png') + end + end + + context "icons step" do + it "updates the fields correctly" do + updater = wizard.create_updater('icons', + favicon_url: "/uploads/favicon.png", + apple_touch_icon_url: "/uploads/apple.png") + updater.update + + expect(updater).to be_success + expect(wizard.completed_steps?('icons')).to eq(true) + expect(SiteSetting.favicon_url).to eq('/uploads/favicon.png') + expect(SiteSetting.apple_touch_icon_url).to eq('/uploads/apple.png') + end + end + + context "emoji step" do + it "updates the fields correctly" do + updater = wizard.create_updater('emoji', emoji_set: "twitter") + updater.update + + expect(updater).to be_success + expect(wizard.completed_steps?('emoji')).to eq(true) + expect(SiteSetting.emoji_set).to eq('twitter') + end + end + + context "homepage step" do + it "updates the fields correctly" do + updater = wizard.create_updater('homepage', homepage_style: "categories") + updater.update + + expect(updater).to be_success + expect(wizard.completed_steps?('homepage')).to eq(true) + expect(SiteSetting.top_menu).to eq('categories|latest|new|unread|top') + + updater = wizard.create_updater('homepage', homepage_style: "latest") + updater.update + expect(updater).to be_success + expect(SiteSetting.top_menu).to eq('latest|new|unread|top|categories') + end + end + + context "invites step" do + let(:invites) { + return [{ email: 'regular@example.com', role: 'regular'}, + { email: 'moderator@example.com', role: 'moderator'}] + } + + it "updates the fields correctly" do + updater = wizard.create_updater('invites', invite_list: invites.to_json) + updater.update + + expect(updater).to be_success + expect(wizard.completed_steps?('invites')).to eq(true) + + reg_invite = Invite.where(email: 'regular@example.com').first + expect(reg_invite).to be_present + expect(reg_invite.moderator?).to eq(false) + + mod_invite = Invite.where(email: 'moderator@example.com').first + expect(mod_invite).to be_present + expect(mod_invite.moderator?).to eq(true) + end + end + +end diff --git a/spec/components/wizard_builder_spec.rb b/spec/components/wizard_builder_spec.rb new file mode 100644 index 000000000..53052fbf6 --- /dev/null +++ b/spec/components/wizard_builder_spec.rb @@ -0,0 +1,30 @@ +require 'rails_helper' +require 'wizard' +require 'wizard/builder' + +describe Wizard::Builder do + let(:moderator) { Fabricate.build(:moderator) } + + it "returns a wizard with steps when enabled" do + SiteSetting.wizard_enabled = true + + wizard = Wizard::Builder.new(moderator).build + expect(wizard).to be_present + expect(wizard.steps).to be_present + end + + it "returns a wizard without steps when enabled, but not staff" do + wizard = Wizard::Builder.new(Fabricate.build(:user)).build + expect(wizard).to be_present + expect(wizard.steps).to be_blank + end + + it "returns a wizard without steps when disabled" do + SiteSetting.wizard_enabled = false + + wizard = Wizard::Builder.new(moderator).build + expect(wizard).to be_present + expect(wizard.steps).to be_blank + end + +end diff --git a/spec/components/wizard_spec.rb b/spec/components/wizard_spec.rb new file mode 100644 index 000000000..6771df76c --- /dev/null +++ b/spec/components/wizard_spec.rb @@ -0,0 +1,152 @@ +require 'rails_helper' +require 'wizard' + +describe Wizard do + before do + SiteSetting.wizard_enabled = true + end + + context "defaults" do + it "has default values" do + wizard = Wizard.new(Fabricate.build(:moderator)) + expect(wizard.steps).to be_empty + expect(wizard.user).to be_present + end + end + + describe "append_step" do + let(:user) { Fabricate.build(:moderator) } + let(:wizard) { Wizard.new(user) } + let(:step1) { wizard.create_step('first-step') } + let(:step2) { wizard.create_step('second-step') } + + it "works with a block format" do + wizard.append_step('wat') do |step| + expect(step).to be_present + end + + expect(wizard.steps.size).to eq(1) + end + + it "adds the step correctly" do + expect(step1.index).to be_blank + + wizard.append_step(step1) + expect(wizard.steps.size).to eq(1) + expect(wizard.start).to eq(step1) + expect(step1.next).to be_blank + expect(step1.previous).to be_blank + expect(step1.index).to eq(0) + + expect(step1.fields).to be_empty + field = step1.add_field(id: 'test', type: 'text') + expect(step1.fields).to eq([field]) + end + + it "sequences multiple steps" do + wizard.append_step(step1) + wizard.append_step(step2) + + expect(wizard.steps.size).to eq(2) + expect(wizard.start).to eq(step1) + expect(step1.next).to eq(step2) + expect(step1.previous).to be_blank + expect(step2.previous).to eq(step1) + expect(step1.index).to eq(0) + expect(step2.index).to eq(1) + end + end + + describe "completed?" do + let(:user) { Fabricate.build(:moderator) } + let(:wizard) { Wizard.new(user) } + + it "is complete when all steps with fields have logs" do + wizard.append_step('first') do |step| + step.add_field(id: 'element', type: 'text') + end + + wizard.append_step('second') do |step| + step.add_field(id: 'another_element', type: 'text') + end + + wizard.append_step('finished') + + expect(wizard.start.id).to eq('first') + expect(wizard.completed_steps?('first')).to eq(false) + expect(wizard.completed_steps?('second')).to eq(false) + expect(wizard.completed?).to eq(false) + + updater = wizard.create_updater('first', element: 'test') + updater.update + expect(wizard.start.id).to eq('second') + expect(wizard.completed_steps?('first')).to eq(true) + expect(wizard.completed?).to eq(false) + + updater = wizard.create_updater('second', element: 'test') + updater.update + + expect(wizard.completed_steps?('first')).to eq(true) + expect(wizard.completed_steps?('second')).to eq(true) + expect(wizard.completed_steps?('finished')).to eq(false) + expect(wizard.completed?).to eq(true) + + # Once you've completed the wizard start at the beginning + expect(wizard.start.id).to eq('first') + end + end + + describe "#requires_completion?" do + + def build_simple(user) + wizard = Wizard.new(user) + wizard.append_step('simple') do |step| + step.add_field(id: 'name', type: 'text') + end + wizard + end + + it "is false for anonymous" do + expect(build_simple(nil).requires_completion?).to eq(false) + end + + it "is false for regular users" do + expect(build_simple(Fabricate.build(:user)).requires_completion?).to eq(false) + end + + it "is false for a developer" do + developer = Fabricate(:admin) + Developer.create!(user_id: developer.id) + + expect(build_simple(developer).requires_completion?).to eq(false) + end + + it "it's false when the wizard is disabled" do + SiteSetting.wizard_enabled = false + admin = Fabricate(:admin) + expect(build_simple(admin).requires_completion?).to eq(false) + end + + it "it's true for the first admin who logs in" do + admin = Fabricate(:admin) + second_admin = Fabricate(:admin, auth_token_updated_at: Time.now) + + expect(build_simple(admin).requires_completion?).to eq(false) + expect(build_simple(second_admin).requires_completion?).to eq(true) + end + + it "is false for staff when complete" do + wizard = build_simple(Fabricate(:admin)) + updater = wizard.create_updater('simple', name: 'Evil Trout') + updater.update + + expect(wizard.requires_completion?).to eq(false) + + # It's also false for another user + wizard = build_simple(Fabricate(:admin)) + expect(wizard.requires_completion?).to eq(false) + end + + end + +end diff --git a/spec/components/wizard_step_spec.rb b/spec/components/wizard_step_spec.rb new file mode 100644 index 000000000..45005b89f --- /dev/null +++ b/spec/components/wizard_step_spec.rb @@ -0,0 +1,24 @@ +require 'rails_helper' +require 'wizard' + +describe Wizard::Step do + + let(:wizard) { Wizard.new(Fabricate.build(:user)) } + let(:step) { wizard.create_step('test-step') } + + it "supports fields and options" do + expect(step.fields).to be_empty + text = step.add_field(id: 'test', type: 'text') + expect(step.fields).to eq([text]) + + dropdown = step.add_field(id: 'snacks', type: 'dropdown') + dropdown.add_choice('candy') + dropdown.add_choice('nachos', data: {color: 'yellow'}) + dropdown.add_choice('pizza', label: 'Pizza!') + + expect(step.fields).to eq([text, dropdown]) + expect(dropdown.choices.size).to eq(3) + end + +end + diff --git a/spec/controllers/admin/backups_controller_spec.rb b/spec/controllers/admin/backups_controller_spec.rb index 8ecfe105a..080f4eb6c 100644 --- a/spec/controllers/admin/backups_controller_spec.rb +++ b/spec/controllers/admin/backups_controller_spec.rb @@ -198,7 +198,8 @@ describe Admin::BackupsController do describe "when filename contains invalid characters" do it "should raise an error" do ['灰色.tar.gz', '; echo \'haha\'.tar.gz'].each do |invalid_filename| - xhr :post, :upload_backup_chunk, resumableFilename: invalid_filename, resumableTotalSize: '1' + described_class.any_instance.expects(:has_enough_space_on_disk?).returns(true) + xhr :post, :upload_backup_chunk, resumableFilename: invalid_filename, resumableTotalSize: 1 expect(response.status).to eq(415) expect(response.body).to eq(I18n.t('backup.invalid_filename')) @@ -208,6 +209,8 @@ describe Admin::BackupsController do describe "when filename is valid" do it "should upload the file successfully" do + described_class.any_instance.expects(:has_enough_space_on_disk?).returns(true) + xhr :post, :upload_backup_chunk, resumableFilename: 'test_Site-0123456789.tar.gz', resumableTotalSize: 1, diff --git a/spec/controllers/extra_locales_controller_spec.rb b/spec/controllers/extra_locales_controller_spec.rb new file mode 100644 index 000000000..c7453aca5 --- /dev/null +++ b/spec/controllers/extra_locales_controller_spec.rb @@ -0,0 +1,23 @@ +require 'rails_helper' + +describe ExtraLocalesController do + + context 'show' do + before do + I18n.locale = :en + I18n.reload! + end + + it "needs a valid bundle" do + get :show, bundle: 'made-up-bundle' + expect(response).to_not be_success + expect(response.body).to be_blank + end + + it "won't work with a weird parameter" do + get :show, bundle: '-invalid..character!!' + expect(response).to_not be_success + end + end + +end diff --git a/spec/controllers/notifications_controller_spec.rb b/spec/controllers/notifications_controller_spec.rb index da58fc6e6..dbf806663 100644 --- a/spec/controllers/notifications_controller_spec.rb +++ b/spec/controllers/notifications_controller_spec.rb @@ -38,6 +38,19 @@ describe NotificationsController do expect(user.reload.total_unread_notifications).to eq(1) end + it "can update a single notification" do + notification = Fabricate(:notification, user: user) + notification2 = Fabricate(:notification, user: user) + xhr :put, :mark_read, id: notification.id + expect(response).to be_success + + notification.reload + notification2.reload + + expect(notification.read).to eq(true) + expect(notification2.read).to eq(false) + end + it "updates the `read` status" do notification = Fabricate(:notification, user: user) expect(user.reload.unread_notifications).to eq(1) diff --git a/spec/controllers/steps_controller_spec.rb b/spec/controllers/steps_controller_spec.rb new file mode 100644 index 000000000..50bafc95f --- /dev/null +++ b/spec/controllers/steps_controller_spec.rb @@ -0,0 +1,45 @@ +require 'rails_helper' + +describe StepsController do + + before do + SiteSetting.wizard_enabled = true + end + + it 'needs you to be logged in' do + expect { + xhr :put, :update, id: 'made-up-id', fields: { forum_title: "updated title" } + }.to raise_error(Discourse::NotLoggedIn) + end + + it "raises an error if you aren't an admin" do + log_in(:moderator) + xhr :put, :update, id: 'made-up-id', fields: { forum_title: "updated title" } + expect(response).to be_forbidden + end + + context "as an admin" do + before do + log_in(:admin) + end + + it "raises an error if the wizard is disabled" do + SiteSetting.wizard_enabled = false + xhr :put, :update, id: 'contact', fields: { contact_email: "eviltrout@example.com" } + expect(response).to be_forbidden + end + + it "updates properly if you are staff" do + xhr :put, :update, id: 'contact', fields: { contact_email: "eviltrout@example.com" } + expect(response).to be_success + expect(SiteSetting.contact_email).to eq("eviltrout@example.com") + end + + it "returns errors if the field has them" do + xhr :put, :update, id: 'contact', fields: { contact_email: "not-an-email" } + expect(response).to_not be_success + end + end + +end + diff --git a/spec/controllers/topics_controller_spec.rb b/spec/controllers/topics_controller_spec.rb index ecfd60634..eddb73bd0 100644 --- a/spec/controllers/topics_controller_spec.rb +++ b/spec/controllers/topics_controller_spec.rb @@ -569,6 +569,15 @@ describe TopicsController do expect(response).to redirect_to(topic.relative_url) end + it 'can find a topic when a slug has a number in front' do + another_topic = Fabricate(:post).topic + + topic.update_column(:slug, "#{another_topic.id}-reasons-discourse-is-awesome") + xhr :get, :show, id: "#{another_topic.id}-reasons-discourse-is-awesome" + + expect(response).to redirect_to(topic.relative_url) + end + it 'keeps the post_number parameter around when redirecting' do xhr :get, :show, id: topic.slug, post_number: 42 expect(response).to redirect_to(topic.relative_url + "/42") diff --git a/spec/controllers/user_badges_controller_spec.rb b/spec/controllers/user_badges_controller_spec.rb index 8047d8571..7e2cda7f0 100644 --- a/spec/controllers/user_badges_controller_spec.rb +++ b/spec/controllers/user_badges_controller_spec.rb @@ -102,7 +102,7 @@ describe UserBadgesController do it 'will trigger :user_badge_granted' do log_in :admin - + user DiscourseEvent.expects(:trigger).with(:user_badge_granted, anything, anything).once xhr :post, :create, badge_id: badge.id, username: user.username end @@ -126,6 +126,7 @@ describe UserBadgesController do it 'will trigger :user_badge_removed' do log_in :admin + DiscourseEvent.expects(:trigger).with(:user_badge_removed, anything, anything).once xhr :delete, :destroy, id: user_badge.id end diff --git a/spec/controllers/wizard_controller_spec.rb b/spec/controllers/wizard_controller_spec.rb new file mode 100644 index 000000000..6621e3481 --- /dev/null +++ b/spec/controllers/wizard_controller_spec.rb @@ -0,0 +1,43 @@ +require 'rails_helper' + +describe WizardController do + + context 'wizard enabled' do + render_views + + before do + SiteSetting.wizard_enabled = true + end + + it 'needs you to be logged in' do + expect { xhr :get, :index }.to raise_error(Discourse::NotLoggedIn) + end + + it "raises an error if you aren't an admin" do + log_in(:moderator) + xhr :get, :index + expect(response).to be_forbidden + end + + it "raises an error if the wizard is disabled" do + SiteSetting.wizard_enabled = false + log_in(:admin) + xhr :get, :index + expect(response).to be_forbidden + end + + it "renders the wizard if you are an admin" do + log_in(:admin) + xhr :get, :index + expect(response).to be_success + end + + it "returns JSON when the mime type is appropriate" do + log_in(:admin) + xhr :get, :index, format: 'json' + expect(response).to be_success + expect(::JSON.parse(response.body).has_key?('wizard')).to eq(true) + end + end + +end diff --git a/spec/integrity/i18n_spec.rb b/spec/integrity/i18n_spec.rb index 5a09c0ee2..1d99795ed 100644 --- a/spec/integrity/i18n_spec.rb +++ b/spec/integrity/i18n_spec.rb @@ -29,7 +29,6 @@ describe "i18n integrity checks" do client = YAML.load_file("#{Rails.root}/config/locales/client.#{locale}.yml") expect(client.count).to eq(1) expect(client[locale]).not_to eq(nil) - expect(client[locale].count).to eq(2) expect(client[locale]["js"]).not_to eq(nil) expect(client[locale]["admin_js"]).not_to eq(nil) end @@ -45,7 +44,8 @@ describe "i18n integrity checks" do end it "does not overwrite another language" do - Dir["#{Rails.root}/config/locales/*.yml"].each do |f| + all = Dir["#{Rails.root}/config/locales/client.*.yml"] + Dir["#{Rails.root}/config/locales/server.*.yml"] + all.each do |f| locale = /.*\.([^.]{2,})\.yml$/.match(f)[1] + ':' IO.foreach(f) do |line| line.strip! diff --git a/spec/jobs/clean_up_uploads_spec.rb b/spec/jobs/clean_up_uploads_spec.rb index 9b7f22d99..4341ec728 100644 --- a/spec/jobs/clean_up_uploads_spec.rb +++ b/spec/jobs/clean_up_uploads_spec.rb @@ -23,6 +23,16 @@ describe Jobs::CleanUpUploads do expect(Upload.count).to be(0) end + it "does not clean up uploads in site settings" do + logo_upload = fabricate_upload + SiteSetting.logo_url = logo_upload.url + + Jobs::CleanUpUploads.new.execute(nil) + + expect(Upload.find_by(id: @upload.id)).to eq(nil) + expect(Upload.find_by(id: logo_upload.id)).to eq(logo_upload) + end + it "does not delete profile background uploads" do profile_background_upload = fabricate_upload UserProfile.last.update_attributes!(profile_background: profile_background_upload.url) @@ -45,7 +55,7 @@ describe Jobs::CleanUpUploads do it "does not delete category logo uploads" do category_logo_upload = fabricate_upload - category = Fabricate(:category, logo_url: category_logo_upload.url) + Fabricate(:category, logo_url: category_logo_upload.url) Jobs::CleanUpUploads.new.execute(nil) @@ -55,7 +65,7 @@ describe Jobs::CleanUpUploads do it "does not delete category background url uploads" do category_background_url = fabricate_upload - category = Fabricate(:category, background_url: category_background_url.url) + Fabricate(:category, background_url: category_background_url.url) Jobs::CleanUpUploads.new.execute(nil) @@ -65,7 +75,7 @@ describe Jobs::CleanUpUploads do it "does not delete post uploads" do upload = fabricate_upload - post = Fabricate(:post, uploads: [upload]) + Fabricate(:post, uploads: [upload]) Jobs::CleanUpUploads.new.execute(nil) @@ -75,7 +85,7 @@ describe Jobs::CleanUpUploads do it "does not delete user uploaded avatar" do upload = fabricate_upload - user = Fabricate(:user, uploaded_avatar: upload) + Fabricate(:user, uploaded_avatar: upload) Jobs::CleanUpUploads.new.execute(nil) @@ -85,7 +95,7 @@ describe Jobs::CleanUpUploads do it "does not delete user gravatar" do upload = fabricate_upload - user = Fabricate(:user, user_avatar: Fabricate(:user_avatar, gravatar_upload: upload)) + Fabricate(:user, user_avatar: Fabricate(:user_avatar, gravatar_upload: upload)) Jobs::CleanUpUploads.new.execute(nil) diff --git a/spec/models/category_spec.rb b/spec/models/category_spec.rb index ac5689578..d603077eb 100644 --- a/spec/models/category_spec.rb +++ b/spec/models/category_spec.rb @@ -14,20 +14,19 @@ describe Category do context "url validation" do let(:user) { Fabricate(:user) } + let(:upload) { Fabricate(:upload) } it "ensures logo_url is valid" do expect(Fabricate.build(:category, user: user, logo_url: "---%")).not_to be_valid expect(Fabricate.build(:category, user: user, logo_url: "http://example.com/made-up.jpg")).not_to be_valid expect(Fabricate.build(:category, user: user, logo_url: upload.url)).to be_valid - expect(Fabricate.build(:category, user: user, logo_url: UrlHelper.schemaless(UrlHelper.absolute(upload.url)))).to be_valid end it "ensures background_url is valid" do expect(Fabricate.build(:category, user: user, background_url: ";test")).not_to be_valid expect(Fabricate.build(:category, user: user, background_url: "http://example.com/no.jpg")).not_to be_valid expect(Fabricate.build(:category, user: user, background_url: upload.url)).to be_valid - expect(Fabricate.build(:category, user: user, background_url: UrlHelper.schemaless(UrlHelper.absolute(upload.url)))).to be_valid end end diff --git a/spec/models/discourse_single_sign_on_spec.rb b/spec/models/discourse_single_sign_on_spec.rb index 47aeca7ef..6c01e380e 100644 --- a/spec/models/discourse_single_sign_on_spec.rb +++ b/spec/models/discourse_single_sign_on_spec.rb @@ -294,6 +294,16 @@ describe DiscourseSingleSignOn do # initial creation ... expect(avatar_id).to_not eq(nil) + # junk avatar id should be updated + old_id = user.uploaded_avatar_id + Upload.destroy(old_id) + + user = sso.lookup_or_create_user(ip_address) + avatar_id = user.uploaded_avatar_id + + expect(avatar_id).to_not eq(nil) + expect(old_id).to_not eq(avatar_id) + FileHelper.stubs(:download) { raise "should not be called" } sso.avatar_url = "https://some.new/avatar.png" user = sso.lookup_or_create_user(ip_address) diff --git a/spec/models/invite_spec.rb b/spec/models/invite_spec.rb index 61a6e6846..17702be6b 100644 --- a/spec/models/invite_spec.rb +++ b/spec/models/invite_spec.rb @@ -222,7 +222,7 @@ describe Invite do end it 'does not enqueue an email if the user has already set password' do - user = Fabricate(:user, email: invite.email, password_hash: "7af7805c9ee3697ed1a83d5e3cb5a3a431d140933a87fdcdc5a42aeef9337f81") + Fabricate(:user, email: invite.email, password_hash: "7af7805c9ee3697ed1a83d5e3cb5a3a431d140933a87fdcdc5a42aeef9337f81") Jobs.expects(:enqueue).with(:invite_password_instructions_email, has_key(:username)).never invite.redeem end @@ -234,6 +234,25 @@ describe Invite do end + context "as a moderator" do + it "will give the user a moderator flag" do + invite.invited_by = Fabricate(:admin) + invite.moderator = true + invite.save + + user = invite.redeem + expect(user).to be_moderator + end + + it "will not give the user a moderator flag if the inviter is not staff" do + invite.moderator = true + invite.save + + user = invite.redeem + expect(user).not_to be_moderator + end + end + context "when inviting to groups" do it "add the user to the correct groups" do group = Fabricate(:group) @@ -465,13 +484,13 @@ describe Invite do let(:user) { Fabricate(:user, email: invite.email) } it 'redeems the invite from email' do - result = Invite.redeem_from_email(user.email) + Invite.redeem_from_email(user.email) invite.reload expect(invite).to be_redeemed end it 'does not redeem the invite if email does not match' do - result = Invite.redeem_from_email('test24@example.com') + Invite.redeem_from_email('test24@example.com') invite.reload expect(invite).not_to be_redeemed end @@ -484,13 +503,13 @@ describe Invite do let(:user) { Fabricate(:user, email: invite.email) } it 'redeems the invite from token' do - result = Invite.redeem_from_token(invite.invite_key, user.email) + Invite.redeem_from_token(invite.invite_key, user.email) invite.reload expect(invite).to be_redeemed end it 'does not redeem the invite if token does not match' do - result = Invite.redeem_from_token("bae0071f995bb4b6f756e80b383778b5", user.email) + Invite.redeem_from_token("bae0071f995bb4b6f756e80b383778b5", user.email) invite.reload expect(invite).not_to be_redeemed end diff --git a/spec/models/user_avatar_spec.rb b/spec/models/user_avatar_spec.rb index 944a0785c..066cb97ab 100644 --- a/spec/models/user_avatar_spec.rb +++ b/spec/models/user_avatar_spec.rb @@ -17,4 +17,34 @@ describe UserAvatar do temp.unlink expect(avatar.gravatar_upload).not_to eq(nil) end + + context '#import_url_for_user' do + + it 'creates user_avatar record if missing' do + user = Fabricate(:user) + user.user_avatar.destroy + user.reload + + + FileHelper.stubs(:download).returns(file_from_fixtures("logo.png")) + + UserAvatar.import_url_for_user("logo.png", user) + user.reload + + expect(user.uploaded_avatar_id).not_to eq(nil) + expect(user.user_avatar.custom_upload_id).to eq(user.uploaded_avatar_id) + end + + it 'can leave gravatar alone' do + user = Fabricate(:user, uploaded_avatar_id: 1) + user.user_avatar.update_columns(gravatar_upload_id: 1) + + FileHelper.stubs(:download).returns(file_from_fixtures("logo.png")) + UserAvatar.import_url_for_user("logo.png", user, override_gravatar: false) + + user.reload + expect(user.uploaded_avatar_id).to eq(1) + expect(user.user_avatar.custom_upload_id).not_to eq(nil) + end + end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 2eae85e49..2552c11f4 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -58,6 +58,12 @@ describe User do user.approve(admin) end + it 'triggers a extensibility event' do + user && admin # bypass the user_created event + DiscourseEvent.expects(:trigger).with(:user_approved, user).once + user.approve(admin) + end + context 'after approval' do before do user.approve(admin) @@ -153,8 +159,13 @@ describe User do expect(subject.approved_by_id).to be_blank end + it 'triggers an extensibility event' do + DiscourseEvent.expects(:trigger).with(:user_created, subject).once + subject.save! + end + context 'after_save' do - before { subject.save } + before { subject.save! } it "has correct settings" do expect(subject.email_tokens).to be_present diff --git a/spec/models/web_hook_spec.rb b/spec/models/web_hook_spec.rb index 4d5586c90..88eaee6cb 100644 --- a/spec/models/web_hook_spec.rb +++ b/spec/models/web_hook_spec.rb @@ -103,9 +103,10 @@ describe WebHook do let!(:post_hook) { Fabricate(:web_hook) } let!(:topic_hook) { Fabricate(:topic_web_hook) } let(:user) { Fabricate(:user) } + let(:admin) { Fabricate(:admin) } let(:topic) { Fabricate(:topic, user: user) } - let(:post) { Fabricate(:post, topic: topic) } - let(:post2) { Fabricate(:post, topic: topic) } + let(:post) { Fabricate(:post, topic: topic, user: user) } + let(:post2) { Fabricate(:post, topic: topic, user: user) } it 'should enqueue the right hooks for topic events' do WebHook.expects(:enqueue_topic_hooks).once @@ -119,6 +120,7 @@ describe WebHook do end it 'should enqueue the right hooks for post events' do + user # bypass a user_created event WebHook.expects(:enqueue_hooks).once PostCreator.create(user, { raw: 'post', topic_id: topic.id, reply_to_post_number: 1, skip_validations: true }) @@ -128,5 +130,16 @@ describe WebHook do WebHook.expects(:enqueue_hooks).once PostDestroyer.new(user, post2).recover end + + it 'should enqueue the right hooks for user creation events' do + WebHook.expects(:enqueue_hooks).once + user + + WebHook.expects(:enqueue_hooks).once + admin + + WebHook.expects(:enqueue_hooks).once + user.approve(admin) + end end end diff --git a/spec/serializers/basic_category_serializer_spec.rb b/spec/serializers/basic_category_serializer_spec.rb deleted file mode 100644 index 65fb7f62f..000000000 --- a/spec/serializers/basic_category_serializer_spec.rb +++ /dev/null @@ -1,40 +0,0 @@ -require "rails_helper" -require_dependency "category" - -describe BasicCategorySerializer do - - let(:cdn) { "https://my.awesome.cdn" } - let(:upload) { Fabricate(:upload) } - let(:json) { BasicCategorySerializer.new(category, scope: Guardian.new, root: false).as_json } - - describe "logo_url" do - - let(:category) { Fabricate(:category, logo_url: upload.url) } - - it "uses absolute schemaless URL" do - expect(json[:logo_url]).to eq("//test.localhost#{upload.url}") - end - - it "uses CDN when available" do - Discourse.stubs(:asset_host).returns(cdn) - expect(json[:logo_url]).to eq("#{cdn}#{upload.url}") - end - - end - - describe "background_url" do - - let(:category) { Fabricate(:category, background_url: upload.url) } - - it "uses absolute schemaless URL" do - expect(json[:background_url]).to eq("//test.localhost#{upload.url}") - end - - it "uses CDN when available" do - Discourse.stubs(:asset_host).returns(cdn) - expect(json[:background_url]).to eq("#{cdn}#{upload.url}") - end - - end - -end diff --git a/spec/services/color_scheme_revisor_spec.rb b/spec/services/color_scheme_revisor_spec.rb index 8db267690..d9f8a3519 100644 --- a/spec/services/color_scheme_revisor_spec.rb +++ b/spec/services/color_scheme_revisor_spec.rb @@ -18,6 +18,11 @@ describe ColorSchemeRevisor do expect(color_scheme.reload.name).to eq("Changed Name") end + it "can update the theme_id" do + described_class.revise(color_scheme, valid_params.merge(theme_id: 'test')) + expect(color_scheme.reload.theme_id).to eq('test') + end + it "can enable and disable" do described_class.revise(color_scheme, valid_params.merge(enabled: true)) expect(color_scheme.reload).to be_enabled diff --git a/test/javascripts/ember/resolver-test.js.es6 b/test/javascripts/ember/resolver-test.js.es6 index 1e5ad1ea5..1c81f96df 100644 --- a/test/javascripts/ember/resolver-test.js.es6 +++ b/test/javascripts/ember/resolver-test.js.es6 @@ -1,4 +1,4 @@ -import DiscourseResolver from 'discourse/ember/resolver'; +import { buildResolver } from 'discourse-common/resolver'; let originalTemplates; let resolver; @@ -15,6 +15,8 @@ function setTemplates(lookupTemplateStrings) { }); } +const DiscourseResolver = buildResolver('discourse'); + module("lib:resolver", { setup: function() { originalTemplates = Ember.TEMPLATES; diff --git a/test/javascripts/helpers/create-store.js.es6 b/test/javascripts/helpers/create-store.js.es6 index be21a3698..37df69372 100644 --- a/test/javascripts/helpers/create-store.js.es6 +++ b/test/javascripts/helpers/create-store.js.es6 @@ -2,10 +2,10 @@ import Store from "discourse/models/store"; import RestAdapter from 'discourse/adapters/rest'; import KeyValueStore from 'discourse/lib/key-value-store'; import TopicTrackingState from 'discourse/models/topic-tracking-state'; -import Resolver from 'discourse/ember/resolver'; +import { buildResolver } from 'discourse-common/resolver'; export default function() { - const resolver = Resolver.create(); + const resolver = buildResolver('discourse').create(); return Store.create({ container: { lookup(type) { diff --git a/test/javascripts/helpers/init-ember-qunit.js b/test/javascripts/helpers/init-ember-qunit.js index b96c0fe46..32d0184e7 100644 --- a/test/javascripts/helpers/init-ember-qunit.js +++ b/test/javascripts/helpers/init-ember-qunit.js @@ -1,2 +1,2 @@ -var resolver = require('discourse/ember/resolver').default; -window.setResolver(resolver.create({ namespace: Discourse })); +var buildResolver = require('discourse-common/resolver').buildResolver; +window.setResolver(buildResolver('discourse').create({ namespace: Discourse })); diff --git a/test/javascripts/test_helper.js b/test/javascripts/test_helper.js index 2ffb2986c..b0e8b7471 100644 --- a/test/javascripts/test_helper.js +++ b/test/javascripts/test_helper.js @@ -32,7 +32,6 @@ //= require helpers/qunit-helpers //= require helpers/assertions -//= require helpers/init-ember-qunit //= require_tree ./fixtures //= require_tree ./lib //= require_tree . diff --git a/test/javascripts/widgets/poster-name-test.js.es6 b/test/javascripts/widgets/poster-name-test.js.es6 index d11678ec5..9c1bde62f 100644 --- a/test/javascripts/widgets/poster-name-test.js.es6 +++ b/test/javascripts/widgets/poster-name-test.js.es6 @@ -32,7 +32,7 @@ widgetTest('extra classes and glyphs', { admin: true, moderator: true, new_user: true, - primaryGroupName: 'fish' + primary_group_name: 'fish' }); }, test(assert) { diff --git a/vendor/assets/javascripts/sweetalert.js b/vendor/assets/javascripts/sweetalert.js new file mode 100755 index 000000000..5c997b445 --- /dev/null +++ b/vendor/assets/javascripts/sweetalert.js @@ -0,0 +1 @@ +!function(e,t,n){"use strict";!function o(e,t,n){function a(s,l){if(!t[s]){if(!e[s]){var i="function"==typeof require&&require;if(!l&&i)return i(s,!0);if(r)return r(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var c=t[s]={exports:{}};e[s][0].call(c.exports,function(t){var n=e[s][1][t];return a(n?n:t)},c,c.exports,o,e,t,n)}return t[s].exports}for(var r="function"==typeof require&&require,s=0;s<n.length;s++)a(n[s]);return a}({1:[function(o,a,r){var s=function(e){return e&&e.__esModule?e:{"default":e}};Object.defineProperty(r,"__esModule",{value:!0});var l,i,u,c,d=o("./modules/handle-dom"),f=o("./modules/utils"),p=o("./modules/handle-swal-dom"),m=o("./modules/handle-click"),v=o("./modules/handle-key"),y=s(v),h=o("./modules/default-params"),b=s(h),g=o("./modules/set-params"),w=s(g);r["default"]=u=c=function(){function o(e){var t=a;return t[e]===n?b["default"][e]:t[e]}var a=arguments[0];if(d.addClass(t.body,"stop-scrolling"),p.resetInput(),a===n)return f.logStr("SweetAlert expects at least 1 attribute!"),!1;var r=f.extend({},b["default"]);switch(typeof a){case"string":r.title=a,r.text=arguments[1]||"",r.type=arguments[2]||"";break;case"object":if(a.title===n)return f.logStr('Missing "title" argument!'),!1;r.title=a.title;for(var s in b["default"])r[s]=o(s);r.confirmButtonText=r.showCancelButton?"Confirm":b["default"].confirmButtonText,r.confirmButtonText=o("confirmButtonText"),r.doneFunction=arguments[1]||null;break;default:return f.logStr('Unexpected type of argument! Expected "string" or "object", got '+typeof a),!1}w["default"](r),p.fixVerticalPosition(),p.openModal(arguments[1]);for(var u=p.getModal(),v=u.querySelectorAll("button"),h=["onclick","onmouseover","onmouseout","onmousedown","onmouseup","onfocus"],g=function(e){return m.handleButton(e,r,u)},C=0;C<v.length;C++)for(var S=0;S<h.length;S++){var x=h[S];v[C][x]=g}p.getOverlay().onclick=g,l=e.onkeydown;var k=function(e){return y["default"](e,r,u)};e.onkeydown=k,e.onfocus=function(){setTimeout(function(){i!==n&&(i.focus(),i=n)},0)},c.enableButtons()},u.setDefaults=c.setDefaults=function(e){if(!e)throw new Error("userParams is required");if("object"!=typeof e)throw new Error("userParams has to be a object");f.extend(b["default"],e)},u.close=c.close=function(){var o=p.getModal();d.fadeOut(p.getOverlay(),5),d.fadeOut(o,5),d.removeClass(o,"showSweetAlert"),d.addClass(o,"hideSweetAlert"),d.removeClass(o,"visible");var a=o.querySelector(".sa-icon.sa-success");d.removeClass(a,"animate"),d.removeClass(a.querySelector(".sa-tip"),"animateSuccessTip"),d.removeClass(a.querySelector(".sa-long"),"animateSuccessLong");var r=o.querySelector(".sa-icon.sa-error");d.removeClass(r,"animateErrorIcon"),d.removeClass(r.querySelector(".sa-x-mark"),"animateXMark");var s=o.querySelector(".sa-icon.sa-warning");return d.removeClass(s,"pulseWarning"),d.removeClass(s.querySelector(".sa-body"),"pulseWarningIns"),d.removeClass(s.querySelector(".sa-dot"),"pulseWarningIns"),setTimeout(function(){var e=o.getAttribute("data-custom-class");d.removeClass(o,e)},300),d.removeClass(t.body,"stop-scrolling"),e.onkeydown=l,e.previousActiveElement&&e.previousActiveElement.focus(),i=n,clearTimeout(o.timeout),!0},u.showInputError=c.showInputError=function(e){var t=p.getModal(),n=t.querySelector(".sa-input-error");d.addClass(n,"show");var o=t.querySelector(".sa-error-container");d.addClass(o,"show"),o.querySelector("p").innerHTML=e,setTimeout(function(){u.enableButtons()},1),t.querySelector("input").focus()},u.resetInputError=c.resetInputError=function(e){if(e&&13===e.keyCode)return!1;var t=p.getModal(),n=t.querySelector(".sa-input-error");d.removeClass(n,"show");var o=t.querySelector(".sa-error-container");d.removeClass(o,"show")},u.disableButtons=c.disableButtons=function(){var e=p.getModal(),t=e.querySelector("button.confirm"),n=e.querySelector("button.cancel");t.disabled=!0,n.disabled=!0},u.enableButtons=c.enableButtons=function(){var e=p.getModal(),t=e.querySelector("button.confirm"),n=e.querySelector("button.cancel");t.disabled=!1,n.disabled=!1},"undefined"!=typeof e?e.sweetAlert=e.swal=u:f.logStr("SweetAlert is a frontend module!"),a.exports=r["default"]},{"./modules/default-params":2,"./modules/handle-click":3,"./modules/handle-dom":4,"./modules/handle-key":5,"./modules/handle-swal-dom":6,"./modules/set-params":8,"./modules/utils":9}],2:[function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0});var o={title:"",text:"",type:null,allowOutsideClick:!1,showConfirmButton:!0,showCancelButton:!1,closeOnConfirm:!0,closeOnCancel:!0,confirmButtonText:"OK",confirmButtonColor:"#8CD4F5",cancelButtonText:"Cancel",imageUrl:null,imageSize:null,timer:null,customClass:"",html:!1,animation:!0,allowEscapeKey:!0,inputType:"text",inputPlaceholder:"",inputValue:"",showLoaderOnConfirm:!1};n["default"]=o,t.exports=n["default"]},{}],3:[function(t,n,o){Object.defineProperty(o,"__esModule",{value:!0});var a=t("./utils"),r=(t("./handle-swal-dom"),t("./handle-dom")),s=function(t,n,o){function s(e){m&&n.confirmButtonColor&&(p.style.backgroundColor=e)}var u,c,d,f=t||e.event,p=f.target||f.srcElement,m=-1!==p.className.indexOf("confirm"),v=-1!==p.className.indexOf("sweet-overlay"),y=r.hasClass(o,"visible"),h=n.doneFunction&&"true"===o.getAttribute("data-has-done-function");switch(m&&n.confirmButtonColor&&(u=n.confirmButtonColor,c=a.colorLuminance(u,-.04),d=a.colorLuminance(u,-.14)),f.type){case"mouseover":s(c);break;case"mouseout":s(u);break;case"mousedown":s(d);break;case"mouseup":s(c);break;case"focus":var b=o.querySelector("button.confirm"),g=o.querySelector("button.cancel");m?g.style.boxShadow="none":b.style.boxShadow="none";break;case"click":var w=o===p,C=r.isDescendant(o,p);if(!w&&!C&&y&&!n.allowOutsideClick)break;m&&h&&y?l(o,n):h&&y||v?i(o,n):r.isDescendant(o,p)&&"BUTTON"===p.tagName&&sweetAlert.close()}},l=function(e,t){var n=!0;r.hasClass(e,"show-input")&&(n=e.querySelector("input").value,n||(n="")),t.doneFunction(n),t.closeOnConfirm&&sweetAlert.close(),t.showLoaderOnConfirm&&sweetAlert.disableButtons()},i=function(e,t){var n=String(t.doneFunction).replace(/\s/g,""),o="function("===n.substring(0,9)&&")"!==n.substring(9,10);o&&t.doneFunction(!1),t.closeOnCancel&&sweetAlert.close()};o["default"]={handleButton:s,handleConfirm:l,handleCancel:i},n.exports=o["default"]},{"./handle-dom":4,"./handle-swal-dom":6,"./utils":9}],4:[function(n,o,a){Object.defineProperty(a,"__esModule",{value:!0});var r=function(e,t){return new RegExp(" "+t+" ").test(" "+e.className+" ")},s=function(e,t){r(e,t)||(e.className+=" "+t)},l=function(e,t){var n=" "+e.className.replace(/[\t\r\n]/g," ")+" ";if(r(e,t)){for(;n.indexOf(" "+t+" ")>=0;)n=n.replace(" "+t+" "," ");e.className=n.replace(/^\s+|\s+$/g,"")}},i=function(e){var n=t.createElement("div");return n.appendChild(t.createTextNode(e)),n.innerHTML},u=function(e){e.style.opacity="",e.style.display="block"},c=function(e){if(e&&!e.length)return u(e);for(var t=0;t<e.length;++t)u(e[t])},d=function(e){e.style.opacity="",e.style.display="none"},f=function(e){if(e&&!e.length)return d(e);for(var t=0;t<e.length;++t)d(e[t])},p=function(e,t){for(var n=t.parentNode;null!==n;){if(n===e)return!0;n=n.parentNode}return!1},m=function(e){e.style.left="-9999px",e.style.display="block";var t,n=e.clientHeight;return t="undefined"!=typeof getComputedStyle?parseInt(getComputedStyle(e).getPropertyValue("padding-top"),10):parseInt(e.currentStyle.padding),e.style.left="",e.style.display="none","-"+parseInt((n+t)/2)+"px"},v=function(e,t){if(+e.style.opacity<1){t=t||16,e.style.opacity=0,e.style.display="block";var n=+new Date,o=function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(function(){e.style.opacity=+e.style.opacity+(new Date-n)/100,n=+new Date,+e.style.opacity<1&&setTimeout(o,t)});o()}e.style.display="block"},y=function(e,t){t=t||16,e.style.opacity=1;var n=+new Date,o=function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(function(){e.style.opacity=+e.style.opacity-(new Date-n)/100,n=+new Date,+e.style.opacity>0?setTimeout(o,t):e.style.display="none"});o()},h=function(n){if("function"==typeof MouseEvent){var o=new MouseEvent("click",{view:e,bubbles:!1,cancelable:!0});n.dispatchEvent(o)}else if(t.createEvent){var a=t.createEvent("MouseEvents");a.initEvent("click",!1,!1),n.dispatchEvent(a)}else t.createEventObject?n.fireEvent("onclick"):"function"==typeof n.onclick&&n.onclick()},b=function(t){"function"==typeof t.stopPropagation?(t.stopPropagation(),t.preventDefault()):e.event&&e.event.hasOwnProperty("cancelBubble")&&(e.event.cancelBubble=!0)};a.hasClass=r,a.addClass=s,a.removeClass=l,a.escapeHtml=i,a._show=u,a.show=c,a._hide=d,a.hide=f,a.isDescendant=p,a.getTopMargin=m,a.fadeIn=v,a.fadeOut=y,a.fireClick=h,a.stopEventPropagation=b},{}],5:[function(t,o,a){Object.defineProperty(a,"__esModule",{value:!0});var r=t("./handle-dom"),s=t("./handle-swal-dom"),l=function(t,o,a){var l=t||e.event,i=l.keyCode||l.which,u=a.querySelector("button.confirm"),c=a.querySelector("button.cancel"),d=a.querySelectorAll("button[tabindex]");if(-1!==[9,13,32,27].indexOf(i)){for(var f=l.target||l.srcElement,p=-1,m=0;m<d.length;m++)if(f===d[m]){p=m;break}9===i?(f=-1===p?u:p===d.length-1?d[0]:d[p+1],r.stopEventPropagation(l),f.focus(),o.confirmButtonColor&&s.setFocusStyle(f,o.confirmButtonColor)):13===i?("INPUT"===f.tagName&&(f=u,u.focus()),f=-1===p?u:n):27===i&&o.allowEscapeKey===!0?(f=c,r.fireClick(f,l)):f=n}};a["default"]=l,o.exports=a["default"]},{"./handle-dom":4,"./handle-swal-dom":6}],6:[function(n,o,a){var r=function(e){return e&&e.__esModule?e:{"default":e}};Object.defineProperty(a,"__esModule",{value:!0});var s=n("./utils"),l=n("./handle-dom"),i=n("./default-params"),u=r(i),c=n("./injected-html"),d=r(c),f=".sweet-alert",p=".sweet-overlay",m=function(){var e=t.createElement("div");for(e.innerHTML=d["default"];e.firstChild;)t.body.appendChild(e.firstChild)},v=function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(function(){var e=t.querySelector(f);return e||(m(),e=v()),e}),y=function(){var e=v();return e?e.querySelector("input"):void 0},h=function(){return t.querySelector(p)},b=function(e,t){var n=s.hexToRgb(t);e.style.boxShadow="0 0 2px rgba("+n+", 0.8), inset 0 0 0 1px rgba(0, 0, 0, 0.05)"},g=function(n){var o=v();l.fadeIn(h(),10),l.show(o),l.addClass(o,"showSweetAlert"),l.removeClass(o,"hideSweetAlert"),e.previousActiveElement=t.activeElement;var a=o.querySelector("button.confirm");a.focus(),setTimeout(function(){l.addClass(o,"visible")},500);var r=o.getAttribute("data-timer");if("null"!==r&&""!==r){var s=n;o.timeout=setTimeout(function(){var e=(s||null)&&"true"===o.getAttribute("data-has-done-function");e?s(null):sweetAlert.close()},r)}},w=function(){var e=v(),t=y();l.removeClass(e,"show-input"),t.value=u["default"].inputValue,t.setAttribute("type",u["default"].inputType),t.setAttribute("placeholder",u["default"].inputPlaceholder),C()},C=function(e){if(e&&13===e.keyCode)return!1;var t=v(),n=t.querySelector(".sa-input-error");l.removeClass(n,"show");var o=t.querySelector(".sa-error-container");l.removeClass(o,"show")},S=function(){var e=v();e.style.marginTop=l.getTopMargin(v())};a.sweetAlertInitialize=m,a.getModal=v,a.getOverlay=h,a.getInput=y,a.setFocusStyle=b,a.openModal=g,a.resetInput=w,a.resetInputError=C,a.fixVerticalPosition=S},{"./default-params":2,"./handle-dom":4,"./injected-html":7,"./utils":9}],7:[function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0});var o='<div class="sweet-overlay" tabIndex="-1"></div><div class="sweet-alert"><div class="sa-icon sa-error">\n <span class="sa-x-mark">\n <span class="sa-line sa-left"></span>\n <span class="sa-line sa-right"></span>\n </span>\n </div><div class="sa-icon sa-warning">\n <span class="sa-body"></span>\n <span class="sa-dot"></span>\n </div><div class="sa-icon sa-info"></div><div class="sa-icon sa-success">\n <span class="sa-line sa-tip"></span>\n <span class="sa-line sa-long"></span>\n\n <div class="sa-placeholder"></div>\n <div class="sa-fix"></div>\n </div><div class="sa-icon sa-custom"></div><h2>Title</h2>\n <p>Text</p>\n <fieldset>\n <input type="text" tabIndex="3" />\n <div class="sa-input-error"></div>\n </fieldset><div class="sa-error-container">\n <div class="icon">!</div>\n <p>Not valid!</p>\n </div><div class="sa-button-container">\n <button class="cancel" tabIndex="2">Cancel</button>\n <div class="sa-confirm-button-container">\n <button class="confirm" tabIndex="1">OK</button><div class="la-ball-fall">\n <div></div>\n <div></div>\n <div></div>\n </div>\n </div>\n </div></div>';n["default"]=o,t.exports=n["default"]},{}],8:[function(e,t,o){Object.defineProperty(o,"__esModule",{value:!0});var a=e("./utils"),r=e("./handle-swal-dom"),s=e("./handle-dom"),l=["error","warning","info","success","input","prompt"],i=function(e){var t=r.getModal(),o=t.querySelector("h2"),i=t.querySelector("p"),u=t.querySelector("button.cancel"),c=t.querySelector("button.confirm");if(o.innerHTML=e.html?e.title:s.escapeHtml(e.title).split("\n").join("<br>"),i.innerHTML=e.html?e.text:s.escapeHtml(e.text||"").split("\n").join("<br>"),e.text&&s.show(i),e.customClass)s.addClass(t,e.customClass),t.setAttribute("data-custom-class",e.customClass);else{var d=t.getAttribute("data-custom-class");s.removeClass(t,d),t.setAttribute("data-custom-class","")}if(s.hide(t.querySelectorAll(".sa-icon")),e.type&&!a.isIE8()){var f=function(){for(var o=!1,a=0;a<l.length;a++)if(e.type===l[a]){o=!0;break}if(!o)return logStr("Unknown alert type: "+e.type),{v:!1};var i=["success","error","warning","info"],u=n;-1!==i.indexOf(e.type)&&(u=t.querySelector(".sa-icon.sa-"+e.type),s.show(u));var c=r.getInput();switch(e.type){case"success":s.addClass(u,"animate"),s.addClass(u.querySelector(".sa-tip"),"animateSuccessTip"),s.addClass(u.querySelector(".sa-long"),"animateSuccessLong");break;case"error":s.addClass(u,"animateErrorIcon"),s.addClass(u.querySelector(".sa-x-mark"),"animateXMark");break;case"warning":s.addClass(u,"pulseWarning"),s.addClass(u.querySelector(".sa-body"),"pulseWarningIns"),s.addClass(u.querySelector(".sa-dot"),"pulseWarningIns");break;case"input":case"prompt":c.setAttribute("type",e.inputType),c.value=e.inputValue,c.setAttribute("placeholder",e.inputPlaceholder),s.addClass(t,"show-input"),setTimeout(function(){c.focus(),c.addEventListener("keyup",swal.resetInputError)},400)}}();if("object"==typeof f)return f.v}if(e.imageUrl){var p=t.querySelector(".sa-icon.sa-custom");p.style.backgroundImage="url("+e.imageUrl+")",s.show(p);var m=80,v=80;if(e.imageSize){var y=e.imageSize.toString().split("x"),h=y[0],b=y[1];h&&b?(m=h,v=b):logStr("Parameter imageSize expects value with format WIDTHxHEIGHT, got "+e.imageSize)}p.setAttribute("style",p.getAttribute("style")+"width:"+m+"px; height:"+v+"px")}t.setAttribute("data-has-cancel-button",e.showCancelButton),e.showCancelButton?u.style.display="inline-block":s.hide(u),t.setAttribute("data-has-confirm-button",e.showConfirmButton),e.showConfirmButton?c.style.display="inline-block":s.hide(c),e.cancelButtonText&&(u.innerHTML=s.escapeHtml(e.cancelButtonText)),e.confirmButtonText&&(c.innerHTML=s.escapeHtml(e.confirmButtonText)),e.confirmButtonColor&&(c.style.backgroundColor=e.confirmButtonColor,c.style.borderLeftColor=e.confirmLoadingButtonColor,c.style.borderRightColor=e.confirmLoadingButtonColor,r.setFocusStyle(c,e.confirmButtonColor)),t.setAttribute("data-allow-outside-click",e.allowOutsideClick);var g=e.doneFunction?!0:!1;t.setAttribute("data-has-done-function",g),e.animation?"string"==typeof e.animation?t.setAttribute("data-animation",e.animation):t.setAttribute("data-animation","pop"):t.setAttribute("data-animation","none"),t.setAttribute("data-timer",e.timer)};o["default"]=i,t.exports=o["default"]},{"./handle-dom":4,"./handle-swal-dom":6,"./utils":9}],9:[function(t,n,o){Object.defineProperty(o,"__esModule",{value:!0});var a=function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},r=function(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?parseInt(t[1],16)+", "+parseInt(t[2],16)+", "+parseInt(t[3],16):null},s=function(){return e.attachEvent&&!e.addEventListener},l=function(t){e.console&&e.console.log("SweetAlert: "+t)},i=function(e,t){e=String(e).replace(/[^0-9a-f]/gi,""),e.length<6&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),t=t||0;var n,o,a="#";for(o=0;3>o;o++)n=parseInt(e.substr(2*o,2),16),n=Math.round(Math.min(Math.max(0,n+n*t),255)).toString(16),a+=("00"+n).substr(n.length);return a};o.extend=a,o.hexToRgb=r,o.isIE8=s,o.logStr=l,o.colorLuminance=i},{}]},{},[1]),"function"==typeof define&&define.amd?define(function(){return sweetAlert}):"undefined"!=typeof module&&module.exports&&(module.exports=sweetAlert)}(window,document); \ No newline at end of file diff --git a/vendor/gems/discourse_imgur/lib/discourse_imgur/locale/server.he.yml b/vendor/gems/discourse_imgur/lib/discourse_imgur/locale/server.he.yml index 7d42d2703..113de6bfd 100644 --- a/vendor/gems/discourse_imgur/lib/discourse_imgur/locale/server.he.yml +++ b/vendor/gems/discourse_imgur/lib/discourse_imgur/locale/server.he.yml @@ -7,6 +7,6 @@ he: site_settings: - enable_imgur: "אפשר להעלות imgur API , אל תאכסן קבצים באופן מקומי." + enable_imgur: "אפשר להעלות imgur API, אל תאכסן קבצים באופן מקומי." imgur_client_id: "זהות הלקוח (Client ID) שלך ב-imgur.com נדרשת לשם העלאת התמונה." imgur_client_secret: "סיסמת הלקוח (client secret) שלך לא נדרשת כרגע כדי לאפשר העלאת התמונה, אבל עשוייה להידרש בשלב כלשהו בהמשך."