diff --git a/downloads/index.html b/downloads/index.html new file mode 100644 index 000000000000..40604a5c1ca0 --- /dev/null +++ b/downloads/index.html @@ -0,0 +1,538 @@ + + + + + + + + Go Ethereum Downloads + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ Download Geth – + + – Release Notes + +

+
+
+
+

You can download the latest 64-bit stable release of Geth for our primary platforms below. Packages for all supported platforms, as well as develop builds, can be found further down the page. If you're looking to install Geth and/or associated tools via your favorite package manager, please check our installation guide.

+ + + + +
+
+
+ +
+
+
+

Specific Versions

+

If you're looking for a specific release, operating system or architecture, below you will find:

+
    +
  • All stable and develop builds of Geth and tools
  • +
  • Archives for non-primary processor architectures
  • +
  • Android library archives and iOS XCode frameworks
  • +
+

Please select your desired platform from the lists below and download your bundle of choice. Please be aware that the MD5 checksums are provided by our binary hosting platform (Azure Blobstore) to help check for download errors. For security guarantees please verify any downloads via the attached PGP signature files (see OpenPGP Signatures for details).

+ +

Stable releases

+

These are the current and previous stable releases of go-ethereum, updated automatically when a new version is tagged in our GitHub repository.

+ + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +

Develop builds

+

These are the develop snapshots of go-ethereum, updated automatically when a new commit is pushed into our GitHub repository.

+ + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +

OpenPGP Signatures

+

All the binaries available from this page are signed via our build server PGP keys:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Build ServerUnique IDOpenPGP KeyFingerprint
Android BuilderGo Ethereum Android Builder <geth-ci@ethereum.org>F9585DE68272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6
iOS BuilderGo Ethereum iOS Builder <geth-ci@ethereum.org>C2FF8BBF70AD EB8F 3BC6 6F69 0256 4D88 F29D EFAF C2FF 8BBF
Linux BuilderGo Ethereum Linux Builder <geth-ci@ethereum.org>9BA28146FDE5 A1A0 44FA 13D2 F7AD A019 A61A 1356 9BA2 8146
macOS BuilderGo Ethereum macOS Builder <geth-ci@ethereum.org>7B9E24816D1D AF5D 0534 DEA6 1AA7 7AD5 5589 15E1 7B9E 2481
Windows BuilderGo Ethereum Windows Builder <geth-ci@ethereum.org>D2A67EACC4B3 2BB1 F603 4241 A9E6 50A1 9417 309E D2A6 7EAC
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DeveloperUnique IDOpenPGP KeyFingerprint
Felix LangeFelix Lange <fjl@ethereum.org>E058A81C6047 0B71 5865 392D E43D 75A3 337E 68FC E058 A81C
Jeffrey WilckeJeffrey Wilcke <jeffrey@ethereum.org>85BE4B0CEF8F A45D 7698 A065 F1AB 3D5C A676 6F71 85BE 4B0C
Martin Holst SwendeMartin Holst Swende <martin.swende@ethereum.org>05A5DDF0CA99 ABB5 B36E 24AD 5DA0 FD40 683B 438C 05A5 DDF0
Nick JohnsonNick Johnson <nick@ethereum.org>2F295D12DD7A 2E03 0B2F AF1C 3121 6FE6 6D96 4993 2F29 5D12
Péter SzilágyiPéter Szilágyi <peter@ethereum.org>1CCB7DD24948 43FC E822 1C4C 86AB 5E2F 119A 7638 1CCB 7DD2
Viktor TrónViktor Tron <viktor@ethereum.org>99E23788446D 939E 45C0 DC1E 2A8E 2F62 5219 CDE2 99E2 3788
+
+ +

Importing keys and verifying builds

+

You can import the build server public keys by grabbing the individual keys directly from the keyserver network:

+
gpg --recv-keys F9585DE6 C2FF8BBF 9BA28146 7B9E2481 D2A67EAC
+

Similarly you can import all the developer public keys by grabbing them directly from the keyserver network:

+
gpg --recv-keys E058A81C 85BE4B0C 05A5DDF0 2F295D12 1CCB7DD2 99E23788
+
+

From the download listings above you should see a link both to the downloadable archives as well as detached signature files. To verify the authenticity of any downloaded data, grab both files and then run:

+
gpg --verify geth-linux-amd64-1.5.0-d0c820ac.tar.gz.asc
+

Note that you must use the name of the signature file, and you should use the one that's appropriate to the download you're verifying.

+
+
+ +
+ +
+ + + + + + + + + + diff --git a/getting_started.html b/getting_started.html deleted file mode 100644 index 1f0c6099178c..000000000000 --- a/getting_started.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Ethereum - - - - - - - - - - - - - -
- -

Getting started

- -

-This is the official Ethereum documentation for the Go implementation. This -document will help you get started and will guide you in familiarising with the -Go API. -

- -

Getting the package

- -Use go's package manager to fetch the go-ethereum package: -
go get github.com/ethereum/go-ethereum
- -Verify the installation with a simple ethereum.go example program: -
package main
-
-import (
-    "fmt"
-    "github.com/ethereum/go-ethereum/eth"
-)
-
-func main() {
-    fmt.Println("Hello ethereum:", eth.Version)
-}
- -And verify the output: -
go run ethereum.go # Hello ethereum: 1.x.x
- - -

Setting up a node

- -
package main
-
-import (
-    "gitub.com/ethereum/go-ethereum/eth"
-)
-
-func main() {
-    // setup ethereum. the rest of the defaults will be picked for us
-    // (port, host, ipc, etc). Second argument is the type of node; full/light
-    err := eth.New(eth.Config{
-        Name: "My ethereum node",
-    }, eth.Light)
-    if err != nil {
-        logger.Fatalln(err)
-    }
-
-    // let eth handle shutdowns
-    eth.WaitForShutdown()
-}
- - - -
- - - diff --git a/guide/index.html b/guide/index.html new file mode 100644 index 000000000000..884d1678d90f --- /dev/null +++ b/guide/index.html @@ -0,0 +1,134 @@ + + + + + + + + Go Ethereum Guide + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+ + + + + + diff --git a/index.html b/index.html index 8d4734331d9b..db9f3db8e332 100644 --- a/index.html +++ b/index.html @@ -1,160 +1,102 @@ - + - - Ethereum + + - - - - - - - - -
- -

-Ethereum is an open source crypto project written in the Go language -(among others: Py & C++). This is the official Go implementation and home -of geth, and the Ethereum toolset. -

- -

-Ethereum's publicly available network can be accessed by anyone at any -time, freely without any cost. It can serve as a backbone for -any open or closed sourced project that may require -the robustness of free, public peer-to-peer networks with a consensus -backing layer. -

- -

-Ethereum may also be run in a private environment, such as for use within a corporate network, -without any cost. All core source is licensed under the LGPL -and all frontend code is licensed under GPL. -

- -

-For more information about the Ethereum protocol refer to the official Ethereum website. -

- -

Getting started

- -Getting started with Ethereum is simple, the only thing you require is the geth -binary. - -Please refer to the developer documentation -for a beginner tutorial on how to get started with the Go Ethereum API. - -

Development builds

- -

The following builds are built automatically after each push to the develop branch.

- - - -

-Building the source

-

For prerequisites and detailed build instructions please read the -Installation Instructions -on the wiki.

+ Go Ethereum + -

Building geth requires two external dependencies: Go and GMP. -You can install them using your favourite package manager. -Once the dependencies are installed, run

+ + + -
make geth
-
+ + -

-Executables

- -

Go Ethereum comes with several wrappers/executables found in -the cmd directory:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Command
gethEthereum CLI (ethereum command line interface client)
bootnoderuns a bootstrap node for the Discovery Protocol
ethtesttest tool which runs with the tests suite: /path/to/test.json > ethtest --test BlockTests --stdin.
evmis a generic Ethereum Virtual Machine: evm -code 60ff60ff -gas 10000 -price 0 -dump. See -h for a detailed description.
disasmdisassembles EVM code: echo "6001" | disasm -
rlpdumpprints RLP structures
- -

-Command line options

- -

geth can be configured via command line options, environment variables and config files.

- -

Geth comes with extensive build in help. To get the available options:

- -
geth help
-
- -

For further details on options, see the wiki

- -

-Contribution

- -

If you'd like to contribute to go-ethereum please fork, fix, commit and -send a pull request. Commits that do not comply with the coding standards -are ignored (use gofmt!). If you send pull requests, make absolute sure that you -commit on the develop branch and that you do not merge to master. -Commits that are directly based on master are simply ignored.

- -

See Developers' Guide -for more details on configuring your environment, testing, and -dependency management.

- -
- + diff --git a/install/index.html b/install/index.html new file mode 100644 index 000000000000..722deeb5737a --- /dev/null +++ b/install/index.html @@ -0,0 +1,74 @@ + + + + + + + + Go Ethereum Installation + + + + + + + + + + + + + + + + + + +
+
+
+

Installing Go Ethereum

+
+
+
+
+ +
+ + + + diff --git a/static/fonts/FontAwesome.otf b/static/fonts/FontAwesome.otf new file mode 100644 index 000000000000..401ec0f36e4f Binary files /dev/null and b/static/fonts/FontAwesome.otf differ diff --git a/static/fonts/fontawesome-webfont.eot b/static/fonts/fontawesome-webfont.eot new file mode 100644 index 000000000000..e9f60ca953f9 Binary files /dev/null and b/static/fonts/fontawesome-webfont.eot differ diff --git a/static/fonts/fontawesome-webfont.svg b/static/fonts/fontawesome-webfont.svg new file mode 100644 index 000000000000..855c845e538b --- /dev/null +++ b/static/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/fonts/fontawesome-webfont.ttf b/static/fonts/fontawesome-webfont.ttf new file mode 100644 index 000000000000..35acda2fa119 Binary files /dev/null and b/static/fonts/fontawesome-webfont.ttf differ diff --git a/static/fonts/fontawesome-webfont.woff b/static/fonts/fontawesome-webfont.woff new file mode 100644 index 000000000000..400014a4b06e Binary files /dev/null and b/static/fonts/fontawesome-webfont.woff differ diff --git a/static/fonts/fontawesome-webfont.woff2 b/static/fonts/fontawesome-webfont.woff2 new file mode 100644 index 000000000000..4d13fc60404b Binary files /dev/null and b/static/fonts/fontawesome-webfont.woff2 differ diff --git a/static/images/emoji/+1.png b/static/images/emoji/+1.png new file mode 100644 index 000000000000..81786c1d8f5e Binary files /dev/null and b/static/images/emoji/+1.png differ diff --git a/static/images/emoji/-1.png b/static/images/emoji/-1.png new file mode 100644 index 000000000000..41c6b825d6a6 Binary files /dev/null and b/static/images/emoji/-1.png differ diff --git a/static/images/emoji/100.png b/static/images/emoji/100.png new file mode 100644 index 000000000000..ca3bb9bcf630 Binary files /dev/null and b/static/images/emoji/100.png differ diff --git a/static/images/emoji/1234.png b/static/images/emoji/1234.png new file mode 100644 index 000000000000..c47c2e1f9f0d Binary files /dev/null and b/static/images/emoji/1234.png differ diff --git a/static/images/emoji/8ball.png b/static/images/emoji/8ball.png new file mode 100644 index 000000000000..c2c710d45019 Binary files /dev/null and b/static/images/emoji/8ball.png differ diff --git a/static/images/emoji/a.png b/static/images/emoji/a.png new file mode 100644 index 000000000000..09ff6d6f1843 Binary files /dev/null and b/static/images/emoji/a.png differ diff --git a/static/images/emoji/ab.png b/static/images/emoji/ab.png new file mode 100644 index 000000000000..2a522204767b Binary files /dev/null and b/static/images/emoji/ab.png differ diff --git a/static/images/emoji/abc.png b/static/images/emoji/abc.png new file mode 100644 index 000000000000..505d40a15572 Binary files /dev/null and b/static/images/emoji/abc.png differ diff --git a/static/images/emoji/abcd.png b/static/images/emoji/abcd.png new file mode 100644 index 000000000000..5218470b63c9 Binary files /dev/null and b/static/images/emoji/abcd.png differ diff --git a/static/images/emoji/accept.png b/static/images/emoji/accept.png new file mode 100644 index 000000000000..2d200903188c Binary files /dev/null and b/static/images/emoji/accept.png differ diff --git a/static/images/emoji/aerial_tramway.png b/static/images/emoji/aerial_tramway.png new file mode 100644 index 000000000000..38f6dfe2334f Binary files /dev/null and b/static/images/emoji/aerial_tramway.png differ diff --git a/static/images/emoji/airplane.png b/static/images/emoji/airplane.png new file mode 100644 index 000000000000..8407cb675756 Binary files /dev/null and b/static/images/emoji/airplane.png differ diff --git a/static/images/emoji/alarm_clock.png b/static/images/emoji/alarm_clock.png new file mode 100644 index 000000000000..86ca8c8ed450 Binary files /dev/null and b/static/images/emoji/alarm_clock.png differ diff --git a/static/images/emoji/alien.png b/static/images/emoji/alien.png new file mode 100644 index 000000000000..416de47be465 Binary files /dev/null and b/static/images/emoji/alien.png differ diff --git a/static/images/emoji/ambulance.png b/static/images/emoji/ambulance.png new file mode 100644 index 000000000000..b740f45dba20 Binary files /dev/null and b/static/images/emoji/ambulance.png differ diff --git a/static/images/emoji/anchor.png b/static/images/emoji/anchor.png new file mode 100644 index 000000000000..0c5192e64739 Binary files /dev/null and b/static/images/emoji/anchor.png differ diff --git a/static/images/emoji/angel.png b/static/images/emoji/angel.png new file mode 100644 index 000000000000..da52c310c64f Binary files /dev/null and b/static/images/emoji/angel.png differ diff --git a/static/images/emoji/anger.png b/static/images/emoji/anger.png new file mode 100644 index 000000000000..6fb4dca1854f Binary files /dev/null and b/static/images/emoji/anger.png differ diff --git a/static/images/emoji/angry.png b/static/images/emoji/angry.png new file mode 100644 index 000000000000..f95bfa897ed9 Binary files /dev/null and b/static/images/emoji/angry.png differ diff --git a/static/images/emoji/anguished.png b/static/images/emoji/anguished.png new file mode 100644 index 000000000000..c62594726df2 Binary files /dev/null and b/static/images/emoji/anguished.png differ diff --git a/static/images/emoji/ant.png b/static/images/emoji/ant.png new file mode 100644 index 000000000000..b92d1cc14bde Binary files /dev/null and b/static/images/emoji/ant.png differ diff --git a/static/images/emoji/apple.png b/static/images/emoji/apple.png new file mode 100644 index 000000000000..08aa17b95137 Binary files /dev/null and b/static/images/emoji/apple.png differ diff --git a/static/images/emoji/aquarius.png b/static/images/emoji/aquarius.png new file mode 100644 index 000000000000..cbff66edcf3c Binary files /dev/null and b/static/images/emoji/aquarius.png differ diff --git a/static/images/emoji/aries.png b/static/images/emoji/aries.png new file mode 100644 index 000000000000..aab5e8809f5b Binary files /dev/null and b/static/images/emoji/aries.png differ diff --git a/static/images/emoji/arrow_backward.png b/static/images/emoji/arrow_backward.png new file mode 100644 index 000000000000..088621834f79 Binary files /dev/null and b/static/images/emoji/arrow_backward.png differ diff --git a/static/images/emoji/arrow_double_down.png b/static/images/emoji/arrow_double_down.png new file mode 100644 index 000000000000..2ecbebcda130 Binary files /dev/null and b/static/images/emoji/arrow_double_down.png differ diff --git a/static/images/emoji/arrow_double_up.png b/static/images/emoji/arrow_double_up.png new file mode 100644 index 000000000000..2bd6659b142e Binary files /dev/null and b/static/images/emoji/arrow_double_up.png differ diff --git a/static/images/emoji/arrow_down.png b/static/images/emoji/arrow_down.png new file mode 100644 index 000000000000..e6702f02baee Binary files /dev/null and b/static/images/emoji/arrow_down.png differ diff --git a/static/images/emoji/arrow_down_small.png b/static/images/emoji/arrow_down_small.png new file mode 100644 index 000000000000..22d383a9205c Binary files /dev/null and b/static/images/emoji/arrow_down_small.png differ diff --git a/static/images/emoji/arrow_forward.png b/static/images/emoji/arrow_forward.png new file mode 100644 index 000000000000..fbfe711b64de Binary files /dev/null and b/static/images/emoji/arrow_forward.png differ diff --git a/static/images/emoji/arrow_heading_down.png b/static/images/emoji/arrow_heading_down.png new file mode 100644 index 000000000000..56dd3b9d3c82 Binary files /dev/null and b/static/images/emoji/arrow_heading_down.png differ diff --git a/static/images/emoji/arrow_heading_up.png b/static/images/emoji/arrow_heading_up.png new file mode 100644 index 000000000000..c8f670a1ef0d Binary files /dev/null and b/static/images/emoji/arrow_heading_up.png differ diff --git a/static/images/emoji/arrow_left.png b/static/images/emoji/arrow_left.png new file mode 100644 index 000000000000..d64ac619c9d2 Binary files /dev/null and b/static/images/emoji/arrow_left.png differ diff --git a/static/images/emoji/arrow_lower_left.png b/static/images/emoji/arrow_lower_left.png new file mode 100644 index 000000000000..55fb03c41218 Binary files /dev/null and b/static/images/emoji/arrow_lower_left.png differ diff --git a/static/images/emoji/arrow_lower_right.png b/static/images/emoji/arrow_lower_right.png new file mode 100644 index 000000000000..da8fb8294d91 Binary files /dev/null and b/static/images/emoji/arrow_lower_right.png differ diff --git a/static/images/emoji/arrow_right.png b/static/images/emoji/arrow_right.png new file mode 100644 index 000000000000..6d483b5144f3 Binary files /dev/null and b/static/images/emoji/arrow_right.png differ diff --git a/static/images/emoji/arrow_right_hook.png b/static/images/emoji/arrow_right_hook.png new file mode 100644 index 000000000000..8b4ea6e1720e Binary files /dev/null and b/static/images/emoji/arrow_right_hook.png differ diff --git a/static/images/emoji/arrow_up.png b/static/images/emoji/arrow_up.png new file mode 100644 index 000000000000..b5b0688d3c60 Binary files /dev/null and b/static/images/emoji/arrow_up.png differ diff --git a/static/images/emoji/arrow_up_down.png b/static/images/emoji/arrow_up_down.png new file mode 100644 index 000000000000..be423de78020 Binary files /dev/null and b/static/images/emoji/arrow_up_down.png differ diff --git a/static/images/emoji/arrow_up_small.png b/static/images/emoji/arrow_up_small.png new file mode 100644 index 000000000000..3f40bfb89b26 Binary files /dev/null and b/static/images/emoji/arrow_up_small.png differ diff --git a/static/images/emoji/arrow_upper_left.png b/static/images/emoji/arrow_upper_left.png new file mode 100644 index 000000000000..2950ae2f986b Binary files /dev/null and b/static/images/emoji/arrow_upper_left.png differ diff --git a/static/images/emoji/arrow_upper_right.png b/static/images/emoji/arrow_upper_right.png new file mode 100644 index 000000000000..e23790ba18d5 Binary files /dev/null and b/static/images/emoji/arrow_upper_right.png differ diff --git a/static/images/emoji/arrows_clockwise.png b/static/images/emoji/arrows_clockwise.png new file mode 100644 index 000000000000..5f84d7e72b79 Binary files /dev/null and b/static/images/emoji/arrows_clockwise.png differ diff --git a/static/images/emoji/arrows_counterclockwise.png b/static/images/emoji/arrows_counterclockwise.png new file mode 100644 index 000000000000..3e06f5b3cecc Binary files /dev/null and b/static/images/emoji/arrows_counterclockwise.png differ diff --git a/static/images/emoji/art.png b/static/images/emoji/art.png new file mode 100644 index 000000000000..d45212b03404 Binary files /dev/null and b/static/images/emoji/art.png differ diff --git a/static/images/emoji/articulated_lorry.png b/static/images/emoji/articulated_lorry.png new file mode 100644 index 000000000000..81ec1f917411 Binary files /dev/null and b/static/images/emoji/articulated_lorry.png differ diff --git a/static/images/emoji/astonished.png b/static/images/emoji/astonished.png new file mode 100644 index 000000000000..858a83484a8d Binary files /dev/null and b/static/images/emoji/astonished.png differ diff --git a/static/images/emoji/atm.png b/static/images/emoji/atm.png new file mode 100644 index 000000000000..c2846e792183 Binary files /dev/null and b/static/images/emoji/atm.png differ diff --git a/static/images/emoji/b.png b/static/images/emoji/b.png new file mode 100644 index 000000000000..8742b3d2e3eb Binary files /dev/null and b/static/images/emoji/b.png differ diff --git a/static/images/emoji/baby.png b/static/images/emoji/baby.png new file mode 100644 index 000000000000..3b29da40b602 Binary files /dev/null and b/static/images/emoji/baby.png differ diff --git a/static/images/emoji/baby_bottle.png b/static/images/emoji/baby_bottle.png new file mode 100644 index 000000000000..1b2cfe5e3014 Binary files /dev/null and b/static/images/emoji/baby_bottle.png differ diff --git a/static/images/emoji/baby_chick.png b/static/images/emoji/baby_chick.png new file mode 100644 index 000000000000..9be8d2930062 Binary files /dev/null and b/static/images/emoji/baby_chick.png differ diff --git a/static/images/emoji/baby_symbol.png b/static/images/emoji/baby_symbol.png new file mode 100644 index 000000000000..2e58725cf565 Binary files /dev/null and b/static/images/emoji/baby_symbol.png differ diff --git a/static/images/emoji/back.png b/static/images/emoji/back.png new file mode 100644 index 000000000000..0cde62876292 Binary files /dev/null and b/static/images/emoji/back.png differ diff --git a/static/images/emoji/baggage_claim.png b/static/images/emoji/baggage_claim.png new file mode 100644 index 000000000000..59ae044a45e8 Binary files /dev/null and b/static/images/emoji/baggage_claim.png differ diff --git a/static/images/emoji/balloon.png b/static/images/emoji/balloon.png new file mode 100644 index 000000000000..034489702562 Binary files /dev/null and b/static/images/emoji/balloon.png differ diff --git a/static/images/emoji/ballot_box_with_check.png b/static/images/emoji/ballot_box_with_check.png new file mode 100644 index 000000000000..f07a466c7784 Binary files /dev/null and b/static/images/emoji/ballot_box_with_check.png differ diff --git a/static/images/emoji/bamboo.png b/static/images/emoji/bamboo.png new file mode 100644 index 000000000000..fc858d0fc2c2 Binary files /dev/null and b/static/images/emoji/bamboo.png differ diff --git a/static/images/emoji/banana.png b/static/images/emoji/banana.png new file mode 100644 index 000000000000..a0563afb9584 Binary files /dev/null and b/static/images/emoji/banana.png differ diff --git a/static/images/emoji/bangbang.png b/static/images/emoji/bangbang.png new file mode 100644 index 000000000000..7270f0afe6e6 Binary files /dev/null and b/static/images/emoji/bangbang.png differ diff --git a/static/images/emoji/bank.png b/static/images/emoji/bank.png new file mode 100644 index 000000000000..1faa8777e42a Binary files /dev/null and b/static/images/emoji/bank.png differ diff --git a/static/images/emoji/bar_chart.png b/static/images/emoji/bar_chart.png new file mode 100644 index 000000000000..09d7301c4d88 Binary files /dev/null and b/static/images/emoji/bar_chart.png differ diff --git a/static/images/emoji/barber.png b/static/images/emoji/barber.png new file mode 100644 index 000000000000..a10cb232286d Binary files /dev/null and b/static/images/emoji/barber.png differ diff --git a/static/images/emoji/baseball.png b/static/images/emoji/baseball.png new file mode 100644 index 000000000000..da004e2ead04 Binary files /dev/null and b/static/images/emoji/baseball.png differ diff --git a/static/images/emoji/basketball.png b/static/images/emoji/basketball.png new file mode 100644 index 000000000000..ef694bec4c92 Binary files /dev/null and b/static/images/emoji/basketball.png differ diff --git a/static/images/emoji/bath.png b/static/images/emoji/bath.png new file mode 100644 index 000000000000..8f75d1d2499e Binary files /dev/null and b/static/images/emoji/bath.png differ diff --git a/static/images/emoji/bathtub.png b/static/images/emoji/bathtub.png new file mode 100644 index 000000000000..1c3f844ab262 Binary files /dev/null and b/static/images/emoji/bathtub.png differ diff --git a/static/images/emoji/battery.png b/static/images/emoji/battery.png new file mode 100644 index 000000000000..aa7eedce4bbc Binary files /dev/null and b/static/images/emoji/battery.png differ diff --git a/static/images/emoji/bear.png b/static/images/emoji/bear.png new file mode 100644 index 000000000000..f5afe920e8e2 Binary files /dev/null and b/static/images/emoji/bear.png differ diff --git a/static/images/emoji/bee.png b/static/images/emoji/bee.png new file mode 100644 index 000000000000..f53733953afa Binary files /dev/null and b/static/images/emoji/bee.png differ diff --git a/static/images/emoji/beer.png b/static/images/emoji/beer.png new file mode 100644 index 000000000000..cd78bed7440f Binary files /dev/null and b/static/images/emoji/beer.png differ diff --git a/static/images/emoji/beers.png b/static/images/emoji/beers.png new file mode 100644 index 000000000000..cc5e4ab5aa96 Binary files /dev/null and b/static/images/emoji/beers.png differ diff --git a/static/images/emoji/beetle.png b/static/images/emoji/beetle.png new file mode 100644 index 000000000000..222577ca7ea5 Binary files /dev/null and b/static/images/emoji/beetle.png differ diff --git a/static/images/emoji/beginner.png b/static/images/emoji/beginner.png new file mode 100644 index 000000000000..1f022d175dac Binary files /dev/null and b/static/images/emoji/beginner.png differ diff --git a/static/images/emoji/bell.png b/static/images/emoji/bell.png new file mode 100644 index 000000000000..69acceb286ef Binary files /dev/null and b/static/images/emoji/bell.png differ diff --git a/static/images/emoji/bento.png b/static/images/emoji/bento.png new file mode 100644 index 000000000000..d6801124a463 Binary files /dev/null and b/static/images/emoji/bento.png differ diff --git a/static/images/emoji/bicyclist.png b/static/images/emoji/bicyclist.png new file mode 100644 index 000000000000..cbbd7c386376 Binary files /dev/null and b/static/images/emoji/bicyclist.png differ diff --git a/static/images/emoji/bike.png b/static/images/emoji/bike.png new file mode 100644 index 000000000000..657386027226 Binary files /dev/null and b/static/images/emoji/bike.png differ diff --git a/static/images/emoji/bikini.png b/static/images/emoji/bikini.png new file mode 100644 index 000000000000..4ff63b40f886 Binary files /dev/null and b/static/images/emoji/bikini.png differ diff --git a/static/images/emoji/bird.png b/static/images/emoji/bird.png new file mode 100644 index 000000000000..e6be8c027866 Binary files /dev/null and b/static/images/emoji/bird.png differ diff --git a/static/images/emoji/birthday.png b/static/images/emoji/birthday.png new file mode 100644 index 000000000000..36e8edcbec4e Binary files /dev/null and b/static/images/emoji/birthday.png differ diff --git a/static/images/emoji/black_circle.png b/static/images/emoji/black_circle.png new file mode 100644 index 000000000000..e46f9df615f9 Binary files /dev/null and b/static/images/emoji/black_circle.png differ diff --git a/static/images/emoji/black_joker.png b/static/images/emoji/black_joker.png new file mode 100644 index 000000000000..4c78f3614d79 Binary files /dev/null and b/static/images/emoji/black_joker.png differ diff --git a/static/images/emoji/black_medium_small_square.png b/static/images/emoji/black_medium_small_square.png new file mode 100644 index 000000000000..25bfe9c4534f Binary files /dev/null and b/static/images/emoji/black_medium_small_square.png differ diff --git a/static/images/emoji/black_medium_square.png b/static/images/emoji/black_medium_square.png new file mode 100644 index 000000000000..204cce12c27a Binary files /dev/null and b/static/images/emoji/black_medium_square.png differ diff --git a/static/images/emoji/black_nib.png b/static/images/emoji/black_nib.png new file mode 100644 index 000000000000..29f6994c11a7 Binary files /dev/null and b/static/images/emoji/black_nib.png differ diff --git a/static/images/emoji/black_small_square.png b/static/images/emoji/black_small_square.png new file mode 100644 index 000000000000..a247751ece7d Binary files /dev/null and b/static/images/emoji/black_small_square.png differ diff --git a/static/images/emoji/black_square.png b/static/images/emoji/black_square.png new file mode 100644 index 000000000000..71da10de81ce Binary files /dev/null and b/static/images/emoji/black_square.png differ diff --git a/static/images/emoji/black_square_button.png b/static/images/emoji/black_square_button.png new file mode 100644 index 000000000000..f2597e95661f Binary files /dev/null and b/static/images/emoji/black_square_button.png differ diff --git a/static/images/emoji/blossom.png b/static/images/emoji/blossom.png new file mode 100644 index 000000000000..55a97353b474 Binary files /dev/null and b/static/images/emoji/blossom.png differ diff --git a/static/images/emoji/blowfish.png b/static/images/emoji/blowfish.png new file mode 100644 index 000000000000..d3ad46585192 Binary files /dev/null and b/static/images/emoji/blowfish.png differ diff --git a/static/images/emoji/blue_book.png b/static/images/emoji/blue_book.png new file mode 100644 index 000000000000..e2b9e8c797ab Binary files /dev/null and b/static/images/emoji/blue_book.png differ diff --git a/static/images/emoji/blue_car.png b/static/images/emoji/blue_car.png new file mode 100644 index 000000000000..978291e087d6 Binary files /dev/null and b/static/images/emoji/blue_car.png differ diff --git a/static/images/emoji/blue_heart.png b/static/images/emoji/blue_heart.png new file mode 100644 index 000000000000..baa29b31bcde Binary files /dev/null and b/static/images/emoji/blue_heart.png differ diff --git a/static/images/emoji/blush.png b/static/images/emoji/blush.png new file mode 100644 index 000000000000..3a95eb61a3af Binary files /dev/null and b/static/images/emoji/blush.png differ diff --git a/static/images/emoji/boar.png b/static/images/emoji/boar.png new file mode 100644 index 000000000000..8196ad4a14b9 Binary files /dev/null and b/static/images/emoji/boar.png differ diff --git a/static/images/emoji/boat.png b/static/images/emoji/boat.png new file mode 100644 index 000000000000..ff656dc62bb7 Binary files /dev/null and b/static/images/emoji/boat.png differ diff --git a/static/images/emoji/bomb.png b/static/images/emoji/bomb.png new file mode 100644 index 000000000000..3289787dcf9d Binary files /dev/null and b/static/images/emoji/bomb.png differ diff --git a/static/images/emoji/book.png b/static/images/emoji/book.png new file mode 100644 index 000000000000..8b698415c3df Binary files /dev/null and b/static/images/emoji/book.png differ diff --git a/static/images/emoji/bookmark.png b/static/images/emoji/bookmark.png new file mode 100644 index 000000000000..6fc4ed90230d Binary files /dev/null and b/static/images/emoji/bookmark.png differ diff --git a/static/images/emoji/bookmark_tabs.png b/static/images/emoji/bookmark_tabs.png new file mode 100644 index 000000000000..83782ff0c600 Binary files /dev/null and b/static/images/emoji/bookmark_tabs.png differ diff --git a/static/images/emoji/books.png b/static/images/emoji/books.png new file mode 100644 index 000000000000..dca06a1ad993 Binary files /dev/null and b/static/images/emoji/books.png differ diff --git a/static/images/emoji/boom.png b/static/images/emoji/boom.png new file mode 100644 index 000000000000..9d5bd0401401 Binary files /dev/null and b/static/images/emoji/boom.png differ diff --git a/static/images/emoji/boot.png b/static/images/emoji/boot.png new file mode 100644 index 000000000000..58d0fdbcd0cf Binary files /dev/null and b/static/images/emoji/boot.png differ diff --git a/static/images/emoji/bouquet.png b/static/images/emoji/bouquet.png new file mode 100644 index 000000000000..ce637832e17e Binary files /dev/null and b/static/images/emoji/bouquet.png differ diff --git a/static/images/emoji/bow.png b/static/images/emoji/bow.png new file mode 100644 index 000000000000..024cb610492b Binary files /dev/null and b/static/images/emoji/bow.png differ diff --git a/static/images/emoji/bowling.png b/static/images/emoji/bowling.png new file mode 100644 index 000000000000..13d8ece2ee54 Binary files /dev/null and b/static/images/emoji/bowling.png differ diff --git a/static/images/emoji/bowtie.png b/static/images/emoji/bowtie.png new file mode 100644 index 000000000000..28ff0c787d53 Binary files /dev/null and b/static/images/emoji/bowtie.png differ diff --git a/static/images/emoji/boy.png b/static/images/emoji/boy.png new file mode 100644 index 000000000000..f79f1f29807f Binary files /dev/null and b/static/images/emoji/boy.png differ diff --git a/static/images/emoji/bread.png b/static/images/emoji/bread.png new file mode 100644 index 000000000000..7e7c63753d3b Binary files /dev/null and b/static/images/emoji/bread.png differ diff --git a/static/images/emoji/bride_with_veil.png b/static/images/emoji/bride_with_veil.png new file mode 100644 index 000000000000..dd0b0cfdad1c Binary files /dev/null and b/static/images/emoji/bride_with_veil.png differ diff --git a/static/images/emoji/bridge_at_night.png b/static/images/emoji/bridge_at_night.png new file mode 100644 index 000000000000..495b06c3dfe7 Binary files /dev/null and b/static/images/emoji/bridge_at_night.png differ diff --git a/static/images/emoji/briefcase.png b/static/images/emoji/briefcase.png new file mode 100644 index 000000000000..46e82b0010c7 Binary files /dev/null and b/static/images/emoji/briefcase.png differ diff --git a/static/images/emoji/broken_heart.png b/static/images/emoji/broken_heart.png new file mode 100644 index 000000000000..a1bc850ecb4c Binary files /dev/null and b/static/images/emoji/broken_heart.png differ diff --git a/static/images/emoji/bug.png b/static/images/emoji/bug.png new file mode 100644 index 000000000000..c2eaf7a708d8 Binary files /dev/null and b/static/images/emoji/bug.png differ diff --git a/static/images/emoji/bulb.png b/static/images/emoji/bulb.png new file mode 100644 index 000000000000..23afca1c73f0 Binary files /dev/null and b/static/images/emoji/bulb.png differ diff --git a/static/images/emoji/bullettrain_front.png b/static/images/emoji/bullettrain_front.png new file mode 100644 index 000000000000..16651acff8eb Binary files /dev/null and b/static/images/emoji/bullettrain_front.png differ diff --git a/static/images/emoji/bullettrain_side.png b/static/images/emoji/bullettrain_side.png new file mode 100644 index 000000000000..8eca368458a3 Binary files /dev/null and b/static/images/emoji/bullettrain_side.png differ diff --git a/static/images/emoji/bus.png b/static/images/emoji/bus.png new file mode 100644 index 000000000000..823aa39e49d2 Binary files /dev/null and b/static/images/emoji/bus.png differ diff --git a/static/images/emoji/busstop.png b/static/images/emoji/busstop.png new file mode 100644 index 000000000000..94894847b543 Binary files /dev/null and b/static/images/emoji/busstop.png differ diff --git a/static/images/emoji/bust_in_silhouette.png b/static/images/emoji/bust_in_silhouette.png new file mode 100644 index 000000000000..dd7defe28655 Binary files /dev/null and b/static/images/emoji/bust_in_silhouette.png differ diff --git a/static/images/emoji/busts_in_silhouette.png b/static/images/emoji/busts_in_silhouette.png new file mode 100644 index 000000000000..1f3aabcff60a Binary files /dev/null and b/static/images/emoji/busts_in_silhouette.png differ diff --git a/static/images/emoji/cactus.png b/static/images/emoji/cactus.png new file mode 100644 index 000000000000..5a2c3cc725e3 Binary files /dev/null and b/static/images/emoji/cactus.png differ diff --git a/static/images/emoji/cake.png b/static/images/emoji/cake.png new file mode 100644 index 000000000000..efeb9b4b2145 Binary files /dev/null and b/static/images/emoji/cake.png differ diff --git a/static/images/emoji/calendar.png b/static/images/emoji/calendar.png new file mode 100644 index 000000000000..900b868bb943 Binary files /dev/null and b/static/images/emoji/calendar.png differ diff --git a/static/images/emoji/calling.png b/static/images/emoji/calling.png new file mode 100644 index 000000000000..837897f261b2 Binary files /dev/null and b/static/images/emoji/calling.png differ diff --git a/static/images/emoji/camel.png b/static/images/emoji/camel.png new file mode 100644 index 000000000000..496c186ae6ce Binary files /dev/null and b/static/images/emoji/camel.png differ diff --git a/static/images/emoji/camera.png b/static/images/emoji/camera.png new file mode 100644 index 000000000000..397d03b39351 Binary files /dev/null and b/static/images/emoji/camera.png differ diff --git a/static/images/emoji/cancer.png b/static/images/emoji/cancer.png new file mode 100644 index 000000000000..ea43a4a2a048 Binary files /dev/null and b/static/images/emoji/cancer.png differ diff --git a/static/images/emoji/candy.png b/static/images/emoji/candy.png new file mode 100644 index 000000000000..33722f236e96 Binary files /dev/null and b/static/images/emoji/candy.png differ diff --git a/static/images/emoji/capital_abcd.png b/static/images/emoji/capital_abcd.png new file mode 100644 index 000000000000..ffc0cba4b436 Binary files /dev/null and b/static/images/emoji/capital_abcd.png differ diff --git a/static/images/emoji/capricorn.png b/static/images/emoji/capricorn.png new file mode 100644 index 000000000000..f2044e78935a Binary files /dev/null and b/static/images/emoji/capricorn.png differ diff --git a/static/images/emoji/car.png b/static/images/emoji/car.png new file mode 100644 index 000000000000..d70a2f06263f Binary files /dev/null and b/static/images/emoji/car.png differ diff --git a/static/images/emoji/card_index.png b/static/images/emoji/card_index.png new file mode 100644 index 000000000000..374e94e9e846 Binary files /dev/null and b/static/images/emoji/card_index.png differ diff --git a/static/images/emoji/carousel_horse.png b/static/images/emoji/carousel_horse.png new file mode 100644 index 000000000000..765d2c0a8bd2 Binary files /dev/null and b/static/images/emoji/carousel_horse.png differ diff --git a/static/images/emoji/cat.png b/static/images/emoji/cat.png new file mode 100644 index 000000000000..09b9ef79a7d1 Binary files /dev/null and b/static/images/emoji/cat.png differ diff --git a/static/images/emoji/cat2.png b/static/images/emoji/cat2.png new file mode 100644 index 000000000000..6dbc4c71e4b3 Binary files /dev/null and b/static/images/emoji/cat2.png differ diff --git a/static/images/emoji/cd.png b/static/images/emoji/cd.png new file mode 100644 index 000000000000..baff835c4894 Binary files /dev/null and b/static/images/emoji/cd.png differ diff --git a/static/images/emoji/chart.png b/static/images/emoji/chart.png new file mode 100644 index 000000000000..ac2c4bb093e3 Binary files /dev/null and b/static/images/emoji/chart.png differ diff --git a/static/images/emoji/chart_with_downwards_trend.png b/static/images/emoji/chart_with_downwards_trend.png new file mode 100644 index 000000000000..cb0d2a113c70 Binary files /dev/null and b/static/images/emoji/chart_with_downwards_trend.png differ diff --git a/static/images/emoji/chart_with_upwards_trend.png b/static/images/emoji/chart_with_upwards_trend.png new file mode 100644 index 000000000000..7c66745c9875 Binary files /dev/null and b/static/images/emoji/chart_with_upwards_trend.png differ diff --git a/static/images/emoji/checkered_flag.png b/static/images/emoji/checkered_flag.png new file mode 100644 index 000000000000..ead4a68dd37d Binary files /dev/null and b/static/images/emoji/checkered_flag.png differ diff --git a/static/images/emoji/cherries.png b/static/images/emoji/cherries.png new file mode 100644 index 000000000000..8d3e044f2f57 Binary files /dev/null and b/static/images/emoji/cherries.png differ diff --git a/static/images/emoji/cherry_blossom.png b/static/images/emoji/cherry_blossom.png new file mode 100644 index 000000000000..e03155499902 Binary files /dev/null and b/static/images/emoji/cherry_blossom.png differ diff --git a/static/images/emoji/chestnut.png b/static/images/emoji/chestnut.png new file mode 100644 index 000000000000..066fb6bf6df4 Binary files /dev/null and b/static/images/emoji/chestnut.png differ diff --git a/static/images/emoji/chicken.png b/static/images/emoji/chicken.png new file mode 100644 index 000000000000..6d25c0ef4ad5 Binary files /dev/null and b/static/images/emoji/chicken.png differ diff --git a/static/images/emoji/children_crossing.png b/static/images/emoji/children_crossing.png new file mode 100644 index 000000000000..b0302ae62586 Binary files /dev/null and b/static/images/emoji/children_crossing.png differ diff --git a/static/images/emoji/chocolate_bar.png b/static/images/emoji/chocolate_bar.png new file mode 100644 index 000000000000..c7ec19d07965 Binary files /dev/null and b/static/images/emoji/chocolate_bar.png differ diff --git a/static/images/emoji/christmas_tree.png b/static/images/emoji/christmas_tree.png new file mode 100644 index 000000000000..d813b9593dc1 Binary files /dev/null and b/static/images/emoji/christmas_tree.png differ diff --git a/static/images/emoji/church.png b/static/images/emoji/church.png new file mode 100644 index 000000000000..4c07c6b9ea5b Binary files /dev/null and b/static/images/emoji/church.png differ diff --git a/static/images/emoji/cinema.png b/static/images/emoji/cinema.png new file mode 100644 index 000000000000..a990ccf99c25 Binary files /dev/null and b/static/images/emoji/cinema.png differ diff --git a/static/images/emoji/circus_tent.png b/static/images/emoji/circus_tent.png new file mode 100644 index 000000000000..4af8719aa031 Binary files /dev/null and b/static/images/emoji/circus_tent.png differ diff --git a/static/images/emoji/city_sunrise.png b/static/images/emoji/city_sunrise.png new file mode 100644 index 000000000000..91ca2a40b69f Binary files /dev/null and b/static/images/emoji/city_sunrise.png differ diff --git a/static/images/emoji/city_sunset.png b/static/images/emoji/city_sunset.png new file mode 100644 index 000000000000..7cb178a2cc66 Binary files /dev/null and b/static/images/emoji/city_sunset.png differ diff --git a/static/images/emoji/cl.png b/static/images/emoji/cl.png new file mode 100644 index 000000000000..15ac67525aad Binary files /dev/null and b/static/images/emoji/cl.png differ diff --git a/static/images/emoji/clap.png b/static/images/emoji/clap.png new file mode 100644 index 000000000000..d01c982a75ac Binary files /dev/null and b/static/images/emoji/clap.png differ diff --git a/static/images/emoji/clapper.png b/static/images/emoji/clapper.png new file mode 100644 index 000000000000..4e1dc111d760 Binary files /dev/null and b/static/images/emoji/clapper.png differ diff --git a/static/images/emoji/clipboard.png b/static/images/emoji/clipboard.png new file mode 100644 index 000000000000..e2c74e6df823 Binary files /dev/null and b/static/images/emoji/clipboard.png differ diff --git a/static/images/emoji/clock1.png b/static/images/emoji/clock1.png new file mode 100644 index 000000000000..9174d4e0bc02 Binary files /dev/null and b/static/images/emoji/clock1.png differ diff --git a/static/images/emoji/clock10.png b/static/images/emoji/clock10.png new file mode 100644 index 000000000000..39f590d69458 Binary files /dev/null and b/static/images/emoji/clock10.png differ diff --git a/static/images/emoji/clock1030.png b/static/images/emoji/clock1030.png new file mode 100644 index 000000000000..0483b3059461 Binary files /dev/null and b/static/images/emoji/clock1030.png differ diff --git a/static/images/emoji/clock11.png b/static/images/emoji/clock11.png new file mode 100644 index 000000000000..ddb53fadad64 Binary files /dev/null and b/static/images/emoji/clock11.png differ diff --git a/static/images/emoji/clock1130.png b/static/images/emoji/clock1130.png new file mode 100644 index 000000000000..415999ec838c Binary files /dev/null and b/static/images/emoji/clock1130.png differ diff --git a/static/images/emoji/clock12.png b/static/images/emoji/clock12.png new file mode 100644 index 000000000000..87b132878b70 Binary files /dev/null and b/static/images/emoji/clock12.png differ diff --git a/static/images/emoji/clock1230.png b/static/images/emoji/clock1230.png new file mode 100644 index 000000000000..a6527154d1f4 Binary files /dev/null and b/static/images/emoji/clock1230.png differ diff --git a/static/images/emoji/clock130.png b/static/images/emoji/clock130.png new file mode 100644 index 000000000000..90ea5b91449c Binary files /dev/null and b/static/images/emoji/clock130.png differ diff --git a/static/images/emoji/clock2.png b/static/images/emoji/clock2.png new file mode 100644 index 000000000000..65b3b3af0e1a Binary files /dev/null and b/static/images/emoji/clock2.png differ diff --git a/static/images/emoji/clock230.png b/static/images/emoji/clock230.png new file mode 100644 index 000000000000..f12c6912af7f Binary files /dev/null and b/static/images/emoji/clock230.png differ diff --git a/static/images/emoji/clock3.png b/static/images/emoji/clock3.png new file mode 100644 index 000000000000..3e44d64e2fb5 Binary files /dev/null and b/static/images/emoji/clock3.png differ diff --git a/static/images/emoji/clock330.png b/static/images/emoji/clock330.png new file mode 100644 index 000000000000..1dc9628ea242 Binary files /dev/null and b/static/images/emoji/clock330.png differ diff --git a/static/images/emoji/clock4.png b/static/images/emoji/clock4.png new file mode 100644 index 000000000000..948ed1a380cc Binary files /dev/null and b/static/images/emoji/clock4.png differ diff --git a/static/images/emoji/clock430.png b/static/images/emoji/clock430.png new file mode 100644 index 000000000000..5d6b16a2d9c6 Binary files /dev/null and b/static/images/emoji/clock430.png differ diff --git a/static/images/emoji/clock5.png b/static/images/emoji/clock5.png new file mode 100644 index 000000000000..b010b4f8aaf6 Binary files /dev/null and b/static/images/emoji/clock5.png differ diff --git a/static/images/emoji/clock530.png b/static/images/emoji/clock530.png new file mode 100644 index 000000000000..e08d4ad2bac1 Binary files /dev/null and b/static/images/emoji/clock530.png differ diff --git a/static/images/emoji/clock6.png b/static/images/emoji/clock6.png new file mode 100644 index 000000000000..76bf8cf1854b Binary files /dev/null and b/static/images/emoji/clock6.png differ diff --git a/static/images/emoji/clock630.png b/static/images/emoji/clock630.png new file mode 100644 index 000000000000..46f0681f1c48 Binary files /dev/null and b/static/images/emoji/clock630.png differ diff --git a/static/images/emoji/clock7.png b/static/images/emoji/clock7.png new file mode 100644 index 000000000000..d48f645d8350 Binary files /dev/null and b/static/images/emoji/clock7.png differ diff --git a/static/images/emoji/clock730.png b/static/images/emoji/clock730.png new file mode 100644 index 000000000000..f2807de2f27b Binary files /dev/null and b/static/images/emoji/clock730.png differ diff --git a/static/images/emoji/clock8.png b/static/images/emoji/clock8.png new file mode 100644 index 000000000000..74c770d891c5 Binary files /dev/null and b/static/images/emoji/clock8.png differ diff --git a/static/images/emoji/clock830.png b/static/images/emoji/clock830.png new file mode 100644 index 000000000000..f58f3dadda0f Binary files /dev/null and b/static/images/emoji/clock830.png differ diff --git a/static/images/emoji/clock9.png b/static/images/emoji/clock9.png new file mode 100644 index 000000000000..f009d14ac114 Binary files /dev/null and b/static/images/emoji/clock9.png differ diff --git a/static/images/emoji/clock930.png b/static/images/emoji/clock930.png new file mode 100644 index 000000000000..fd35221428f9 Binary files /dev/null and b/static/images/emoji/clock930.png differ diff --git a/static/images/emoji/closed_book.png b/static/images/emoji/closed_book.png new file mode 100644 index 000000000000..484029c5ebcf Binary files /dev/null and b/static/images/emoji/closed_book.png differ diff --git a/static/images/emoji/closed_lock_with_key.png b/static/images/emoji/closed_lock_with_key.png new file mode 100644 index 000000000000..e6fdf6cb2040 Binary files /dev/null and b/static/images/emoji/closed_lock_with_key.png differ diff --git a/static/images/emoji/closed_umbrella.png b/static/images/emoji/closed_umbrella.png new file mode 100644 index 000000000000..0b719f086b15 Binary files /dev/null and b/static/images/emoji/closed_umbrella.png differ diff --git a/static/images/emoji/cloud.png b/static/images/emoji/cloud.png new file mode 100644 index 000000000000..b31c08c0b883 Binary files /dev/null and b/static/images/emoji/cloud.png differ diff --git a/static/images/emoji/clubs.png b/static/images/emoji/clubs.png new file mode 100644 index 000000000000..bfab5365695d Binary files /dev/null and b/static/images/emoji/clubs.png differ diff --git a/static/images/emoji/cn.png b/static/images/emoji/cn.png new file mode 100644 index 000000000000..b30dcc53df9f Binary files /dev/null and b/static/images/emoji/cn.png differ diff --git a/static/images/emoji/cocktail.png b/static/images/emoji/cocktail.png new file mode 100644 index 000000000000..28b45ea51455 Binary files /dev/null and b/static/images/emoji/cocktail.png differ diff --git a/static/images/emoji/coffee.png b/static/images/emoji/coffee.png new file mode 100644 index 000000000000..57e1adcb04ac Binary files /dev/null and b/static/images/emoji/coffee.png differ diff --git a/static/images/emoji/cold_sweat.png b/static/images/emoji/cold_sweat.png new file mode 100644 index 000000000000..b9e39bc60fb0 Binary files /dev/null and b/static/images/emoji/cold_sweat.png differ diff --git a/static/images/emoji/collision.png b/static/images/emoji/collision.png new file mode 100644 index 000000000000..9d5bd0401401 Binary files /dev/null and b/static/images/emoji/collision.png differ diff --git a/static/images/emoji/computer.png b/static/images/emoji/computer.png new file mode 100644 index 000000000000..d4d2687627e0 Binary files /dev/null and b/static/images/emoji/computer.png differ diff --git a/static/images/emoji/confetti_ball.png b/static/images/emoji/confetti_ball.png new file mode 100644 index 000000000000..bd293e3d8746 Binary files /dev/null and b/static/images/emoji/confetti_ball.png differ diff --git a/static/images/emoji/confounded.png b/static/images/emoji/confounded.png new file mode 100644 index 000000000000..762c3766abc2 Binary files /dev/null and b/static/images/emoji/confounded.png differ diff --git a/static/images/emoji/confused.png b/static/images/emoji/confused.png new file mode 100644 index 000000000000..8dc494db0833 Binary files /dev/null and b/static/images/emoji/confused.png differ diff --git a/static/images/emoji/congratulations.png b/static/images/emoji/congratulations.png new file mode 100644 index 000000000000..85814e33c3c8 Binary files /dev/null and b/static/images/emoji/congratulations.png differ diff --git a/static/images/emoji/construction.png b/static/images/emoji/construction.png new file mode 100644 index 000000000000..523e9f10bf6c Binary files /dev/null and b/static/images/emoji/construction.png differ diff --git a/static/images/emoji/construction_worker.png b/static/images/emoji/construction_worker.png new file mode 100644 index 000000000000..4d6486047864 Binary files /dev/null and b/static/images/emoji/construction_worker.png differ diff --git a/static/images/emoji/convenience_store.png b/static/images/emoji/convenience_store.png new file mode 100644 index 000000000000..671696c2dfdb Binary files /dev/null and b/static/images/emoji/convenience_store.png differ diff --git a/static/images/emoji/cookie.png b/static/images/emoji/cookie.png new file mode 100644 index 000000000000..653edb258c62 Binary files /dev/null and b/static/images/emoji/cookie.png differ diff --git a/static/images/emoji/cool.png b/static/images/emoji/cool.png new file mode 100644 index 000000000000..937dcd792105 Binary files /dev/null and b/static/images/emoji/cool.png differ diff --git a/static/images/emoji/cop.png b/static/images/emoji/cop.png new file mode 100644 index 000000000000..43a5a84f8214 Binary files /dev/null and b/static/images/emoji/cop.png differ diff --git a/static/images/emoji/copyright.png b/static/images/emoji/copyright.png new file mode 100644 index 000000000000..38493c33fcaf Binary files /dev/null and b/static/images/emoji/copyright.png differ diff --git a/static/images/emoji/corn.png b/static/images/emoji/corn.png new file mode 100644 index 000000000000..fe5d8b1287e2 Binary files /dev/null and b/static/images/emoji/corn.png differ diff --git a/static/images/emoji/couple.png b/static/images/emoji/couple.png new file mode 100644 index 000000000000..9e51f40e16ec Binary files /dev/null and b/static/images/emoji/couple.png differ diff --git a/static/images/emoji/couple_with_heart.png b/static/images/emoji/couple_with_heart.png new file mode 100644 index 000000000000..c503f40a931a Binary files /dev/null and b/static/images/emoji/couple_with_heart.png differ diff --git a/static/images/emoji/couplekiss.png b/static/images/emoji/couplekiss.png new file mode 100644 index 000000000000..d02790822ea0 Binary files /dev/null and b/static/images/emoji/couplekiss.png differ diff --git a/static/images/emoji/cow.png b/static/images/emoji/cow.png new file mode 100644 index 000000000000..12e1ab6c0bd8 Binary files /dev/null and b/static/images/emoji/cow.png differ diff --git a/static/images/emoji/cow2.png b/static/images/emoji/cow2.png new file mode 100644 index 000000000000..594c92155bc5 Binary files /dev/null and b/static/images/emoji/cow2.png differ diff --git a/static/images/emoji/credit_card.png b/static/images/emoji/credit_card.png new file mode 100644 index 000000000000..be1c1dd30631 Binary files /dev/null and b/static/images/emoji/credit_card.png differ diff --git a/static/images/emoji/crescent_moon.png b/static/images/emoji/crescent_moon.png new file mode 100644 index 000000000000..afdb450d1dff Binary files /dev/null and b/static/images/emoji/crescent_moon.png differ diff --git a/static/images/emoji/crocodile.png b/static/images/emoji/crocodile.png new file mode 100644 index 000000000000..7435d5ab3c48 Binary files /dev/null and b/static/images/emoji/crocodile.png differ diff --git a/static/images/emoji/crossed_flags.png b/static/images/emoji/crossed_flags.png new file mode 100644 index 000000000000..2397bcd0fc98 Binary files /dev/null and b/static/images/emoji/crossed_flags.png differ diff --git a/static/images/emoji/crown.png b/static/images/emoji/crown.png new file mode 100644 index 000000000000..39da1d52873e Binary files /dev/null and b/static/images/emoji/crown.png differ diff --git a/static/images/emoji/cry.png b/static/images/emoji/cry.png new file mode 100644 index 000000000000..6d0d9afd284b Binary files /dev/null and b/static/images/emoji/cry.png differ diff --git a/static/images/emoji/crying_cat_face.png b/static/images/emoji/crying_cat_face.png new file mode 100644 index 000000000000..42d4c27cabfa Binary files /dev/null and b/static/images/emoji/crying_cat_face.png differ diff --git a/static/images/emoji/crystal_ball.png b/static/images/emoji/crystal_ball.png new file mode 100644 index 000000000000..6d2c6c42d448 Binary files /dev/null and b/static/images/emoji/crystal_ball.png differ diff --git a/static/images/emoji/cupid.png b/static/images/emoji/cupid.png new file mode 100644 index 000000000000..4987284767c6 Binary files /dev/null and b/static/images/emoji/cupid.png differ diff --git a/static/images/emoji/curly_loop.png b/static/images/emoji/curly_loop.png new file mode 100644 index 000000000000..7dd841d006af Binary files /dev/null and b/static/images/emoji/curly_loop.png differ diff --git a/static/images/emoji/currency_exchange.png b/static/images/emoji/currency_exchange.png new file mode 100644 index 000000000000..6ebebe70afb0 Binary files /dev/null and b/static/images/emoji/currency_exchange.png differ diff --git a/static/images/emoji/curry.png b/static/images/emoji/curry.png new file mode 100644 index 000000000000..7983c706a40e Binary files /dev/null and b/static/images/emoji/curry.png differ diff --git a/static/images/emoji/custard.png b/static/images/emoji/custard.png new file mode 100644 index 000000000000..9f843b4c1301 Binary files /dev/null and b/static/images/emoji/custard.png differ diff --git a/static/images/emoji/customs.png b/static/images/emoji/customs.png new file mode 100644 index 000000000000..92691e3117c6 Binary files /dev/null and b/static/images/emoji/customs.png differ diff --git a/static/images/emoji/cyclone.png b/static/images/emoji/cyclone.png new file mode 100644 index 000000000000..5fd2e4512f91 Binary files /dev/null and b/static/images/emoji/cyclone.png differ diff --git a/static/images/emoji/dancer.png b/static/images/emoji/dancer.png new file mode 100644 index 000000000000..7a7bf59f1799 Binary files /dev/null and b/static/images/emoji/dancer.png differ diff --git a/static/images/emoji/dancers.png b/static/images/emoji/dancers.png new file mode 100644 index 000000000000..2dfb451a73a1 Binary files /dev/null and b/static/images/emoji/dancers.png differ diff --git a/static/images/emoji/dango.png b/static/images/emoji/dango.png new file mode 100644 index 000000000000..2d042aebeb58 Binary files /dev/null and b/static/images/emoji/dango.png differ diff --git a/static/images/emoji/dart.png b/static/images/emoji/dart.png new file mode 100644 index 000000000000..5f16864cbedf Binary files /dev/null and b/static/images/emoji/dart.png differ diff --git a/static/images/emoji/dash.png b/static/images/emoji/dash.png new file mode 100644 index 000000000000..dc2c0a8f4684 Binary files /dev/null and b/static/images/emoji/dash.png differ diff --git a/static/images/emoji/date.png b/static/images/emoji/date.png new file mode 100644 index 000000000000..6ad2efa5fdcc Binary files /dev/null and b/static/images/emoji/date.png differ diff --git a/static/images/emoji/de.png b/static/images/emoji/de.png new file mode 100644 index 000000000000..16a28548c9e5 Binary files /dev/null and b/static/images/emoji/de.png differ diff --git a/static/images/emoji/deciduous_tree.png b/static/images/emoji/deciduous_tree.png new file mode 100644 index 000000000000..3fdf8c00707e Binary files /dev/null and b/static/images/emoji/deciduous_tree.png differ diff --git a/static/images/emoji/department_store.png b/static/images/emoji/department_store.png new file mode 100644 index 000000000000..68d959c507de Binary files /dev/null and b/static/images/emoji/department_store.png differ diff --git a/static/images/emoji/diamond_shape_with_a_dot_inside.png b/static/images/emoji/diamond_shape_with_a_dot_inside.png new file mode 100644 index 000000000000..dfd1098b3940 Binary files /dev/null and b/static/images/emoji/diamond_shape_with_a_dot_inside.png differ diff --git a/static/images/emoji/diamonds.png b/static/images/emoji/diamonds.png new file mode 100644 index 000000000000..fe0827758b1b Binary files /dev/null and b/static/images/emoji/diamonds.png differ diff --git a/static/images/emoji/disappointed.png b/static/images/emoji/disappointed.png new file mode 100644 index 000000000000..82552008719d Binary files /dev/null and b/static/images/emoji/disappointed.png differ diff --git a/static/images/emoji/disappointed_relieved.png b/static/images/emoji/disappointed_relieved.png new file mode 100644 index 000000000000..fa5f9e7f9f94 Binary files /dev/null and b/static/images/emoji/disappointed_relieved.png differ diff --git a/static/images/emoji/dizzy.png b/static/images/emoji/dizzy.png new file mode 100644 index 000000000000..3702b6131c0f Binary files /dev/null and b/static/images/emoji/dizzy.png differ diff --git a/static/images/emoji/dizzy_face.png b/static/images/emoji/dizzy_face.png new file mode 100644 index 000000000000..8001d6ff8f0b Binary files /dev/null and b/static/images/emoji/dizzy_face.png differ diff --git a/static/images/emoji/do_not_litter.png b/static/images/emoji/do_not_litter.png new file mode 100644 index 000000000000..38c7ae7af239 Binary files /dev/null and b/static/images/emoji/do_not_litter.png differ diff --git a/static/images/emoji/dog.png b/static/images/emoji/dog.png new file mode 100644 index 000000000000..389a02bf2826 Binary files /dev/null and b/static/images/emoji/dog.png differ diff --git a/static/images/emoji/dog2.png b/static/images/emoji/dog2.png new file mode 100644 index 000000000000..c7f6a24ac80b Binary files /dev/null and b/static/images/emoji/dog2.png differ diff --git a/static/images/emoji/dollar.png b/static/images/emoji/dollar.png new file mode 100644 index 000000000000..63de88495196 Binary files /dev/null and b/static/images/emoji/dollar.png differ diff --git a/static/images/emoji/dolls.png b/static/images/emoji/dolls.png new file mode 100644 index 000000000000..47ce33900ca5 Binary files /dev/null and b/static/images/emoji/dolls.png differ diff --git a/static/images/emoji/dolphin.png b/static/images/emoji/dolphin.png new file mode 100644 index 000000000000..9326077a927c Binary files /dev/null and b/static/images/emoji/dolphin.png differ diff --git a/static/images/emoji/donut.png b/static/images/emoji/donut.png new file mode 100644 index 000000000000..ccf869129602 Binary files /dev/null and b/static/images/emoji/donut.png differ diff --git a/static/images/emoji/door.png b/static/images/emoji/door.png new file mode 100644 index 000000000000..83c819ae4669 Binary files /dev/null and b/static/images/emoji/door.png differ diff --git a/static/images/emoji/doughnut.png b/static/images/emoji/doughnut.png new file mode 100644 index 000000000000..ccf869129602 Binary files /dev/null and b/static/images/emoji/doughnut.png differ diff --git a/static/images/emoji/dragon.png b/static/images/emoji/dragon.png new file mode 100644 index 000000000000..88d4784b8bb9 Binary files /dev/null and b/static/images/emoji/dragon.png differ diff --git a/static/images/emoji/dragon_face.png b/static/images/emoji/dragon_face.png new file mode 100644 index 000000000000..e5e556bd105c Binary files /dev/null and b/static/images/emoji/dragon_face.png differ diff --git a/static/images/emoji/dress.png b/static/images/emoji/dress.png new file mode 100644 index 000000000000..6434e2e2f398 Binary files /dev/null and b/static/images/emoji/dress.png differ diff --git a/static/images/emoji/dromedary_camel.png b/static/images/emoji/dromedary_camel.png new file mode 100644 index 000000000000..c8c7b9ffa0fa Binary files /dev/null and b/static/images/emoji/dromedary_camel.png differ diff --git a/static/images/emoji/droplet.png b/static/images/emoji/droplet.png new file mode 100644 index 000000000000..cae7f4951ad1 Binary files /dev/null and b/static/images/emoji/droplet.png differ diff --git a/static/images/emoji/dvd.png b/static/images/emoji/dvd.png new file mode 100644 index 000000000000..363c83d01c52 Binary files /dev/null and b/static/images/emoji/dvd.png differ diff --git a/static/images/emoji/e-mail.png b/static/images/emoji/e-mail.png new file mode 100644 index 000000000000..176a8e1e825a Binary files /dev/null and b/static/images/emoji/e-mail.png differ diff --git a/static/images/emoji/ear.png b/static/images/emoji/ear.png new file mode 100644 index 000000000000..2bbbf10c9ef4 Binary files /dev/null and b/static/images/emoji/ear.png differ diff --git a/static/images/emoji/ear_of_rice.png b/static/images/emoji/ear_of_rice.png new file mode 100644 index 000000000000..a9bba5c2c146 Binary files /dev/null and b/static/images/emoji/ear_of_rice.png differ diff --git a/static/images/emoji/earth_africa.png b/static/images/emoji/earth_africa.png new file mode 100644 index 000000000000..44ce5ecb621c Binary files /dev/null and b/static/images/emoji/earth_africa.png differ diff --git a/static/images/emoji/earth_americas.png b/static/images/emoji/earth_americas.png new file mode 100644 index 000000000000..97d717671369 Binary files /dev/null and b/static/images/emoji/earth_americas.png differ diff --git a/static/images/emoji/earth_asia.png b/static/images/emoji/earth_asia.png new file mode 100644 index 000000000000..95ec357ca87f Binary files /dev/null and b/static/images/emoji/earth_asia.png differ diff --git a/static/images/emoji/egg.png b/static/images/emoji/egg.png new file mode 100644 index 000000000000..c3de6ae4ea0d Binary files /dev/null and b/static/images/emoji/egg.png differ diff --git a/static/images/emoji/eggplant.png b/static/images/emoji/eggplant.png new file mode 100644 index 000000000000..66f25fce447f Binary files /dev/null and b/static/images/emoji/eggplant.png differ diff --git a/static/images/emoji/eight.png b/static/images/emoji/eight.png new file mode 100644 index 000000000000..7bdb422327c4 Binary files /dev/null and b/static/images/emoji/eight.png differ diff --git a/static/images/emoji/eight_pointed_black_star.png b/static/images/emoji/eight_pointed_black_star.png new file mode 100644 index 000000000000..2420a7768e33 Binary files /dev/null and b/static/images/emoji/eight_pointed_black_star.png differ diff --git a/static/images/emoji/eight_spoked_asterisk.png b/static/images/emoji/eight_spoked_asterisk.png new file mode 100644 index 000000000000..946a20333a2a Binary files /dev/null and b/static/images/emoji/eight_spoked_asterisk.png differ diff --git a/static/images/emoji/electric_plug.png b/static/images/emoji/electric_plug.png new file mode 100644 index 000000000000..2837bab4f00d Binary files /dev/null and b/static/images/emoji/electric_plug.png differ diff --git a/static/images/emoji/elephant.png b/static/images/emoji/elephant.png new file mode 100644 index 000000000000..5ca04570e242 Binary files /dev/null and b/static/images/emoji/elephant.png differ diff --git a/static/images/emoji/email.png b/static/images/emoji/email.png new file mode 100644 index 000000000000..0e01fd5f0522 Binary files /dev/null and b/static/images/emoji/email.png differ diff --git a/static/images/emoji/end.png b/static/images/emoji/end.png new file mode 100644 index 000000000000..61a4399ad83c Binary files /dev/null and b/static/images/emoji/end.png differ diff --git a/static/images/emoji/envelope.png b/static/images/emoji/envelope.png new file mode 100644 index 000000000000..3631861bbfdc Binary files /dev/null and b/static/images/emoji/envelope.png differ diff --git a/static/images/emoji/es.png b/static/images/emoji/es.png new file mode 100644 index 000000000000..71b30bff352e Binary files /dev/null and b/static/images/emoji/es.png differ diff --git a/static/images/emoji/euro.png b/static/images/emoji/euro.png new file mode 100644 index 000000000000..1c5904b71443 Binary files /dev/null and b/static/images/emoji/euro.png differ diff --git a/static/images/emoji/european_castle.png b/static/images/emoji/european_castle.png new file mode 100644 index 000000000000..8229b8a8a942 Binary files /dev/null and b/static/images/emoji/european_castle.png differ diff --git a/static/images/emoji/european_post_office.png b/static/images/emoji/european_post_office.png new file mode 100644 index 000000000000..0f65b1453056 Binary files /dev/null and b/static/images/emoji/european_post_office.png differ diff --git a/static/images/emoji/evergreen_tree.png b/static/images/emoji/evergreen_tree.png new file mode 100644 index 000000000000..ae8ad1037638 Binary files /dev/null and b/static/images/emoji/evergreen_tree.png differ diff --git a/static/images/emoji/exclamation.png b/static/images/emoji/exclamation.png new file mode 100644 index 000000000000..77bbdeabcf49 Binary files /dev/null and b/static/images/emoji/exclamation.png differ diff --git a/static/images/emoji/expressionless.png b/static/images/emoji/expressionless.png new file mode 100644 index 000000000000..913ff4e2fa70 Binary files /dev/null and b/static/images/emoji/expressionless.png differ diff --git a/static/images/emoji/eyeglasses.png b/static/images/emoji/eyeglasses.png new file mode 100644 index 000000000000..a3cf75a27a1c Binary files /dev/null and b/static/images/emoji/eyeglasses.png differ diff --git a/static/images/emoji/eyes.png b/static/images/emoji/eyes.png new file mode 100644 index 000000000000..1ac24a615b28 Binary files /dev/null and b/static/images/emoji/eyes.png differ diff --git a/static/images/emoji/facepunch.png b/static/images/emoji/facepunch.png new file mode 100644 index 000000000000..277047b7c460 Binary files /dev/null and b/static/images/emoji/facepunch.png differ diff --git a/static/images/emoji/factory.png b/static/images/emoji/factory.png new file mode 100644 index 000000000000..6404634793e2 Binary files /dev/null and b/static/images/emoji/factory.png differ diff --git a/static/images/emoji/fallen_leaf.png b/static/images/emoji/fallen_leaf.png new file mode 100644 index 000000000000..d49f9c1757d3 Binary files /dev/null and b/static/images/emoji/fallen_leaf.png differ diff --git a/static/images/emoji/family.png b/static/images/emoji/family.png new file mode 100644 index 000000000000..b4b365f3a5c0 Binary files /dev/null and b/static/images/emoji/family.png differ diff --git a/static/images/emoji/fast_forward.png b/static/images/emoji/fast_forward.png new file mode 100644 index 000000000000..8830e146e598 Binary files /dev/null and b/static/images/emoji/fast_forward.png differ diff --git a/static/images/emoji/fax.png b/static/images/emoji/fax.png new file mode 100644 index 000000000000..62be2c958f41 Binary files /dev/null and b/static/images/emoji/fax.png differ diff --git a/static/images/emoji/fearful.png b/static/images/emoji/fearful.png new file mode 100644 index 000000000000..513fce47b685 Binary files /dev/null and b/static/images/emoji/fearful.png differ diff --git a/static/images/emoji/feelsgood.png b/static/images/emoji/feelsgood.png new file mode 100644 index 000000000000..361f969bc1b5 Binary files /dev/null and b/static/images/emoji/feelsgood.png differ diff --git a/static/images/emoji/feet.png b/static/images/emoji/feet.png new file mode 100644 index 000000000000..1b0147b1d234 Binary files /dev/null and b/static/images/emoji/feet.png differ diff --git a/static/images/emoji/ferris_wheel.png b/static/images/emoji/ferris_wheel.png new file mode 100644 index 000000000000..54a1dcfa1ef4 Binary files /dev/null and b/static/images/emoji/ferris_wheel.png differ diff --git a/static/images/emoji/file_folder.png b/static/images/emoji/file_folder.png new file mode 100644 index 000000000000..4d8bebf8a903 Binary files /dev/null and b/static/images/emoji/file_folder.png differ diff --git a/static/images/emoji/finnadie.png b/static/images/emoji/finnadie.png new file mode 100644 index 000000000000..bfc5a0d93de6 Binary files /dev/null and b/static/images/emoji/finnadie.png differ diff --git a/static/images/emoji/fire.png b/static/images/emoji/fire.png new file mode 100644 index 000000000000..f2a3149bbfda Binary files /dev/null and b/static/images/emoji/fire.png differ diff --git a/static/images/emoji/fire_engine.png b/static/images/emoji/fire_engine.png new file mode 100644 index 000000000000..9e6c59c99763 Binary files /dev/null and b/static/images/emoji/fire_engine.png differ diff --git a/static/images/emoji/fireworks.png b/static/images/emoji/fireworks.png new file mode 100644 index 000000000000..b4eccd5775b3 Binary files /dev/null and b/static/images/emoji/fireworks.png differ diff --git a/static/images/emoji/first_quarter_moon.png b/static/images/emoji/first_quarter_moon.png new file mode 100644 index 000000000000..f38c236937fa Binary files /dev/null and b/static/images/emoji/first_quarter_moon.png differ diff --git a/static/images/emoji/first_quarter_moon_with_face.png b/static/images/emoji/first_quarter_moon_with_face.png new file mode 100644 index 000000000000..85ae2ce72dc2 Binary files /dev/null and b/static/images/emoji/first_quarter_moon_with_face.png differ diff --git a/static/images/emoji/fish.png b/static/images/emoji/fish.png new file mode 100644 index 000000000000..90bdda2c9203 Binary files /dev/null and b/static/images/emoji/fish.png differ diff --git a/static/images/emoji/fish_cake.png b/static/images/emoji/fish_cake.png new file mode 100644 index 000000000000..a8f22614d62a Binary files /dev/null and b/static/images/emoji/fish_cake.png differ diff --git a/static/images/emoji/fishing_pole_and_fish.png b/static/images/emoji/fishing_pole_and_fish.png new file mode 100644 index 000000000000..d84609c3b7bc Binary files /dev/null and b/static/images/emoji/fishing_pole_and_fish.png differ diff --git a/static/images/emoji/fist.png b/static/images/emoji/fist.png new file mode 100644 index 000000000000..ecc8874c2fdb Binary files /dev/null and b/static/images/emoji/fist.png differ diff --git a/static/images/emoji/five.png b/static/images/emoji/five.png new file mode 100644 index 000000000000..794321aa22a3 Binary files /dev/null and b/static/images/emoji/five.png differ diff --git a/static/images/emoji/flags.png b/static/images/emoji/flags.png new file mode 100644 index 000000000000..540164e84e43 Binary files /dev/null and b/static/images/emoji/flags.png differ diff --git a/static/images/emoji/flashlight.png b/static/images/emoji/flashlight.png new file mode 100644 index 000000000000..215940aa8f1b Binary files /dev/null and b/static/images/emoji/flashlight.png differ diff --git a/static/images/emoji/floppy_disk.png b/static/images/emoji/floppy_disk.png new file mode 100644 index 000000000000..4ad56315ae65 Binary files /dev/null and b/static/images/emoji/floppy_disk.png differ diff --git a/static/images/emoji/flower_playing_cards.png b/static/images/emoji/flower_playing_cards.png new file mode 100644 index 000000000000..cc46a6a1fa2e Binary files /dev/null and b/static/images/emoji/flower_playing_cards.png differ diff --git a/static/images/emoji/flushed.png b/static/images/emoji/flushed.png new file mode 100644 index 000000000000..74b78c9c07a5 Binary files /dev/null and b/static/images/emoji/flushed.png differ diff --git a/static/images/emoji/foggy.png b/static/images/emoji/foggy.png new file mode 100644 index 000000000000..3c7b8b04b957 Binary files /dev/null and b/static/images/emoji/foggy.png differ diff --git a/static/images/emoji/football.png b/static/images/emoji/football.png new file mode 100644 index 000000000000..0e4e168fa8f9 Binary files /dev/null and b/static/images/emoji/football.png differ diff --git a/static/images/emoji/fork_and_knife.png b/static/images/emoji/fork_and_knife.png new file mode 100644 index 000000000000..8ba4bc6535ef Binary files /dev/null and b/static/images/emoji/fork_and_knife.png differ diff --git a/static/images/emoji/fountain.png b/static/images/emoji/fountain.png new file mode 100644 index 000000000000..da126e6486e1 Binary files /dev/null and b/static/images/emoji/fountain.png differ diff --git a/static/images/emoji/four.png b/static/images/emoji/four.png new file mode 100644 index 000000000000..14782ba23b94 Binary files /dev/null and b/static/images/emoji/four.png differ diff --git a/static/images/emoji/four_leaf_clover.png b/static/images/emoji/four_leaf_clover.png new file mode 100644 index 000000000000..f2014bea44f8 Binary files /dev/null and b/static/images/emoji/four_leaf_clover.png differ diff --git a/static/images/emoji/fr.png b/static/images/emoji/fr.png new file mode 100644 index 000000000000..6311c91159e9 Binary files /dev/null and b/static/images/emoji/fr.png differ diff --git a/static/images/emoji/free.png b/static/images/emoji/free.png new file mode 100644 index 000000000000..c886cf2494c1 Binary files /dev/null and b/static/images/emoji/free.png differ diff --git a/static/images/emoji/fried_shrimp.png b/static/images/emoji/fried_shrimp.png new file mode 100644 index 000000000000..c8c284bf14af Binary files /dev/null and b/static/images/emoji/fried_shrimp.png differ diff --git a/static/images/emoji/fries.png b/static/images/emoji/fries.png new file mode 100644 index 000000000000..cfef66966a72 Binary files /dev/null and b/static/images/emoji/fries.png differ diff --git a/static/images/emoji/frog.png b/static/images/emoji/frog.png new file mode 100644 index 000000000000..cfe11b18ff0e Binary files /dev/null and b/static/images/emoji/frog.png differ diff --git a/static/images/emoji/frowning.png b/static/images/emoji/frowning.png new file mode 100644 index 000000000000..487b77016035 Binary files /dev/null and b/static/images/emoji/frowning.png differ diff --git a/static/images/emoji/fu.png b/static/images/emoji/fu.png new file mode 100644 index 000000000000..61a3fee8d764 Binary files /dev/null and b/static/images/emoji/fu.png differ diff --git a/static/images/emoji/fuelpump.png b/static/images/emoji/fuelpump.png new file mode 100644 index 000000000000..54c29aeb1db3 Binary files /dev/null and b/static/images/emoji/fuelpump.png differ diff --git a/static/images/emoji/full_moon.png b/static/images/emoji/full_moon.png new file mode 100644 index 000000000000..8ff657a25936 Binary files /dev/null and b/static/images/emoji/full_moon.png differ diff --git a/static/images/emoji/full_moon_with_face.png b/static/images/emoji/full_moon_with_face.png new file mode 100644 index 000000000000..d42b3f0fbe5e Binary files /dev/null and b/static/images/emoji/full_moon_with_face.png differ diff --git a/static/images/emoji/game_die.png b/static/images/emoji/game_die.png new file mode 100644 index 000000000000..cff2bd8b7768 Binary files /dev/null and b/static/images/emoji/game_die.png differ diff --git a/static/images/emoji/gb.png b/static/images/emoji/gb.png new file mode 100644 index 000000000000..2a62c7a0810a Binary files /dev/null and b/static/images/emoji/gb.png differ diff --git a/static/images/emoji/gem.png b/static/images/emoji/gem.png new file mode 100644 index 000000000000..8a5d8dad5c3a Binary files /dev/null and b/static/images/emoji/gem.png differ diff --git a/static/images/emoji/gemini.png b/static/images/emoji/gemini.png new file mode 100644 index 000000000000..d926f6e88e90 Binary files /dev/null and b/static/images/emoji/gemini.png differ diff --git a/static/images/emoji/ghost.png b/static/images/emoji/ghost.png new file mode 100644 index 000000000000..671dd0c9e2ef Binary files /dev/null and b/static/images/emoji/ghost.png differ diff --git a/static/images/emoji/gift.png b/static/images/emoji/gift.png new file mode 100644 index 000000000000..552cfdc2b982 Binary files /dev/null and b/static/images/emoji/gift.png differ diff --git a/static/images/emoji/gift_heart.png b/static/images/emoji/gift_heart.png new file mode 100644 index 000000000000..f31c26a3fcc7 Binary files /dev/null and b/static/images/emoji/gift_heart.png differ diff --git a/static/images/emoji/girl.png b/static/images/emoji/girl.png new file mode 100644 index 000000000000..ea4126941f72 Binary files /dev/null and b/static/images/emoji/girl.png differ diff --git a/static/images/emoji/globe_with_meridians.png b/static/images/emoji/globe_with_meridians.png new file mode 100644 index 000000000000..b198646670cf Binary files /dev/null and b/static/images/emoji/globe_with_meridians.png differ diff --git a/static/images/emoji/goat.png b/static/images/emoji/goat.png new file mode 100644 index 000000000000..4be9cf304047 Binary files /dev/null and b/static/images/emoji/goat.png differ diff --git a/static/images/emoji/goberserk.png b/static/images/emoji/goberserk.png new file mode 100644 index 000000000000..59a742aaaa54 Binary files /dev/null and b/static/images/emoji/goberserk.png differ diff --git a/static/images/emoji/godmode.png b/static/images/emoji/godmode.png new file mode 100644 index 000000000000..7e75ab2081ba Binary files /dev/null and b/static/images/emoji/godmode.png differ diff --git a/static/images/emoji/golf.png b/static/images/emoji/golf.png new file mode 100644 index 000000000000..cba2116a7e2d Binary files /dev/null and b/static/images/emoji/golf.png differ diff --git a/static/images/emoji/grapes.png b/static/images/emoji/grapes.png new file mode 100644 index 000000000000..0f9f007a12fb Binary files /dev/null and b/static/images/emoji/grapes.png differ diff --git a/static/images/emoji/green_apple.png b/static/images/emoji/green_apple.png new file mode 100644 index 000000000000..337205cd1253 Binary files /dev/null and b/static/images/emoji/green_apple.png differ diff --git a/static/images/emoji/green_book.png b/static/images/emoji/green_book.png new file mode 100644 index 000000000000..e86651e5c5c3 Binary files /dev/null and b/static/images/emoji/green_book.png differ diff --git a/static/images/emoji/green_heart.png b/static/images/emoji/green_heart.png new file mode 100644 index 000000000000..7289cb8147c7 Binary files /dev/null and b/static/images/emoji/green_heart.png differ diff --git a/static/images/emoji/grey_exclamation.png b/static/images/emoji/grey_exclamation.png new file mode 100644 index 000000000000..cf027dda5d12 Binary files /dev/null and b/static/images/emoji/grey_exclamation.png differ diff --git a/static/images/emoji/grey_question.png b/static/images/emoji/grey_question.png new file mode 100644 index 000000000000..fb97ba752fdc Binary files /dev/null and b/static/images/emoji/grey_question.png differ diff --git a/static/images/emoji/grimacing.png b/static/images/emoji/grimacing.png new file mode 100644 index 000000000000..1219ba7d3c11 Binary files /dev/null and b/static/images/emoji/grimacing.png differ diff --git a/static/images/emoji/grin.png b/static/images/emoji/grin.png new file mode 100644 index 000000000000..591cfcef8bb8 Binary files /dev/null and b/static/images/emoji/grin.png differ diff --git a/static/images/emoji/grinning.png b/static/images/emoji/grinning.png new file mode 100644 index 000000000000..7e812b7ed45c Binary files /dev/null and b/static/images/emoji/grinning.png differ diff --git a/static/images/emoji/guardsman.png b/static/images/emoji/guardsman.png new file mode 100644 index 000000000000..b67b335d6874 Binary files /dev/null and b/static/images/emoji/guardsman.png differ diff --git a/static/images/emoji/guitar.png b/static/images/emoji/guitar.png new file mode 100644 index 000000000000..2b7fa43c941d Binary files /dev/null and b/static/images/emoji/guitar.png differ diff --git a/static/images/emoji/gun.png b/static/images/emoji/gun.png new file mode 100644 index 000000000000..c49dc52c6cbf Binary files /dev/null and b/static/images/emoji/gun.png differ diff --git a/static/images/emoji/haircut.png b/static/images/emoji/haircut.png new file mode 100644 index 000000000000..902d273f6c44 Binary files /dev/null and b/static/images/emoji/haircut.png differ diff --git a/static/images/emoji/hamburger.png b/static/images/emoji/hamburger.png new file mode 100644 index 000000000000..9f1a3fdff6ec Binary files /dev/null and b/static/images/emoji/hamburger.png differ diff --git a/static/images/emoji/hammer.png b/static/images/emoji/hammer.png new file mode 100644 index 000000000000..482b1c747d1a Binary files /dev/null and b/static/images/emoji/hammer.png differ diff --git a/static/images/emoji/hamster.png b/static/images/emoji/hamster.png new file mode 100644 index 000000000000..addfd2e6b03d Binary files /dev/null and b/static/images/emoji/hamster.png differ diff --git a/static/images/emoji/hand.png b/static/images/emoji/hand.png new file mode 100644 index 000000000000..5e45c25a56c6 Binary files /dev/null and b/static/images/emoji/hand.png differ diff --git a/static/images/emoji/handbag.png b/static/images/emoji/handbag.png new file mode 100644 index 000000000000..d7adf04ddf22 Binary files /dev/null and b/static/images/emoji/handbag.png differ diff --git a/static/images/emoji/hankey.png b/static/images/emoji/hankey.png new file mode 100644 index 000000000000..73a4dc840085 Binary files /dev/null and b/static/images/emoji/hankey.png differ diff --git a/static/images/emoji/hash.png b/static/images/emoji/hash.png new file mode 100644 index 000000000000..6765d7d3c2ef Binary files /dev/null and b/static/images/emoji/hash.png differ diff --git a/static/images/emoji/hatched_chick.png b/static/images/emoji/hatched_chick.png new file mode 100644 index 000000000000..39c25bc7ccde Binary files /dev/null and b/static/images/emoji/hatched_chick.png differ diff --git a/static/images/emoji/hatching_chick.png b/static/images/emoji/hatching_chick.png new file mode 100644 index 000000000000..005a55519f1c Binary files /dev/null and b/static/images/emoji/hatching_chick.png differ diff --git a/static/images/emoji/headphones.png b/static/images/emoji/headphones.png new file mode 100644 index 000000000000..ad83000e6876 Binary files /dev/null and b/static/images/emoji/headphones.png differ diff --git a/static/images/emoji/hear_no_evil.png b/static/images/emoji/hear_no_evil.png new file mode 100644 index 000000000000..f97a1f9a0901 Binary files /dev/null and b/static/images/emoji/hear_no_evil.png differ diff --git a/static/images/emoji/heart.png b/static/images/emoji/heart.png new file mode 100644 index 000000000000..7d7790ce4dfc Binary files /dev/null and b/static/images/emoji/heart.png differ diff --git a/static/images/emoji/heart_decoration.png b/static/images/emoji/heart_decoration.png new file mode 100644 index 000000000000..b8be44db3438 Binary files /dev/null and b/static/images/emoji/heart_decoration.png differ diff --git a/static/images/emoji/heart_eyes.png b/static/images/emoji/heart_eyes.png new file mode 100644 index 000000000000..0e5794270ea3 Binary files /dev/null and b/static/images/emoji/heart_eyes.png differ diff --git a/static/images/emoji/heart_eyes_cat.png b/static/images/emoji/heart_eyes_cat.png new file mode 100644 index 000000000000..eeba240e5337 Binary files /dev/null and b/static/images/emoji/heart_eyes_cat.png differ diff --git a/static/images/emoji/heartbeat.png b/static/images/emoji/heartbeat.png new file mode 100644 index 000000000000..b6628f6fa70a Binary files /dev/null and b/static/images/emoji/heartbeat.png differ diff --git a/static/images/emoji/heartpulse.png b/static/images/emoji/heartpulse.png new file mode 100644 index 000000000000..a7491cbeae62 Binary files /dev/null and b/static/images/emoji/heartpulse.png differ diff --git a/static/images/emoji/hearts.png b/static/images/emoji/hearts.png new file mode 100644 index 000000000000..e89471538571 Binary files /dev/null and b/static/images/emoji/hearts.png differ diff --git a/static/images/emoji/heavy_check_mark.png b/static/images/emoji/heavy_check_mark.png new file mode 100644 index 000000000000..d0f010b4a0a2 Binary files /dev/null and b/static/images/emoji/heavy_check_mark.png differ diff --git a/static/images/emoji/heavy_division_sign.png b/static/images/emoji/heavy_division_sign.png new file mode 100644 index 000000000000..e193fd252fa1 Binary files /dev/null and b/static/images/emoji/heavy_division_sign.png differ diff --git a/static/images/emoji/heavy_dollar_sign.png b/static/images/emoji/heavy_dollar_sign.png new file mode 100644 index 000000000000..5eddfc52b241 Binary files /dev/null and b/static/images/emoji/heavy_dollar_sign.png differ diff --git a/static/images/emoji/heavy_exclamation_mark.png b/static/images/emoji/heavy_exclamation_mark.png new file mode 100644 index 000000000000..4c560f5e3f46 Binary files /dev/null and b/static/images/emoji/heavy_exclamation_mark.png differ diff --git a/static/images/emoji/heavy_minus_sign.png b/static/images/emoji/heavy_minus_sign.png new file mode 100644 index 000000000000..4a33f905ab5a Binary files /dev/null and b/static/images/emoji/heavy_minus_sign.png differ diff --git a/static/images/emoji/heavy_multiplication_x.png b/static/images/emoji/heavy_multiplication_x.png new file mode 100644 index 000000000000..13d666078656 Binary files /dev/null and b/static/images/emoji/heavy_multiplication_x.png differ diff --git a/static/images/emoji/heavy_plus_sign.png b/static/images/emoji/heavy_plus_sign.png new file mode 100644 index 000000000000..ade3c3a858bc Binary files /dev/null and b/static/images/emoji/heavy_plus_sign.png differ diff --git a/static/images/emoji/helicopter.png b/static/images/emoji/helicopter.png new file mode 100644 index 000000000000..8e82a0d58769 Binary files /dev/null and b/static/images/emoji/helicopter.png differ diff --git a/static/images/emoji/herb.png b/static/images/emoji/herb.png new file mode 100644 index 000000000000..de1ff1b73bf0 Binary files /dev/null and b/static/images/emoji/herb.png differ diff --git a/static/images/emoji/hibiscus.png b/static/images/emoji/hibiscus.png new file mode 100644 index 000000000000..9365ae2169f4 Binary files /dev/null and b/static/images/emoji/hibiscus.png differ diff --git a/static/images/emoji/high_brightness.png b/static/images/emoji/high_brightness.png new file mode 100644 index 000000000000..ba9de7d409c0 Binary files /dev/null and b/static/images/emoji/high_brightness.png differ diff --git a/static/images/emoji/high_heel.png b/static/images/emoji/high_heel.png new file mode 100644 index 000000000000..525b6a0dd694 Binary files /dev/null and b/static/images/emoji/high_heel.png differ diff --git a/static/images/emoji/hocho.png b/static/images/emoji/hocho.png new file mode 100644 index 000000000000..3f05193c7230 Binary files /dev/null and b/static/images/emoji/hocho.png differ diff --git a/static/images/emoji/honey_pot.png b/static/images/emoji/honey_pot.png new file mode 100644 index 000000000000..73278898a4c5 Binary files /dev/null and b/static/images/emoji/honey_pot.png differ diff --git a/static/images/emoji/honeybee.png b/static/images/emoji/honeybee.png new file mode 100644 index 000000000000..f53733953afa Binary files /dev/null and b/static/images/emoji/honeybee.png differ diff --git a/static/images/emoji/horse.png b/static/images/emoji/horse.png new file mode 100644 index 000000000000..78d580ad3e9c Binary files /dev/null and b/static/images/emoji/horse.png differ diff --git a/static/images/emoji/horse_racing.png b/static/images/emoji/horse_racing.png new file mode 100644 index 000000000000..e3bbaec1d6c8 Binary files /dev/null and b/static/images/emoji/horse_racing.png differ diff --git a/static/images/emoji/hospital.png b/static/images/emoji/hospital.png new file mode 100644 index 000000000000..c05c49377fe1 Binary files /dev/null and b/static/images/emoji/hospital.png differ diff --git a/static/images/emoji/hotel.png b/static/images/emoji/hotel.png new file mode 100644 index 000000000000..d29f276a1805 Binary files /dev/null and b/static/images/emoji/hotel.png differ diff --git a/static/images/emoji/hotsprings.png b/static/images/emoji/hotsprings.png new file mode 100644 index 000000000000..a0bc9d75f218 Binary files /dev/null and b/static/images/emoji/hotsprings.png differ diff --git a/static/images/emoji/hourglass.png b/static/images/emoji/hourglass.png new file mode 100644 index 000000000000..405aab41beb3 Binary files /dev/null and b/static/images/emoji/hourglass.png differ diff --git a/static/images/emoji/hourglass_flowing_sand.png b/static/images/emoji/hourglass_flowing_sand.png new file mode 100644 index 000000000000..b68eb6957801 Binary files /dev/null and b/static/images/emoji/hourglass_flowing_sand.png differ diff --git a/static/images/emoji/house.png b/static/images/emoji/house.png new file mode 100644 index 000000000000..95b9ee09480c Binary files /dev/null and b/static/images/emoji/house.png differ diff --git a/static/images/emoji/house_with_garden.png b/static/images/emoji/house_with_garden.png new file mode 100644 index 000000000000..3338fb717be8 Binary files /dev/null and b/static/images/emoji/house_with_garden.png differ diff --git a/static/images/emoji/hurtrealbad.png b/static/images/emoji/hurtrealbad.png new file mode 100644 index 000000000000..146ef1a6a87c Binary files /dev/null and b/static/images/emoji/hurtrealbad.png differ diff --git a/static/images/emoji/hushed.png b/static/images/emoji/hushed.png new file mode 100644 index 000000000000..bbd2cd4bc006 Binary files /dev/null and b/static/images/emoji/hushed.png differ diff --git a/static/images/emoji/ice_cream.png b/static/images/emoji/ice_cream.png new file mode 100644 index 000000000000..190be01650ed Binary files /dev/null and b/static/images/emoji/ice_cream.png differ diff --git a/static/images/emoji/icecream.png b/static/images/emoji/icecream.png new file mode 100644 index 000000000000..871ce097689e Binary files /dev/null and b/static/images/emoji/icecream.png differ diff --git a/static/images/emoji/id.png b/static/images/emoji/id.png new file mode 100644 index 000000000000..47437a76d392 Binary files /dev/null and b/static/images/emoji/id.png differ diff --git a/static/images/emoji/ideograph_advantage.png b/static/images/emoji/ideograph_advantage.png new file mode 100644 index 000000000000..3c1334d164f6 Binary files /dev/null and b/static/images/emoji/ideograph_advantage.png differ diff --git a/static/images/emoji/imp.png b/static/images/emoji/imp.png new file mode 100644 index 000000000000..fa7d9dc10ab9 Binary files /dev/null and b/static/images/emoji/imp.png differ diff --git a/static/images/emoji/inbox_tray.png b/static/images/emoji/inbox_tray.png new file mode 100644 index 000000000000..e2df0f897052 Binary files /dev/null and b/static/images/emoji/inbox_tray.png differ diff --git a/static/images/emoji/incoming_envelope.png b/static/images/emoji/incoming_envelope.png new file mode 100644 index 000000000000..afc827125108 Binary files /dev/null and b/static/images/emoji/incoming_envelope.png differ diff --git a/static/images/emoji/information_desk_person.png b/static/images/emoji/information_desk_person.png new file mode 100644 index 000000000000..52c0a50a3f61 Binary files /dev/null and b/static/images/emoji/information_desk_person.png differ diff --git a/static/images/emoji/information_source.png b/static/images/emoji/information_source.png new file mode 100644 index 000000000000..9cb8b09b2494 Binary files /dev/null and b/static/images/emoji/information_source.png differ diff --git a/static/images/emoji/innocent.png b/static/images/emoji/innocent.png new file mode 100644 index 000000000000..503b614f8dcc Binary files /dev/null and b/static/images/emoji/innocent.png differ diff --git a/static/images/emoji/interrobang.png b/static/images/emoji/interrobang.png new file mode 100644 index 000000000000..64304b9f5fb0 Binary files /dev/null and b/static/images/emoji/interrobang.png differ diff --git a/static/images/emoji/iphone.png b/static/images/emoji/iphone.png new file mode 100644 index 000000000000..df007103b0bd Binary files /dev/null and b/static/images/emoji/iphone.png differ diff --git a/static/images/emoji/it.png b/static/images/emoji/it.png new file mode 100644 index 000000000000..70bc9f32463c Binary files /dev/null and b/static/images/emoji/it.png differ diff --git a/static/images/emoji/izakaya_lantern.png b/static/images/emoji/izakaya_lantern.png new file mode 100644 index 000000000000..18730ad55973 Binary files /dev/null and b/static/images/emoji/izakaya_lantern.png differ diff --git a/static/images/emoji/jack_o_lantern.png b/static/images/emoji/jack_o_lantern.png new file mode 100644 index 000000000000..1f7667ea4589 Binary files /dev/null and b/static/images/emoji/jack_o_lantern.png differ diff --git a/static/images/emoji/japan.png b/static/images/emoji/japan.png new file mode 100644 index 000000000000..45932803597c Binary files /dev/null and b/static/images/emoji/japan.png differ diff --git a/static/images/emoji/japanese_castle.png b/static/images/emoji/japanese_castle.png new file mode 100644 index 000000000000..f225ab217c0e Binary files /dev/null and b/static/images/emoji/japanese_castle.png differ diff --git a/static/images/emoji/japanese_goblin.png b/static/images/emoji/japanese_goblin.png new file mode 100644 index 000000000000..bd21b187570a Binary files /dev/null and b/static/images/emoji/japanese_goblin.png differ diff --git a/static/images/emoji/japanese_ogre.png b/static/images/emoji/japanese_ogre.png new file mode 100644 index 000000000000..e9f5471c9a28 Binary files /dev/null and b/static/images/emoji/japanese_ogre.png differ diff --git a/static/images/emoji/jeans.png b/static/images/emoji/jeans.png new file mode 100644 index 000000000000..d721cea54c3a Binary files /dev/null and b/static/images/emoji/jeans.png differ diff --git a/static/images/emoji/joy.png b/static/images/emoji/joy.png new file mode 100644 index 000000000000..47df693d424f Binary files /dev/null and b/static/images/emoji/joy.png differ diff --git a/static/images/emoji/joy_cat.png b/static/images/emoji/joy_cat.png new file mode 100644 index 000000000000..6c60cb0efc83 Binary files /dev/null and b/static/images/emoji/joy_cat.png differ diff --git a/static/images/emoji/jp.png b/static/images/emoji/jp.png new file mode 100644 index 000000000000..b786efbbd8aa Binary files /dev/null and b/static/images/emoji/jp.png differ diff --git a/static/images/emoji/key.png b/static/images/emoji/key.png new file mode 100644 index 000000000000..34673213f649 Binary files /dev/null and b/static/images/emoji/key.png differ diff --git a/static/images/emoji/keycap_ten.png b/static/images/emoji/keycap_ten.png new file mode 100644 index 000000000000..71dac1c1cc04 Binary files /dev/null and b/static/images/emoji/keycap_ten.png differ diff --git a/static/images/emoji/kimono.png b/static/images/emoji/kimono.png new file mode 100644 index 000000000000..34ffe137dcd2 Binary files /dev/null and b/static/images/emoji/kimono.png differ diff --git a/static/images/emoji/kiss.png b/static/images/emoji/kiss.png new file mode 100644 index 000000000000..14fd9918d582 Binary files /dev/null and b/static/images/emoji/kiss.png differ diff --git a/static/images/emoji/kissing.png b/static/images/emoji/kissing.png new file mode 100644 index 000000000000..f3c8dcd7831b Binary files /dev/null and b/static/images/emoji/kissing.png differ diff --git a/static/images/emoji/kissing_cat.png b/static/images/emoji/kissing_cat.png new file mode 100644 index 000000000000..adc62fbe3ce8 Binary files /dev/null and b/static/images/emoji/kissing_cat.png differ diff --git a/static/images/emoji/kissing_closed_eyes.png b/static/images/emoji/kissing_closed_eyes.png new file mode 100644 index 000000000000..449de197048a Binary files /dev/null and b/static/images/emoji/kissing_closed_eyes.png differ diff --git a/static/images/emoji/kissing_face.png b/static/images/emoji/kissing_face.png new file mode 100644 index 000000000000..449de197048a Binary files /dev/null and b/static/images/emoji/kissing_face.png differ diff --git a/static/images/emoji/kissing_heart.png b/static/images/emoji/kissing_heart.png new file mode 100644 index 000000000000..af9a80b7f09f Binary files /dev/null and b/static/images/emoji/kissing_heart.png differ diff --git a/static/images/emoji/kissing_smiling_eyes.png b/static/images/emoji/kissing_smiling_eyes.png new file mode 100644 index 000000000000..57f7b4935607 Binary files /dev/null and b/static/images/emoji/kissing_smiling_eyes.png differ diff --git a/static/images/emoji/koala.png b/static/images/emoji/koala.png new file mode 100644 index 000000000000..e17bd3cf531f Binary files /dev/null and b/static/images/emoji/koala.png differ diff --git a/static/images/emoji/koko.png b/static/images/emoji/koko.png new file mode 100644 index 000000000000..3bef28c9fdbd Binary files /dev/null and b/static/images/emoji/koko.png differ diff --git a/static/images/emoji/kr.png b/static/images/emoji/kr.png new file mode 100644 index 000000000000..b4c0c1b673d7 Binary files /dev/null and b/static/images/emoji/kr.png differ diff --git a/static/images/emoji/large_blue_circle.png b/static/images/emoji/large_blue_circle.png new file mode 100644 index 000000000000..a5b4ad4aaa2c Binary files /dev/null and b/static/images/emoji/large_blue_circle.png differ diff --git a/static/images/emoji/large_blue_diamond.png b/static/images/emoji/large_blue_diamond.png new file mode 100644 index 000000000000..f4598ec0f20c Binary files /dev/null and b/static/images/emoji/large_blue_diamond.png differ diff --git a/static/images/emoji/large_orange_diamond.png b/static/images/emoji/large_orange_diamond.png new file mode 100644 index 000000000000..803725aad713 Binary files /dev/null and b/static/images/emoji/large_orange_diamond.png differ diff --git a/static/images/emoji/last_quarter_moon.png b/static/images/emoji/last_quarter_moon.png new file mode 100644 index 000000000000..6ae30d6c2c96 Binary files /dev/null and b/static/images/emoji/last_quarter_moon.png differ diff --git a/static/images/emoji/last_quarter_moon_with_face.png b/static/images/emoji/last_quarter_moon_with_face.png new file mode 100644 index 000000000000..9ece82dfec67 Binary files /dev/null and b/static/images/emoji/last_quarter_moon_with_face.png differ diff --git a/static/images/emoji/laughing.png b/static/images/emoji/laughing.png new file mode 100644 index 000000000000..11c91eb22e6a Binary files /dev/null and b/static/images/emoji/laughing.png differ diff --git a/static/images/emoji/leaves.png b/static/images/emoji/leaves.png new file mode 100644 index 000000000000..5229e06bdd09 Binary files /dev/null and b/static/images/emoji/leaves.png differ diff --git a/static/images/emoji/ledger.png b/static/images/emoji/ledger.png new file mode 100644 index 000000000000..e4f72aceacfc Binary files /dev/null and b/static/images/emoji/ledger.png differ diff --git a/static/images/emoji/left_luggage.png b/static/images/emoji/left_luggage.png new file mode 100644 index 000000000000..1c08b464db12 Binary files /dev/null and b/static/images/emoji/left_luggage.png differ diff --git a/static/images/emoji/left_right_arrow.png b/static/images/emoji/left_right_arrow.png new file mode 100644 index 000000000000..b9fd11c5158b Binary files /dev/null and b/static/images/emoji/left_right_arrow.png differ diff --git a/static/images/emoji/leftwards_arrow_with_hook.png b/static/images/emoji/leftwards_arrow_with_hook.png new file mode 100644 index 000000000000..bc45dfefd4ad Binary files /dev/null and b/static/images/emoji/leftwards_arrow_with_hook.png differ diff --git a/static/images/emoji/lemon.png b/static/images/emoji/lemon.png new file mode 100644 index 000000000000..9814dc95989f Binary files /dev/null and b/static/images/emoji/lemon.png differ diff --git a/static/images/emoji/leo.png b/static/images/emoji/leo.png new file mode 100644 index 000000000000..e025933b2f87 Binary files /dev/null and b/static/images/emoji/leo.png differ diff --git a/static/images/emoji/leopard.png b/static/images/emoji/leopard.png new file mode 100644 index 000000000000..3e738d2d3c8c Binary files /dev/null and b/static/images/emoji/leopard.png differ diff --git a/static/images/emoji/libra.png b/static/images/emoji/libra.png new file mode 100644 index 000000000000..6f4a927cd0eb Binary files /dev/null and b/static/images/emoji/libra.png differ diff --git a/static/images/emoji/light_rail.png b/static/images/emoji/light_rail.png new file mode 100644 index 000000000000..bcfe801eec6f Binary files /dev/null and b/static/images/emoji/light_rail.png differ diff --git a/static/images/emoji/link.png b/static/images/emoji/link.png new file mode 100644 index 000000000000..0239e48e4f87 Binary files /dev/null and b/static/images/emoji/link.png differ diff --git a/static/images/emoji/lips.png b/static/images/emoji/lips.png new file mode 100644 index 000000000000..826ed1102dc6 Binary files /dev/null and b/static/images/emoji/lips.png differ diff --git a/static/images/emoji/lipstick.png b/static/images/emoji/lipstick.png new file mode 100644 index 000000000000..82f990c56795 Binary files /dev/null and b/static/images/emoji/lipstick.png differ diff --git a/static/images/emoji/lock.png b/static/images/emoji/lock.png new file mode 100644 index 000000000000..4892b023558f Binary files /dev/null and b/static/images/emoji/lock.png differ diff --git a/static/images/emoji/lock_with_ink_pen.png b/static/images/emoji/lock_with_ink_pen.png new file mode 100644 index 000000000000..375e67e82533 Binary files /dev/null and b/static/images/emoji/lock_with_ink_pen.png differ diff --git a/static/images/emoji/lollipop.png b/static/images/emoji/lollipop.png new file mode 100644 index 000000000000..ba55e7093f12 Binary files /dev/null and b/static/images/emoji/lollipop.png differ diff --git a/static/images/emoji/loop.png b/static/images/emoji/loop.png new file mode 100644 index 000000000000..ef34df3a404a Binary files /dev/null and b/static/images/emoji/loop.png differ diff --git a/static/images/emoji/loudspeaker.png b/static/images/emoji/loudspeaker.png new file mode 100644 index 000000000000..752385e523d4 Binary files /dev/null and b/static/images/emoji/loudspeaker.png differ diff --git a/static/images/emoji/love_hotel.png b/static/images/emoji/love_hotel.png new file mode 100644 index 000000000000..44d7db828ad1 Binary files /dev/null and b/static/images/emoji/love_hotel.png differ diff --git a/static/images/emoji/love_letter.png b/static/images/emoji/love_letter.png new file mode 100644 index 000000000000..e29981f44533 Binary files /dev/null and b/static/images/emoji/love_letter.png differ diff --git a/static/images/emoji/low_brightness.png b/static/images/emoji/low_brightness.png new file mode 100644 index 000000000000..ea15bde4f0d4 Binary files /dev/null and b/static/images/emoji/low_brightness.png differ diff --git a/static/images/emoji/m.png b/static/images/emoji/m.png new file mode 100644 index 000000000000..7e3a3bffb655 Binary files /dev/null and b/static/images/emoji/m.png differ diff --git a/static/images/emoji/mag.png b/static/images/emoji/mag.png new file mode 100644 index 000000000000..aa5b1d7c46fb Binary files /dev/null and b/static/images/emoji/mag.png differ diff --git a/static/images/emoji/mag_right.png b/static/images/emoji/mag_right.png new file mode 100644 index 000000000000..6e6cf11e6d76 Binary files /dev/null and b/static/images/emoji/mag_right.png differ diff --git a/static/images/emoji/mahjong.png b/static/images/emoji/mahjong.png new file mode 100644 index 000000000000..f51ce65fdde8 Binary files /dev/null and b/static/images/emoji/mahjong.png differ diff --git a/static/images/emoji/mailbox.png b/static/images/emoji/mailbox.png new file mode 100644 index 000000000000..8351e70760cc Binary files /dev/null and b/static/images/emoji/mailbox.png differ diff --git a/static/images/emoji/mailbox_closed.png b/static/images/emoji/mailbox_closed.png new file mode 100644 index 000000000000..a5982b69bb50 Binary files /dev/null and b/static/images/emoji/mailbox_closed.png differ diff --git a/static/images/emoji/mailbox_with_mail.png b/static/images/emoji/mailbox_with_mail.png new file mode 100644 index 000000000000..dae34594367e Binary files /dev/null and b/static/images/emoji/mailbox_with_mail.png differ diff --git a/static/images/emoji/mailbox_with_no_mail.png b/static/images/emoji/mailbox_with_no_mail.png new file mode 100644 index 000000000000..59f15c5d7da8 Binary files /dev/null and b/static/images/emoji/mailbox_with_no_mail.png differ diff --git a/static/images/emoji/man.png b/static/images/emoji/man.png new file mode 100644 index 000000000000..d9bfa26a6745 Binary files /dev/null and b/static/images/emoji/man.png differ diff --git a/static/images/emoji/man_with_gua_pi_mao.png b/static/images/emoji/man_with_gua_pi_mao.png new file mode 100644 index 000000000000..7aad74b55e33 Binary files /dev/null and b/static/images/emoji/man_with_gua_pi_mao.png differ diff --git a/static/images/emoji/man_with_turban.png b/static/images/emoji/man_with_turban.png new file mode 100644 index 000000000000..036604caf2a4 Binary files /dev/null and b/static/images/emoji/man_with_turban.png differ diff --git a/static/images/emoji/mans_shoe.png b/static/images/emoji/mans_shoe.png new file mode 100644 index 000000000000..ecba9ba7d041 Binary files /dev/null and b/static/images/emoji/mans_shoe.png differ diff --git a/static/images/emoji/maple_leaf.png b/static/images/emoji/maple_leaf.png new file mode 100644 index 000000000000..4e9b47207de6 Binary files /dev/null and b/static/images/emoji/maple_leaf.png differ diff --git a/static/images/emoji/mask.png b/static/images/emoji/mask.png new file mode 100644 index 000000000000..05887e99c6bb Binary files /dev/null and b/static/images/emoji/mask.png differ diff --git a/static/images/emoji/massage.png b/static/images/emoji/massage.png new file mode 100644 index 000000000000..dd30d1597556 Binary files /dev/null and b/static/images/emoji/massage.png differ diff --git a/static/images/emoji/meat_on_bone.png b/static/images/emoji/meat_on_bone.png new file mode 100644 index 000000000000..5b79a660c6da Binary files /dev/null and b/static/images/emoji/meat_on_bone.png differ diff --git a/static/images/emoji/mega.png b/static/images/emoji/mega.png new file mode 100644 index 000000000000..022df2f8d64a Binary files /dev/null and b/static/images/emoji/mega.png differ diff --git a/static/images/emoji/melon.png b/static/images/emoji/melon.png new file mode 100644 index 000000000000..11c13cbbd44f Binary files /dev/null and b/static/images/emoji/melon.png differ diff --git a/static/images/emoji/memo.png b/static/images/emoji/memo.png new file mode 100644 index 000000000000..fc97ddbc92b0 Binary files /dev/null and b/static/images/emoji/memo.png differ diff --git a/static/images/emoji/mens.png b/static/images/emoji/mens.png new file mode 100644 index 000000000000..abccfc9f2c6f Binary files /dev/null and b/static/images/emoji/mens.png differ diff --git a/static/images/emoji/metal.png b/static/images/emoji/metal.png new file mode 100644 index 000000000000..94f1fda2241a Binary files /dev/null and b/static/images/emoji/metal.png differ diff --git a/static/images/emoji/metro.png b/static/images/emoji/metro.png new file mode 100644 index 000000000000..4acf5ab3e29f Binary files /dev/null and b/static/images/emoji/metro.png differ diff --git a/static/images/emoji/microphone.png b/static/images/emoji/microphone.png new file mode 100644 index 000000000000..68c74adada1c Binary files /dev/null and b/static/images/emoji/microphone.png differ diff --git a/static/images/emoji/microscope.png b/static/images/emoji/microscope.png new file mode 100644 index 000000000000..8b7a5e4e6790 Binary files /dev/null and b/static/images/emoji/microscope.png differ diff --git a/static/images/emoji/milky_way.png b/static/images/emoji/milky_way.png new file mode 100644 index 000000000000..901090a12659 Binary files /dev/null and b/static/images/emoji/milky_way.png differ diff --git a/static/images/emoji/minibus.png b/static/images/emoji/minibus.png new file mode 100644 index 000000000000..c52cef234078 Binary files /dev/null and b/static/images/emoji/minibus.png differ diff --git a/static/images/emoji/minidisc.png b/static/images/emoji/minidisc.png new file mode 100644 index 000000000000..e19cc5d01507 Binary files /dev/null and b/static/images/emoji/minidisc.png differ diff --git a/static/images/emoji/mobile_phone_off.png b/static/images/emoji/mobile_phone_off.png new file mode 100644 index 000000000000..fa16c763c946 Binary files /dev/null and b/static/images/emoji/mobile_phone_off.png differ diff --git a/static/images/emoji/money_with_wings.png b/static/images/emoji/money_with_wings.png new file mode 100644 index 000000000000..581a82449025 Binary files /dev/null and b/static/images/emoji/money_with_wings.png differ diff --git a/static/images/emoji/moneybag.png b/static/images/emoji/moneybag.png new file mode 100644 index 000000000000..5546c04bad46 Binary files /dev/null and b/static/images/emoji/moneybag.png differ diff --git a/static/images/emoji/monkey.png b/static/images/emoji/monkey.png new file mode 100644 index 000000000000..640703597767 Binary files /dev/null and b/static/images/emoji/monkey.png differ diff --git a/static/images/emoji/monkey_face.png b/static/images/emoji/monkey_face.png new file mode 100644 index 000000000000..6964cf4d51ac Binary files /dev/null and b/static/images/emoji/monkey_face.png differ diff --git a/static/images/emoji/monorail.png b/static/images/emoji/monorail.png new file mode 100644 index 000000000000..913d30024626 Binary files /dev/null and b/static/images/emoji/monorail.png differ diff --git a/static/images/emoji/mortar_board.png b/static/images/emoji/mortar_board.png new file mode 100644 index 000000000000..84513f6bac44 Binary files /dev/null and b/static/images/emoji/mortar_board.png differ diff --git a/static/images/emoji/mount_fuji.png b/static/images/emoji/mount_fuji.png new file mode 100644 index 000000000000..4c313e583f02 Binary files /dev/null and b/static/images/emoji/mount_fuji.png differ diff --git a/static/images/emoji/mountain_bicyclist.png b/static/images/emoji/mountain_bicyclist.png new file mode 100644 index 000000000000..b698897566a3 Binary files /dev/null and b/static/images/emoji/mountain_bicyclist.png differ diff --git a/static/images/emoji/mountain_cableway.png b/static/images/emoji/mountain_cableway.png new file mode 100644 index 000000000000..5688bb239a74 Binary files /dev/null and b/static/images/emoji/mountain_cableway.png differ diff --git a/static/images/emoji/mountain_railway.png b/static/images/emoji/mountain_railway.png new file mode 100644 index 000000000000..1f3d1aab56c9 Binary files /dev/null and b/static/images/emoji/mountain_railway.png differ diff --git a/static/images/emoji/mouse.png b/static/images/emoji/mouse.png new file mode 100644 index 000000000000..8ff162e2dbb0 Binary files /dev/null and b/static/images/emoji/mouse.png differ diff --git a/static/images/emoji/mouse2.png b/static/images/emoji/mouse2.png new file mode 100644 index 000000000000..2d777e5e1ac5 Binary files /dev/null and b/static/images/emoji/mouse2.png differ diff --git a/static/images/emoji/movie_camera.png b/static/images/emoji/movie_camera.png new file mode 100644 index 000000000000..9c1438409255 Binary files /dev/null and b/static/images/emoji/movie_camera.png differ diff --git a/static/images/emoji/moyai.png b/static/images/emoji/moyai.png new file mode 100644 index 000000000000..61a1a9c21a42 Binary files /dev/null and b/static/images/emoji/moyai.png differ diff --git a/static/images/emoji/muscle.png b/static/images/emoji/muscle.png new file mode 100644 index 000000000000..19f92efb66e8 Binary files /dev/null and b/static/images/emoji/muscle.png differ diff --git a/static/images/emoji/mushroom.png b/static/images/emoji/mushroom.png new file mode 100644 index 000000000000..5eeed8e7900e Binary files /dev/null and b/static/images/emoji/mushroom.png differ diff --git a/static/images/emoji/musical_keyboard.png b/static/images/emoji/musical_keyboard.png new file mode 100644 index 000000000000..93647a4a32d9 Binary files /dev/null and b/static/images/emoji/musical_keyboard.png differ diff --git a/static/images/emoji/musical_note.png b/static/images/emoji/musical_note.png new file mode 100644 index 000000000000..68b261bcba6d Binary files /dev/null and b/static/images/emoji/musical_note.png differ diff --git a/static/images/emoji/musical_score.png b/static/images/emoji/musical_score.png new file mode 100644 index 000000000000..c99e3381f1a3 Binary files /dev/null and b/static/images/emoji/musical_score.png differ diff --git a/static/images/emoji/mute.png b/static/images/emoji/mute.png new file mode 100644 index 000000000000..4cf67c367d36 Binary files /dev/null and b/static/images/emoji/mute.png differ diff --git a/static/images/emoji/nail_care.png b/static/images/emoji/nail_care.png new file mode 100644 index 000000000000..6a66e63d2adb Binary files /dev/null and b/static/images/emoji/nail_care.png differ diff --git a/static/images/emoji/name_badge.png b/static/images/emoji/name_badge.png new file mode 100644 index 000000000000..2b712dcd55ac Binary files /dev/null and b/static/images/emoji/name_badge.png differ diff --git a/static/images/emoji/neckbeard.png b/static/images/emoji/neckbeard.png new file mode 100644 index 000000000000..6e31d1652837 Binary files /dev/null and b/static/images/emoji/neckbeard.png differ diff --git a/static/images/emoji/necktie.png b/static/images/emoji/necktie.png new file mode 100644 index 000000000000..80461c66f3a0 Binary files /dev/null and b/static/images/emoji/necktie.png differ diff --git a/static/images/emoji/negative_squared_cross_mark.png b/static/images/emoji/negative_squared_cross_mark.png new file mode 100644 index 000000000000..b47a0cece5c9 Binary files /dev/null and b/static/images/emoji/negative_squared_cross_mark.png differ diff --git a/static/images/emoji/neutral_face.png b/static/images/emoji/neutral_face.png new file mode 100644 index 000000000000..682a1ba066d8 Binary files /dev/null and b/static/images/emoji/neutral_face.png differ diff --git a/static/images/emoji/new.png b/static/images/emoji/new.png new file mode 100644 index 000000000000..28d1570e0a6f Binary files /dev/null and b/static/images/emoji/new.png differ diff --git a/static/images/emoji/new_moon.png b/static/images/emoji/new_moon.png new file mode 100644 index 000000000000..72492cb903d7 Binary files /dev/null and b/static/images/emoji/new_moon.png differ diff --git a/static/images/emoji/new_moon_with_face.png b/static/images/emoji/new_moon_with_face.png new file mode 100644 index 000000000000..21a696eb9910 Binary files /dev/null and b/static/images/emoji/new_moon_with_face.png differ diff --git a/static/images/emoji/newspaper.png b/static/images/emoji/newspaper.png new file mode 100644 index 000000000000..60c3394dc4fe Binary files /dev/null and b/static/images/emoji/newspaper.png differ diff --git a/static/images/emoji/ng.png b/static/images/emoji/ng.png new file mode 100644 index 000000000000..2ca180ae397a Binary files /dev/null and b/static/images/emoji/ng.png differ diff --git a/static/images/emoji/nine.png b/static/images/emoji/nine.png new file mode 100644 index 000000000000..8006cc909f35 Binary files /dev/null and b/static/images/emoji/nine.png differ diff --git a/static/images/emoji/no_bell.png b/static/images/emoji/no_bell.png new file mode 100644 index 000000000000..613b81cd21eb Binary files /dev/null and b/static/images/emoji/no_bell.png differ diff --git a/static/images/emoji/no_bicycles.png b/static/images/emoji/no_bicycles.png new file mode 100644 index 000000000000..4b2621664551 Binary files /dev/null and b/static/images/emoji/no_bicycles.png differ diff --git a/static/images/emoji/no_entry.png b/static/images/emoji/no_entry.png new file mode 100644 index 000000000000..cf2086a8e747 Binary files /dev/null and b/static/images/emoji/no_entry.png differ diff --git a/static/images/emoji/no_entry_sign.png b/static/images/emoji/no_entry_sign.png new file mode 100644 index 000000000000..b3231f66d47a Binary files /dev/null and b/static/images/emoji/no_entry_sign.png differ diff --git a/static/images/emoji/no_good.png b/static/images/emoji/no_good.png new file mode 100644 index 000000000000..d459a35bc1f4 Binary files /dev/null and b/static/images/emoji/no_good.png differ diff --git a/static/images/emoji/no_mobile_phones.png b/static/images/emoji/no_mobile_phones.png new file mode 100644 index 000000000000..41df57cf827e Binary files /dev/null and b/static/images/emoji/no_mobile_phones.png differ diff --git a/static/images/emoji/no_mouth.png b/static/images/emoji/no_mouth.png new file mode 100644 index 000000000000..e67802046ac8 Binary files /dev/null and b/static/images/emoji/no_mouth.png differ diff --git a/static/images/emoji/no_pedestrians.png b/static/images/emoji/no_pedestrians.png new file mode 100644 index 000000000000..53ee0f927501 Binary files /dev/null and b/static/images/emoji/no_pedestrians.png differ diff --git a/static/images/emoji/no_smoking.png b/static/images/emoji/no_smoking.png new file mode 100644 index 000000000000..5880ddfd1889 Binary files /dev/null and b/static/images/emoji/no_smoking.png differ diff --git a/static/images/emoji/non-potable_water.png b/static/images/emoji/non-potable_water.png new file mode 100644 index 000000000000..1b29d35b98b4 Binary files /dev/null and b/static/images/emoji/non-potable_water.png differ diff --git a/static/images/emoji/nose.png b/static/images/emoji/nose.png new file mode 100644 index 000000000000..ad17c16c29eb Binary files /dev/null and b/static/images/emoji/nose.png differ diff --git a/static/images/emoji/notebook.png b/static/images/emoji/notebook.png new file mode 100644 index 000000000000..5f0a5f6a2550 Binary files /dev/null and b/static/images/emoji/notebook.png differ diff --git a/static/images/emoji/notebook_with_decorative_cover.png b/static/images/emoji/notebook_with_decorative_cover.png new file mode 100644 index 000000000000..4f3b14c85f33 Binary files /dev/null and b/static/images/emoji/notebook_with_decorative_cover.png differ diff --git a/static/images/emoji/notes.png b/static/images/emoji/notes.png new file mode 100644 index 000000000000..0956d6ab2a83 Binary files /dev/null and b/static/images/emoji/notes.png differ diff --git a/static/images/emoji/nut_and_bolt.png b/static/images/emoji/nut_and_bolt.png new file mode 100644 index 000000000000..bddfa72a7d3b Binary files /dev/null and b/static/images/emoji/nut_and_bolt.png differ diff --git a/static/images/emoji/o.png b/static/images/emoji/o.png new file mode 100644 index 000000000000..1ff846c1913b Binary files /dev/null and b/static/images/emoji/o.png differ diff --git a/static/images/emoji/o2.png b/static/images/emoji/o2.png new file mode 100644 index 000000000000..d85f9fb98c77 Binary files /dev/null and b/static/images/emoji/o2.png differ diff --git a/static/images/emoji/ocean.png b/static/images/emoji/ocean.png new file mode 100644 index 000000000000..f8d520cd4901 Binary files /dev/null and b/static/images/emoji/ocean.png differ diff --git a/static/images/emoji/octocat.png b/static/images/emoji/octocat.png new file mode 100644 index 000000000000..d296f25fe067 Binary files /dev/null and b/static/images/emoji/octocat.png differ diff --git a/static/images/emoji/octopus.png b/static/images/emoji/octopus.png new file mode 100644 index 000000000000..52ce64b46879 Binary files /dev/null and b/static/images/emoji/octopus.png differ diff --git a/static/images/emoji/oden.png b/static/images/emoji/oden.png new file mode 100644 index 000000000000..73add1c73cfa Binary files /dev/null and b/static/images/emoji/oden.png differ diff --git a/static/images/emoji/office.png b/static/images/emoji/office.png new file mode 100644 index 000000000000..53c3ef8d12aa Binary files /dev/null and b/static/images/emoji/office.png differ diff --git a/static/images/emoji/ok.png b/static/images/emoji/ok.png new file mode 100644 index 000000000000..6433d1a90a91 Binary files /dev/null and b/static/images/emoji/ok.png differ diff --git a/static/images/emoji/ok_hand.png b/static/images/emoji/ok_hand.png new file mode 100644 index 000000000000..80c5aebb6809 Binary files /dev/null and b/static/images/emoji/ok_hand.png differ diff --git a/static/images/emoji/ok_woman.png b/static/images/emoji/ok_woman.png new file mode 100644 index 000000000000..e8b98194edbf Binary files /dev/null and b/static/images/emoji/ok_woman.png differ diff --git a/static/images/emoji/older_man.png b/static/images/emoji/older_man.png new file mode 100644 index 000000000000..149f0cfb8e13 Binary files /dev/null and b/static/images/emoji/older_man.png differ diff --git a/static/images/emoji/older_woman.png b/static/images/emoji/older_woman.png new file mode 100644 index 000000000000..f839565f478d Binary files /dev/null and b/static/images/emoji/older_woman.png differ diff --git a/static/images/emoji/on.png b/static/images/emoji/on.png new file mode 100644 index 000000000000..4cd69a15dedc Binary files /dev/null and b/static/images/emoji/on.png differ diff --git a/static/images/emoji/oncoming_automobile.png b/static/images/emoji/oncoming_automobile.png new file mode 100644 index 000000000000..cb46de22cbbf Binary files /dev/null and b/static/images/emoji/oncoming_automobile.png differ diff --git a/static/images/emoji/oncoming_bus.png b/static/images/emoji/oncoming_bus.png new file mode 100644 index 000000000000..3695f762353f Binary files /dev/null and b/static/images/emoji/oncoming_bus.png differ diff --git a/static/images/emoji/oncoming_police_car.png b/static/images/emoji/oncoming_police_car.png new file mode 100644 index 000000000000..af20e7eff034 Binary files /dev/null and b/static/images/emoji/oncoming_police_car.png differ diff --git a/static/images/emoji/oncoming_taxi.png b/static/images/emoji/oncoming_taxi.png new file mode 100644 index 000000000000..f78cf3103b8e Binary files /dev/null and b/static/images/emoji/oncoming_taxi.png differ diff --git a/static/images/emoji/one.png b/static/images/emoji/one.png new file mode 100644 index 000000000000..2d1f9f8c49d7 Binary files /dev/null and b/static/images/emoji/one.png differ diff --git a/static/images/emoji/open_file_folder.png b/static/images/emoji/open_file_folder.png new file mode 100644 index 000000000000..2bbbbf5e7cd6 Binary files /dev/null and b/static/images/emoji/open_file_folder.png differ diff --git a/static/images/emoji/open_hands.png b/static/images/emoji/open_hands.png new file mode 100644 index 000000000000..cef9f428bc21 Binary files /dev/null and b/static/images/emoji/open_hands.png differ diff --git a/static/images/emoji/open_mouth.png b/static/images/emoji/open_mouth.png new file mode 100644 index 000000000000..daf914274a62 Binary files /dev/null and b/static/images/emoji/open_mouth.png differ diff --git a/static/images/emoji/ophiuchus.png b/static/images/emoji/ophiuchus.png new file mode 100644 index 000000000000..4eef715bc28e Binary files /dev/null and b/static/images/emoji/ophiuchus.png differ diff --git a/static/images/emoji/orange_book.png b/static/images/emoji/orange_book.png new file mode 100644 index 000000000000..49650d59e598 Binary files /dev/null and b/static/images/emoji/orange_book.png differ diff --git a/static/images/emoji/outbox_tray.png b/static/images/emoji/outbox_tray.png new file mode 100644 index 000000000000..7ad15e649de0 Binary files /dev/null and b/static/images/emoji/outbox_tray.png differ diff --git a/static/images/emoji/ox.png b/static/images/emoji/ox.png new file mode 100644 index 000000000000..8d9819462544 Binary files /dev/null and b/static/images/emoji/ox.png differ diff --git a/static/images/emoji/package.png b/static/images/emoji/package.png new file mode 100644 index 000000000000..26602af9d81a Binary files /dev/null and b/static/images/emoji/package.png differ diff --git a/static/images/emoji/page_facing_up.png b/static/images/emoji/page_facing_up.png new file mode 100644 index 000000000000..804c0d739fa2 Binary files /dev/null and b/static/images/emoji/page_facing_up.png differ diff --git a/static/images/emoji/page_with_curl.png b/static/images/emoji/page_with_curl.png new file mode 100644 index 000000000000..37cb4de50c14 Binary files /dev/null and b/static/images/emoji/page_with_curl.png differ diff --git a/static/images/emoji/pager.png b/static/images/emoji/pager.png new file mode 100644 index 000000000000..e3e1fc44ee5e Binary files /dev/null and b/static/images/emoji/pager.png differ diff --git a/static/images/emoji/palm_tree.png b/static/images/emoji/palm_tree.png new file mode 100644 index 000000000000..d13b7c6206b2 Binary files /dev/null and b/static/images/emoji/palm_tree.png differ diff --git a/static/images/emoji/panda_face.png b/static/images/emoji/panda_face.png new file mode 100644 index 000000000000..a794fb17f677 Binary files /dev/null and b/static/images/emoji/panda_face.png differ diff --git a/static/images/emoji/paperclip.png b/static/images/emoji/paperclip.png new file mode 100644 index 000000000000..677669a83d9e Binary files /dev/null and b/static/images/emoji/paperclip.png differ diff --git a/static/images/emoji/parking.png b/static/images/emoji/parking.png new file mode 100644 index 000000000000..c24af81ccf6b Binary files /dev/null and b/static/images/emoji/parking.png differ diff --git a/static/images/emoji/part_alternation_mark.png b/static/images/emoji/part_alternation_mark.png new file mode 100644 index 000000000000..1e5855f8d5b0 Binary files /dev/null and b/static/images/emoji/part_alternation_mark.png differ diff --git a/static/images/emoji/partly_sunny.png b/static/images/emoji/partly_sunny.png new file mode 100644 index 000000000000..b3f5bcfdd0e3 Binary files /dev/null and b/static/images/emoji/partly_sunny.png differ diff --git a/static/images/emoji/passport_control.png b/static/images/emoji/passport_control.png new file mode 100644 index 000000000000..675b76d378cd Binary files /dev/null and b/static/images/emoji/passport_control.png differ diff --git a/static/images/emoji/paw_prints.png b/static/images/emoji/paw_prints.png new file mode 100644 index 000000000000..89b9fec9efac Binary files /dev/null and b/static/images/emoji/paw_prints.png differ diff --git a/static/images/emoji/peach.png b/static/images/emoji/peach.png new file mode 100644 index 000000000000..ee2139ecb884 Binary files /dev/null and b/static/images/emoji/peach.png differ diff --git a/static/images/emoji/pear.png b/static/images/emoji/pear.png new file mode 100644 index 000000000000..f24aca8c0a86 Binary files /dev/null and b/static/images/emoji/pear.png differ diff --git a/static/images/emoji/pencil.png b/static/images/emoji/pencil.png new file mode 100644 index 000000000000..fc97ddbc92b0 Binary files /dev/null and b/static/images/emoji/pencil.png differ diff --git a/static/images/emoji/pencil2.png b/static/images/emoji/pencil2.png new file mode 100644 index 000000000000..64c2d9b79b9f Binary files /dev/null and b/static/images/emoji/pencil2.png differ diff --git a/static/images/emoji/penguin.png b/static/images/emoji/penguin.png new file mode 100644 index 000000000000..d8edbcb8fa91 Binary files /dev/null and b/static/images/emoji/penguin.png differ diff --git a/static/images/emoji/pensive.png b/static/images/emoji/pensive.png new file mode 100644 index 000000000000..4159f3c42ff0 Binary files /dev/null and b/static/images/emoji/pensive.png differ diff --git a/static/images/emoji/performing_arts.png b/static/images/emoji/performing_arts.png new file mode 100644 index 000000000000..899fbe5a7919 Binary files /dev/null and b/static/images/emoji/performing_arts.png differ diff --git a/static/images/emoji/persevere.png b/static/images/emoji/persevere.png new file mode 100644 index 000000000000..f99f6da47c18 Binary files /dev/null and b/static/images/emoji/persevere.png differ diff --git a/static/images/emoji/person_frowning.png b/static/images/emoji/person_frowning.png new file mode 100644 index 000000000000..6f34d5e159df Binary files /dev/null and b/static/images/emoji/person_frowning.png differ diff --git a/static/images/emoji/person_with_blond_hair.png b/static/images/emoji/person_with_blond_hair.png new file mode 100644 index 000000000000..c144301cbb8e Binary files /dev/null and b/static/images/emoji/person_with_blond_hair.png differ diff --git a/static/images/emoji/person_with_pouting_face.png b/static/images/emoji/person_with_pouting_face.png new file mode 100644 index 000000000000..c4a95c3b2a2b Binary files /dev/null and b/static/images/emoji/person_with_pouting_face.png differ diff --git a/static/images/emoji/phone.png b/static/images/emoji/phone.png new file mode 100644 index 000000000000..87d2559b5525 Binary files /dev/null and b/static/images/emoji/phone.png differ diff --git a/static/images/emoji/pig.png b/static/images/emoji/pig.png new file mode 100644 index 000000000000..f7f273c733b0 Binary files /dev/null and b/static/images/emoji/pig.png differ diff --git a/static/images/emoji/pig2.png b/static/images/emoji/pig2.png new file mode 100644 index 000000000000..fec3374d7096 Binary files /dev/null and b/static/images/emoji/pig2.png differ diff --git a/static/images/emoji/pig_nose.png b/static/images/emoji/pig_nose.png new file mode 100644 index 000000000000..38d612446eb3 Binary files /dev/null and b/static/images/emoji/pig_nose.png differ diff --git a/static/images/emoji/pill.png b/static/images/emoji/pill.png new file mode 100644 index 000000000000..cd84a78ff75b Binary files /dev/null and b/static/images/emoji/pill.png differ diff --git a/static/images/emoji/pineapple.png b/static/images/emoji/pineapple.png new file mode 100644 index 000000000000..d6f8e2876928 Binary files /dev/null and b/static/images/emoji/pineapple.png differ diff --git a/static/images/emoji/pisces.png b/static/images/emoji/pisces.png new file mode 100644 index 000000000000..6db2c3d50426 Binary files /dev/null and b/static/images/emoji/pisces.png differ diff --git a/static/images/emoji/pizza.png b/static/images/emoji/pizza.png new file mode 100644 index 000000000000..460367d02cd7 Binary files /dev/null and b/static/images/emoji/pizza.png differ diff --git a/static/images/emoji/plus1.png b/static/images/emoji/plus1.png new file mode 100644 index 000000000000..81786c1d8f5e Binary files /dev/null and b/static/images/emoji/plus1.png differ diff --git a/static/images/emoji/point_down.png b/static/images/emoji/point_down.png new file mode 100644 index 000000000000..658c6d91875c Binary files /dev/null and b/static/images/emoji/point_down.png differ diff --git a/static/images/emoji/point_left.png b/static/images/emoji/point_left.png new file mode 100644 index 000000000000..38a99b43f7f3 Binary files /dev/null and b/static/images/emoji/point_left.png differ diff --git a/static/images/emoji/point_right.png b/static/images/emoji/point_right.png new file mode 100644 index 000000000000..6f9f029a420f Binary files /dev/null and b/static/images/emoji/point_right.png differ diff --git a/static/images/emoji/point_up.png b/static/images/emoji/point_up.png new file mode 100644 index 000000000000..01896e214aaa Binary files /dev/null and b/static/images/emoji/point_up.png differ diff --git a/static/images/emoji/point_up_2.png b/static/images/emoji/point_up_2.png new file mode 100644 index 000000000000..1cfe73672c0c Binary files /dev/null and b/static/images/emoji/point_up_2.png differ diff --git a/static/images/emoji/police_car.png b/static/images/emoji/police_car.png new file mode 100644 index 000000000000..b8f17275ee16 Binary files /dev/null and b/static/images/emoji/police_car.png differ diff --git a/static/images/emoji/poodle.png b/static/images/emoji/poodle.png new file mode 100644 index 000000000000..adac80bd97ad Binary files /dev/null and b/static/images/emoji/poodle.png differ diff --git a/static/images/emoji/poop.png b/static/images/emoji/poop.png new file mode 100644 index 000000000000..73a4dc840085 Binary files /dev/null and b/static/images/emoji/poop.png differ diff --git a/static/images/emoji/post_office.png b/static/images/emoji/post_office.png new file mode 100644 index 000000000000..43b59e30ec2b Binary files /dev/null and b/static/images/emoji/post_office.png differ diff --git a/static/images/emoji/postal_horn.png b/static/images/emoji/postal_horn.png new file mode 100644 index 000000000000..13a151418fdc Binary files /dev/null and b/static/images/emoji/postal_horn.png differ diff --git a/static/images/emoji/postbox.png b/static/images/emoji/postbox.png new file mode 100644 index 000000000000..ce04b7008ba9 Binary files /dev/null and b/static/images/emoji/postbox.png differ diff --git a/static/images/emoji/potable_water.png b/static/images/emoji/potable_water.png new file mode 100644 index 000000000000..e9fd56079ca5 Binary files /dev/null and b/static/images/emoji/potable_water.png differ diff --git a/static/images/emoji/pouch.png b/static/images/emoji/pouch.png new file mode 100644 index 000000000000..dc35ae8e5f6a Binary files /dev/null and b/static/images/emoji/pouch.png differ diff --git a/static/images/emoji/poultry_leg.png b/static/images/emoji/poultry_leg.png new file mode 100644 index 000000000000..43ad8596518e Binary files /dev/null and b/static/images/emoji/poultry_leg.png differ diff --git a/static/images/emoji/pound.png b/static/images/emoji/pound.png new file mode 100644 index 000000000000..f8be91d7a4b6 Binary files /dev/null and b/static/images/emoji/pound.png differ diff --git a/static/images/emoji/pouting_cat.png b/static/images/emoji/pouting_cat.png new file mode 100644 index 000000000000..4325fd48dd7e Binary files /dev/null and b/static/images/emoji/pouting_cat.png differ diff --git a/static/images/emoji/pray.png b/static/images/emoji/pray.png new file mode 100644 index 000000000000..f86c992d5a7a Binary files /dev/null and b/static/images/emoji/pray.png differ diff --git a/static/images/emoji/princess.png b/static/images/emoji/princess.png new file mode 100644 index 000000000000..1ebb2ce9b13e Binary files /dev/null and b/static/images/emoji/princess.png differ diff --git a/static/images/emoji/punch.png b/static/images/emoji/punch.png new file mode 100644 index 000000000000..277047b7c460 Binary files /dev/null and b/static/images/emoji/punch.png differ diff --git a/static/images/emoji/purple_heart.png b/static/images/emoji/purple_heart.png new file mode 100644 index 000000000000..d5f875043f00 Binary files /dev/null and b/static/images/emoji/purple_heart.png differ diff --git a/static/images/emoji/purse.png b/static/images/emoji/purse.png new file mode 100644 index 000000000000..8f06a2b932c5 Binary files /dev/null and b/static/images/emoji/purse.png differ diff --git a/static/images/emoji/pushpin.png b/static/images/emoji/pushpin.png new file mode 100644 index 000000000000..540c4ecb885c Binary files /dev/null and b/static/images/emoji/pushpin.png differ diff --git a/static/images/emoji/put_litter_in_its_place.png b/static/images/emoji/put_litter_in_its_place.png new file mode 100644 index 000000000000..c2e350c2dc6b Binary files /dev/null and b/static/images/emoji/put_litter_in_its_place.png differ diff --git a/static/images/emoji/question.png b/static/images/emoji/question.png new file mode 100644 index 000000000000..38cedf560fb5 Binary files /dev/null and b/static/images/emoji/question.png differ diff --git a/static/images/emoji/rabbit.png b/static/images/emoji/rabbit.png new file mode 100644 index 000000000000..5cb3ef6f0c6a Binary files /dev/null and b/static/images/emoji/rabbit.png differ diff --git a/static/images/emoji/rabbit2.png b/static/images/emoji/rabbit2.png new file mode 100644 index 000000000000..a9fd24dc14a1 Binary files /dev/null and b/static/images/emoji/rabbit2.png differ diff --git a/static/images/emoji/racehorse.png b/static/images/emoji/racehorse.png new file mode 100644 index 000000000000..4d09c64de7e1 Binary files /dev/null and b/static/images/emoji/racehorse.png differ diff --git a/static/images/emoji/radio.png b/static/images/emoji/radio.png new file mode 100644 index 000000000000..ea589efe32cd Binary files /dev/null and b/static/images/emoji/radio.png differ diff --git a/static/images/emoji/radio_button.png b/static/images/emoji/radio_button.png new file mode 100644 index 000000000000..63755eec258a Binary files /dev/null and b/static/images/emoji/radio_button.png differ diff --git a/static/images/emoji/rage.png b/static/images/emoji/rage.png new file mode 100644 index 000000000000..c65ddff552a9 Binary files /dev/null and b/static/images/emoji/rage.png differ diff --git a/static/images/emoji/rage1.png b/static/images/emoji/rage1.png new file mode 100644 index 000000000000..1506ba4032a5 Binary files /dev/null and b/static/images/emoji/rage1.png differ diff --git a/static/images/emoji/rage2.png b/static/images/emoji/rage2.png new file mode 100644 index 000000000000..f792e063b49c Binary files /dev/null and b/static/images/emoji/rage2.png differ diff --git a/static/images/emoji/rage3.png b/static/images/emoji/rage3.png new file mode 100644 index 000000000000..58764cbcb3bc Binary files /dev/null and b/static/images/emoji/rage3.png differ diff --git a/static/images/emoji/rage4.png b/static/images/emoji/rage4.png new file mode 100644 index 000000000000..c726c94a295f Binary files /dev/null and b/static/images/emoji/rage4.png differ diff --git a/static/images/emoji/railway_car.png b/static/images/emoji/railway_car.png new file mode 100644 index 000000000000..22361158fb3a Binary files /dev/null and b/static/images/emoji/railway_car.png differ diff --git a/static/images/emoji/rainbow.png b/static/images/emoji/rainbow.png new file mode 100644 index 000000000000..6b1faa037932 Binary files /dev/null and b/static/images/emoji/rainbow.png differ diff --git a/static/images/emoji/raised_hand.png b/static/images/emoji/raised_hand.png new file mode 100644 index 000000000000..5e45c25a56c6 Binary files /dev/null and b/static/images/emoji/raised_hand.png differ diff --git a/static/images/emoji/raised_hands.png b/static/images/emoji/raised_hands.png new file mode 100644 index 000000000000..e03142bdce92 Binary files /dev/null and b/static/images/emoji/raised_hands.png differ diff --git a/static/images/emoji/raising_hand.png b/static/images/emoji/raising_hand.png new file mode 100644 index 000000000000..e1741a40e743 Binary files /dev/null and b/static/images/emoji/raising_hand.png differ diff --git a/static/images/emoji/ram.png b/static/images/emoji/ram.png new file mode 100644 index 000000000000..5ea7bfbc0d84 Binary files /dev/null and b/static/images/emoji/ram.png differ diff --git a/static/images/emoji/ramen.png b/static/images/emoji/ramen.png new file mode 100644 index 000000000000..78dc7d537fb3 Binary files /dev/null and b/static/images/emoji/ramen.png differ diff --git a/static/images/emoji/rat.png b/static/images/emoji/rat.png new file mode 100644 index 000000000000..fa7dd401c51a Binary files /dev/null and b/static/images/emoji/rat.png differ diff --git a/static/images/emoji/recycle.png b/static/images/emoji/recycle.png new file mode 100644 index 000000000000..99104c0e9cd5 Binary files /dev/null and b/static/images/emoji/recycle.png differ diff --git a/static/images/emoji/red_car.png b/static/images/emoji/red_car.png new file mode 100644 index 000000000000..d70a2f06263f Binary files /dev/null and b/static/images/emoji/red_car.png differ diff --git a/static/images/emoji/red_circle.png b/static/images/emoji/red_circle.png new file mode 100644 index 000000000000..b391289b203d Binary files /dev/null and b/static/images/emoji/red_circle.png differ diff --git a/static/images/emoji/registered.png b/static/images/emoji/registered.png new file mode 100644 index 000000000000..31c68a80b08a Binary files /dev/null and b/static/images/emoji/registered.png differ diff --git a/static/images/emoji/relaxed.png b/static/images/emoji/relaxed.png new file mode 100644 index 000000000000..bbab82d3bb5a Binary files /dev/null and b/static/images/emoji/relaxed.png differ diff --git a/static/images/emoji/relieved.png b/static/images/emoji/relieved.png new file mode 100644 index 000000000000..fe5629f431e4 Binary files /dev/null and b/static/images/emoji/relieved.png differ diff --git a/static/images/emoji/repeat.png b/static/images/emoji/repeat.png new file mode 100644 index 000000000000..80113b6929b4 Binary files /dev/null and b/static/images/emoji/repeat.png differ diff --git a/static/images/emoji/repeat_one.png b/static/images/emoji/repeat_one.png new file mode 100644 index 000000000000..3c47bcc1f334 Binary files /dev/null and b/static/images/emoji/repeat_one.png differ diff --git a/static/images/emoji/restroom.png b/static/images/emoji/restroom.png new file mode 100644 index 000000000000..d6c111b29b9f Binary files /dev/null and b/static/images/emoji/restroom.png differ diff --git a/static/images/emoji/revolving_hearts.png b/static/images/emoji/revolving_hearts.png new file mode 100644 index 000000000000..ea3317c47fbe Binary files /dev/null and b/static/images/emoji/revolving_hearts.png differ diff --git a/static/images/emoji/rewind.png b/static/images/emoji/rewind.png new file mode 100644 index 000000000000..26289dc3d2c2 Binary files /dev/null and b/static/images/emoji/rewind.png differ diff --git a/static/images/emoji/ribbon.png b/static/images/emoji/ribbon.png new file mode 100644 index 000000000000..63ee5ba5af22 Binary files /dev/null and b/static/images/emoji/ribbon.png differ diff --git a/static/images/emoji/rice.png b/static/images/emoji/rice.png new file mode 100644 index 000000000000..1fd22027bc56 Binary files /dev/null and b/static/images/emoji/rice.png differ diff --git a/static/images/emoji/rice_ball.png b/static/images/emoji/rice_ball.png new file mode 100644 index 000000000000..ade7c45d3bd9 Binary files /dev/null and b/static/images/emoji/rice_ball.png differ diff --git a/static/images/emoji/rice_cracker.png b/static/images/emoji/rice_cracker.png new file mode 100644 index 000000000000..954c901e935b Binary files /dev/null and b/static/images/emoji/rice_cracker.png differ diff --git a/static/images/emoji/rice_scene.png b/static/images/emoji/rice_scene.png new file mode 100644 index 000000000000..14361988db77 Binary files /dev/null and b/static/images/emoji/rice_scene.png differ diff --git a/static/images/emoji/ring.png b/static/images/emoji/ring.png new file mode 100644 index 000000000000..8a57fd68bac1 Binary files /dev/null and b/static/images/emoji/ring.png differ diff --git a/static/images/emoji/rocket.png b/static/images/emoji/rocket.png new file mode 100644 index 000000000000..783078d37983 Binary files /dev/null and b/static/images/emoji/rocket.png differ diff --git a/static/images/emoji/roller_coaster.png b/static/images/emoji/roller_coaster.png new file mode 100644 index 000000000000..9180b9861dca Binary files /dev/null and b/static/images/emoji/roller_coaster.png differ diff --git a/static/images/emoji/rooster.png b/static/images/emoji/rooster.png new file mode 100644 index 000000000000..fab23ad3625e Binary files /dev/null and b/static/images/emoji/rooster.png differ diff --git a/static/images/emoji/rose.png b/static/images/emoji/rose.png new file mode 100644 index 000000000000..3479fbcbbd4b Binary files /dev/null and b/static/images/emoji/rose.png differ diff --git a/static/images/emoji/rotating_light.png b/static/images/emoji/rotating_light.png new file mode 100644 index 000000000000..6cf4a775e0a4 Binary files /dev/null and b/static/images/emoji/rotating_light.png differ diff --git a/static/images/emoji/round_pushpin.png b/static/images/emoji/round_pushpin.png new file mode 100644 index 000000000000..e498e92cf6ad Binary files /dev/null and b/static/images/emoji/round_pushpin.png differ diff --git a/static/images/emoji/rowboat.png b/static/images/emoji/rowboat.png new file mode 100644 index 000000000000..e370d0fb1d56 Binary files /dev/null and b/static/images/emoji/rowboat.png differ diff --git a/static/images/emoji/ru.png b/static/images/emoji/ru.png new file mode 100644 index 000000000000..55fcf3549e23 Binary files /dev/null and b/static/images/emoji/ru.png differ diff --git a/static/images/emoji/rugby_football.png b/static/images/emoji/rugby_football.png new file mode 100644 index 000000000000..f8db67d70181 Binary files /dev/null and b/static/images/emoji/rugby_football.png differ diff --git a/static/images/emoji/runner.png b/static/images/emoji/runner.png new file mode 100644 index 000000000000..cb00429623d9 Binary files /dev/null and b/static/images/emoji/runner.png differ diff --git a/static/images/emoji/running.png b/static/images/emoji/running.png new file mode 100644 index 000000000000..cb00429623d9 Binary files /dev/null and b/static/images/emoji/running.png differ diff --git a/static/images/emoji/running_shirt_with_sash.png b/static/images/emoji/running_shirt_with_sash.png new file mode 100644 index 000000000000..0d68bba09109 Binary files /dev/null and b/static/images/emoji/running_shirt_with_sash.png differ diff --git a/static/images/emoji/sa.png b/static/images/emoji/sa.png new file mode 100644 index 000000000000..387f098b99ce Binary files /dev/null and b/static/images/emoji/sa.png differ diff --git a/static/images/emoji/sagittarius.png b/static/images/emoji/sagittarius.png new file mode 100644 index 000000000000..8b5435baaa93 Binary files /dev/null and b/static/images/emoji/sagittarius.png differ diff --git a/static/images/emoji/sailboat.png b/static/images/emoji/sailboat.png new file mode 100644 index 000000000000..ff656dc62bb7 Binary files /dev/null and b/static/images/emoji/sailboat.png differ diff --git a/static/images/emoji/sake.png b/static/images/emoji/sake.png new file mode 100644 index 000000000000..1f69907e58a0 Binary files /dev/null and b/static/images/emoji/sake.png differ diff --git a/static/images/emoji/sandal.png b/static/images/emoji/sandal.png new file mode 100644 index 000000000000..0bb3f663f5c0 Binary files /dev/null and b/static/images/emoji/sandal.png differ diff --git a/static/images/emoji/santa.png b/static/images/emoji/santa.png new file mode 100644 index 000000000000..a2240c07e7af Binary files /dev/null and b/static/images/emoji/santa.png differ diff --git a/static/images/emoji/satellite.png b/static/images/emoji/satellite.png new file mode 100644 index 000000000000..3481cc2ef4a2 Binary files /dev/null and b/static/images/emoji/satellite.png differ diff --git a/static/images/emoji/satisfied.png b/static/images/emoji/satisfied.png new file mode 100644 index 000000000000..11c91eb22e6a Binary files /dev/null and b/static/images/emoji/satisfied.png differ diff --git a/static/images/emoji/saxophone.png b/static/images/emoji/saxophone.png new file mode 100644 index 000000000000..011559a7673a Binary files /dev/null and b/static/images/emoji/saxophone.png differ diff --git a/static/images/emoji/school.png b/static/images/emoji/school.png new file mode 100644 index 000000000000..afd922bf1371 Binary files /dev/null and b/static/images/emoji/school.png differ diff --git a/static/images/emoji/school_satchel.png b/static/images/emoji/school_satchel.png new file mode 100644 index 000000000000..edfb19aec916 Binary files /dev/null and b/static/images/emoji/school_satchel.png differ diff --git a/static/images/emoji/scissors.png b/static/images/emoji/scissors.png new file mode 100644 index 000000000000..d99b8aea06a9 Binary files /dev/null and b/static/images/emoji/scissors.png differ diff --git a/static/images/emoji/scorpius.png b/static/images/emoji/scorpius.png new file mode 100644 index 000000000000..67fcea1658ac Binary files /dev/null and b/static/images/emoji/scorpius.png differ diff --git a/static/images/emoji/scream.png b/static/images/emoji/scream.png new file mode 100644 index 000000000000..9e93c885dbad Binary files /dev/null and b/static/images/emoji/scream.png differ diff --git a/static/images/emoji/scream_cat.png b/static/images/emoji/scream_cat.png new file mode 100644 index 000000000000..d94cd34ff5da Binary files /dev/null and b/static/images/emoji/scream_cat.png differ diff --git a/static/images/emoji/scroll.png b/static/images/emoji/scroll.png new file mode 100644 index 000000000000..c5a10e6b8f7e Binary files /dev/null and b/static/images/emoji/scroll.png differ diff --git a/static/images/emoji/seat.png b/static/images/emoji/seat.png new file mode 100644 index 000000000000..d1cb864b4bf4 Binary files /dev/null and b/static/images/emoji/seat.png differ diff --git a/static/images/emoji/secret.png b/static/images/emoji/secret.png new file mode 100644 index 000000000000..82e383a60d1b Binary files /dev/null and b/static/images/emoji/secret.png differ diff --git a/static/images/emoji/see_no_evil.png b/static/images/emoji/see_no_evil.png new file mode 100644 index 000000000000..0890a622279c Binary files /dev/null and b/static/images/emoji/see_no_evil.png differ diff --git a/static/images/emoji/seedling.png b/static/images/emoji/seedling.png new file mode 100644 index 000000000000..2ab079310503 Binary files /dev/null and b/static/images/emoji/seedling.png differ diff --git a/static/images/emoji/seven.png b/static/images/emoji/seven.png new file mode 100644 index 000000000000..354e89ae75a0 Binary files /dev/null and b/static/images/emoji/seven.png differ diff --git a/static/images/emoji/shaved_ice.png b/static/images/emoji/shaved_ice.png new file mode 100644 index 000000000000..0d0b382c22b2 Binary files /dev/null and b/static/images/emoji/shaved_ice.png differ diff --git a/static/images/emoji/sheep.png b/static/images/emoji/sheep.png new file mode 100644 index 000000000000..c7277d2898e2 Binary files /dev/null and b/static/images/emoji/sheep.png differ diff --git a/static/images/emoji/shell.png b/static/images/emoji/shell.png new file mode 100644 index 000000000000..3145b5649631 Binary files /dev/null and b/static/images/emoji/shell.png differ diff --git a/static/images/emoji/ship.png b/static/images/emoji/ship.png new file mode 100644 index 000000000000..5d2d8b602bb5 Binary files /dev/null and b/static/images/emoji/ship.png differ diff --git a/static/images/emoji/shipit.png b/static/images/emoji/shipit.png new file mode 100644 index 000000000000..a58a47f62f9e Binary files /dev/null and b/static/images/emoji/shipit.png differ diff --git a/static/images/emoji/shirt.png b/static/images/emoji/shirt.png new file mode 100644 index 000000000000..297a6d63ed32 Binary files /dev/null and b/static/images/emoji/shirt.png differ diff --git a/static/images/emoji/shit.png b/static/images/emoji/shit.png new file mode 100644 index 000000000000..73a4dc840085 Binary files /dev/null and b/static/images/emoji/shit.png differ diff --git a/static/images/emoji/shoe.png b/static/images/emoji/shoe.png new file mode 100644 index 000000000000..45b82e61cf2e Binary files /dev/null and b/static/images/emoji/shoe.png differ diff --git a/static/images/emoji/shower.png b/static/images/emoji/shower.png new file mode 100644 index 000000000000..0d72ab86ba58 Binary files /dev/null and b/static/images/emoji/shower.png differ diff --git a/static/images/emoji/signal_strength.png b/static/images/emoji/signal_strength.png new file mode 100644 index 000000000000..a4bd23ebf70f Binary files /dev/null and b/static/images/emoji/signal_strength.png differ diff --git a/static/images/emoji/six.png b/static/images/emoji/six.png new file mode 100644 index 000000000000..56880556577f Binary files /dev/null and b/static/images/emoji/six.png differ diff --git a/static/images/emoji/six_pointed_star.png b/static/images/emoji/six_pointed_star.png new file mode 100644 index 000000000000..c11af14c8043 Binary files /dev/null and b/static/images/emoji/six_pointed_star.png differ diff --git a/static/images/emoji/ski.png b/static/images/emoji/ski.png new file mode 100644 index 000000000000..98f5cb0f4608 Binary files /dev/null and b/static/images/emoji/ski.png differ diff --git a/static/images/emoji/skull.png b/static/images/emoji/skull.png new file mode 100644 index 000000000000..bd4ee38297ae Binary files /dev/null and b/static/images/emoji/skull.png differ diff --git a/static/images/emoji/sleeping.png b/static/images/emoji/sleeping.png new file mode 100644 index 000000000000..093b852365a0 Binary files /dev/null and b/static/images/emoji/sleeping.png differ diff --git a/static/images/emoji/sleepy.png b/static/images/emoji/sleepy.png new file mode 100644 index 000000000000..df4f55efd9a4 Binary files /dev/null and b/static/images/emoji/sleepy.png differ diff --git a/static/images/emoji/slot_machine.png b/static/images/emoji/slot_machine.png new file mode 100644 index 000000000000..26f114830b8c Binary files /dev/null and b/static/images/emoji/slot_machine.png differ diff --git a/static/images/emoji/small_blue_diamond.png b/static/images/emoji/small_blue_diamond.png new file mode 100644 index 000000000000..8cd49205fd06 Binary files /dev/null and b/static/images/emoji/small_blue_diamond.png differ diff --git a/static/images/emoji/small_orange_diamond.png b/static/images/emoji/small_orange_diamond.png new file mode 100644 index 000000000000..04941d37b631 Binary files /dev/null and b/static/images/emoji/small_orange_diamond.png differ diff --git a/static/images/emoji/small_red_triangle.png b/static/images/emoji/small_red_triangle.png new file mode 100644 index 000000000000..8c4428da8fa5 Binary files /dev/null and b/static/images/emoji/small_red_triangle.png differ diff --git a/static/images/emoji/small_red_triangle_down.png b/static/images/emoji/small_red_triangle_down.png new file mode 100644 index 000000000000..94832f060c45 Binary files /dev/null and b/static/images/emoji/small_red_triangle_down.png differ diff --git a/static/images/emoji/smile.png b/static/images/emoji/smile.png new file mode 100644 index 000000000000..81a839689961 Binary files /dev/null and b/static/images/emoji/smile.png differ diff --git a/static/images/emoji/smile_cat.png b/static/images/emoji/smile_cat.png new file mode 100644 index 000000000000..ad333ba3b6bb Binary files /dev/null and b/static/images/emoji/smile_cat.png differ diff --git a/static/images/emoji/smiley.png b/static/images/emoji/smiley.png new file mode 100644 index 000000000000..77b581d68fae Binary files /dev/null and b/static/images/emoji/smiley.png differ diff --git a/static/images/emoji/smiley_cat.png b/static/images/emoji/smiley_cat.png new file mode 100644 index 000000000000..dbf1b0276ab6 Binary files /dev/null and b/static/images/emoji/smiley_cat.png differ diff --git a/static/images/emoji/smiling_imp.png b/static/images/emoji/smiling_imp.png new file mode 100644 index 000000000000..d904049309c6 Binary files /dev/null and b/static/images/emoji/smiling_imp.png differ diff --git a/static/images/emoji/smirk.png b/static/images/emoji/smirk.png new file mode 100644 index 000000000000..bc6e5082c8c6 Binary files /dev/null and b/static/images/emoji/smirk.png differ diff --git a/static/images/emoji/smirk_cat.png b/static/images/emoji/smirk_cat.png new file mode 100644 index 000000000000..351565e2461b Binary files /dev/null and b/static/images/emoji/smirk_cat.png differ diff --git a/static/images/emoji/smoking.png b/static/images/emoji/smoking.png new file mode 100644 index 000000000000..4aad6cbd7c40 Binary files /dev/null and b/static/images/emoji/smoking.png differ diff --git a/static/images/emoji/snail.png b/static/images/emoji/snail.png new file mode 100644 index 000000000000..e75e69a84d35 Binary files /dev/null and b/static/images/emoji/snail.png differ diff --git a/static/images/emoji/snake.png b/static/images/emoji/snake.png new file mode 100644 index 000000000000..ef58933e2b2f Binary files /dev/null and b/static/images/emoji/snake.png differ diff --git a/static/images/emoji/snowboarder.png b/static/images/emoji/snowboarder.png new file mode 100644 index 000000000000..aeda5c8d8727 Binary files /dev/null and b/static/images/emoji/snowboarder.png differ diff --git a/static/images/emoji/snowflake.png b/static/images/emoji/snowflake.png new file mode 100644 index 000000000000..54b68ff4f136 Binary files /dev/null and b/static/images/emoji/snowflake.png differ diff --git a/static/images/emoji/snowman.png b/static/images/emoji/snowman.png new file mode 100644 index 000000000000..a97902e53043 Binary files /dev/null and b/static/images/emoji/snowman.png differ diff --git a/static/images/emoji/sob.png b/static/images/emoji/sob.png new file mode 100644 index 000000000000..1561df92eee9 Binary files /dev/null and b/static/images/emoji/sob.png differ diff --git a/static/images/emoji/soccer.png b/static/images/emoji/soccer.png new file mode 100644 index 000000000000..1e118b5b1849 Binary files /dev/null and b/static/images/emoji/soccer.png differ diff --git a/static/images/emoji/soon.png b/static/images/emoji/soon.png new file mode 100644 index 000000000000..2cf46df254a5 Binary files /dev/null and b/static/images/emoji/soon.png differ diff --git a/static/images/emoji/sos.png b/static/images/emoji/sos.png new file mode 100644 index 000000000000..e3e16ef73f83 Binary files /dev/null and b/static/images/emoji/sos.png differ diff --git a/static/images/emoji/sound.png b/static/images/emoji/sound.png new file mode 100644 index 000000000000..6aa4dbff4c0a Binary files /dev/null and b/static/images/emoji/sound.png differ diff --git a/static/images/emoji/space_invader.png b/static/images/emoji/space_invader.png new file mode 100644 index 000000000000..384049167473 Binary files /dev/null and b/static/images/emoji/space_invader.png differ diff --git a/static/images/emoji/spades.png b/static/images/emoji/spades.png new file mode 100644 index 000000000000..133a1aba8a3d Binary files /dev/null and b/static/images/emoji/spades.png differ diff --git a/static/images/emoji/spaghetti.png b/static/images/emoji/spaghetti.png new file mode 100644 index 000000000000..08de243f5545 Binary files /dev/null and b/static/images/emoji/spaghetti.png differ diff --git a/static/images/emoji/sparkle.png b/static/images/emoji/sparkle.png new file mode 100644 index 000000000000..23a68ceb2035 Binary files /dev/null and b/static/images/emoji/sparkle.png differ diff --git a/static/images/emoji/sparkler.png b/static/images/emoji/sparkler.png new file mode 100644 index 000000000000..4aabd7e0ed3b Binary files /dev/null and b/static/images/emoji/sparkler.png differ diff --git a/static/images/emoji/sparkles.png b/static/images/emoji/sparkles.png new file mode 100644 index 000000000000..51307bcfc220 Binary files /dev/null and b/static/images/emoji/sparkles.png differ diff --git a/static/images/emoji/sparkling_heart.png b/static/images/emoji/sparkling_heart.png new file mode 100644 index 000000000000..64ac06663d01 Binary files /dev/null and b/static/images/emoji/sparkling_heart.png differ diff --git a/static/images/emoji/speak_no_evil.png b/static/images/emoji/speak_no_evil.png new file mode 100644 index 000000000000..87944c4de543 Binary files /dev/null and b/static/images/emoji/speak_no_evil.png differ diff --git a/static/images/emoji/speaker.png b/static/images/emoji/speaker.png new file mode 100644 index 000000000000..470476e182ed Binary files /dev/null and b/static/images/emoji/speaker.png differ diff --git a/static/images/emoji/speech_balloon.png b/static/images/emoji/speech_balloon.png new file mode 100644 index 000000000000..2896c278886c Binary files /dev/null and b/static/images/emoji/speech_balloon.png differ diff --git a/static/images/emoji/speedboat.png b/static/images/emoji/speedboat.png new file mode 100644 index 000000000000..da6689b3be7e Binary files /dev/null and b/static/images/emoji/speedboat.png differ diff --git a/static/images/emoji/squirrel.png b/static/images/emoji/squirrel.png new file mode 100644 index 000000000000..a58a47f62f9e Binary files /dev/null and b/static/images/emoji/squirrel.png differ diff --git a/static/images/emoji/star.png b/static/images/emoji/star.png new file mode 100644 index 000000000000..1bfddc862553 Binary files /dev/null and b/static/images/emoji/star.png differ diff --git a/static/images/emoji/star2.png b/static/images/emoji/star2.png new file mode 100644 index 000000000000..8b40ff4c8c8f Binary files /dev/null and b/static/images/emoji/star2.png differ diff --git a/static/images/emoji/stars.png b/static/images/emoji/stars.png new file mode 100644 index 000000000000..097a84241c1f Binary files /dev/null and b/static/images/emoji/stars.png differ diff --git a/static/images/emoji/station.png b/static/images/emoji/station.png new file mode 100644 index 000000000000..e77daa8a75fe Binary files /dev/null and b/static/images/emoji/station.png differ diff --git a/static/images/emoji/statue_of_liberty.png b/static/images/emoji/statue_of_liberty.png new file mode 100644 index 000000000000..9ad902806895 Binary files /dev/null and b/static/images/emoji/statue_of_liberty.png differ diff --git a/static/images/emoji/steam_locomotive.png b/static/images/emoji/steam_locomotive.png new file mode 100644 index 000000000000..5495077667be Binary files /dev/null and b/static/images/emoji/steam_locomotive.png differ diff --git a/static/images/emoji/stew.png b/static/images/emoji/stew.png new file mode 100644 index 000000000000..e9687f9ec26e Binary files /dev/null and b/static/images/emoji/stew.png differ diff --git a/static/images/emoji/straight_ruler.png b/static/images/emoji/straight_ruler.png new file mode 100644 index 000000000000..d96658ea1e0a Binary files /dev/null and b/static/images/emoji/straight_ruler.png differ diff --git a/static/images/emoji/strawberry.png b/static/images/emoji/strawberry.png new file mode 100644 index 000000000000..13eb827ab870 Binary files /dev/null and b/static/images/emoji/strawberry.png differ diff --git a/static/images/emoji/stuck_out_tongue.png b/static/images/emoji/stuck_out_tongue.png new file mode 100644 index 000000000000..fa7b58e23120 Binary files /dev/null and b/static/images/emoji/stuck_out_tongue.png differ diff --git a/static/images/emoji/stuck_out_tongue_closed_eyes.png b/static/images/emoji/stuck_out_tongue_closed_eyes.png new file mode 100644 index 000000000000..333716ee1fec Binary files /dev/null and b/static/images/emoji/stuck_out_tongue_closed_eyes.png differ diff --git a/static/images/emoji/stuck_out_tongue_winking_eye.png b/static/images/emoji/stuck_out_tongue_winking_eye.png new file mode 100644 index 000000000000..6ae9d497d304 Binary files /dev/null and b/static/images/emoji/stuck_out_tongue_winking_eye.png differ diff --git a/static/images/emoji/sun_with_face.png b/static/images/emoji/sun_with_face.png new file mode 100644 index 000000000000..ee276636fa40 Binary files /dev/null and b/static/images/emoji/sun_with_face.png differ diff --git a/static/images/emoji/sunflower.png b/static/images/emoji/sunflower.png new file mode 100644 index 000000000000..d9bad194a210 Binary files /dev/null and b/static/images/emoji/sunflower.png differ diff --git a/static/images/emoji/sunglasses.png b/static/images/emoji/sunglasses.png new file mode 100644 index 000000000000..f2e524787c8d Binary files /dev/null and b/static/images/emoji/sunglasses.png differ diff --git a/static/images/emoji/sunny.png b/static/images/emoji/sunny.png new file mode 100644 index 000000000000..d23c095e0804 Binary files /dev/null and b/static/images/emoji/sunny.png differ diff --git a/static/images/emoji/sunrise.png b/static/images/emoji/sunrise.png new file mode 100644 index 000000000000..ec58dcc94ffb Binary files /dev/null and b/static/images/emoji/sunrise.png differ diff --git a/static/images/emoji/sunrise_over_mountains.png b/static/images/emoji/sunrise_over_mountains.png new file mode 100644 index 000000000000..ebc3db146808 Binary files /dev/null and b/static/images/emoji/sunrise_over_mountains.png differ diff --git a/static/images/emoji/surfer.png b/static/images/emoji/surfer.png new file mode 100644 index 000000000000..b067e8cb3235 Binary files /dev/null and b/static/images/emoji/surfer.png differ diff --git a/static/images/emoji/sushi.png b/static/images/emoji/sushi.png new file mode 100644 index 000000000000..0d179bd97568 Binary files /dev/null and b/static/images/emoji/sushi.png differ diff --git a/static/images/emoji/suspect.png b/static/images/emoji/suspect.png new file mode 100644 index 000000000000..58e8921c0a72 Binary files /dev/null and b/static/images/emoji/suspect.png differ diff --git a/static/images/emoji/suspension_railway.png b/static/images/emoji/suspension_railway.png new file mode 100644 index 000000000000..aaa45f61f1fd Binary files /dev/null and b/static/images/emoji/suspension_railway.png differ diff --git a/static/images/emoji/sweat.png b/static/images/emoji/sweat.png new file mode 100644 index 000000000000..e894b7699606 Binary files /dev/null and b/static/images/emoji/sweat.png differ diff --git a/static/images/emoji/sweat_drops.png b/static/images/emoji/sweat_drops.png new file mode 100644 index 000000000000..a83b3e960cdb Binary files /dev/null and b/static/images/emoji/sweat_drops.png differ diff --git a/static/images/emoji/sweat_smile.png b/static/images/emoji/sweat_smile.png new file mode 100644 index 000000000000..3903f717f31e Binary files /dev/null and b/static/images/emoji/sweat_smile.png differ diff --git a/static/images/emoji/sweet_potato.png b/static/images/emoji/sweet_potato.png new file mode 100644 index 000000000000..cde7880a14c1 Binary files /dev/null and b/static/images/emoji/sweet_potato.png differ diff --git a/static/images/emoji/swimmer.png b/static/images/emoji/swimmer.png new file mode 100644 index 000000000000..d3878a065255 Binary files /dev/null and b/static/images/emoji/swimmer.png differ diff --git a/static/images/emoji/symbols.png b/static/images/emoji/symbols.png new file mode 100644 index 000000000000..16bc1da921f9 Binary files /dev/null and b/static/images/emoji/symbols.png differ diff --git a/static/images/emoji/syringe.png b/static/images/emoji/syringe.png new file mode 100644 index 000000000000..36aa8fed54b2 Binary files /dev/null and b/static/images/emoji/syringe.png differ diff --git a/static/images/emoji/tada.png b/static/images/emoji/tada.png new file mode 100644 index 000000000000..7411b5266a03 Binary files /dev/null and b/static/images/emoji/tada.png differ diff --git a/static/images/emoji/tanabata_tree.png b/static/images/emoji/tanabata_tree.png new file mode 100644 index 000000000000..6dea4b2d42f3 Binary files /dev/null and b/static/images/emoji/tanabata_tree.png differ diff --git a/static/images/emoji/tangerine.png b/static/images/emoji/tangerine.png new file mode 100644 index 000000000000..fc9d4f82ad9a Binary files /dev/null and b/static/images/emoji/tangerine.png differ diff --git a/static/images/emoji/taurus.png b/static/images/emoji/taurus.png new file mode 100644 index 000000000000..6af582f69d27 Binary files /dev/null and b/static/images/emoji/taurus.png differ diff --git a/static/images/emoji/taxi.png b/static/images/emoji/taxi.png new file mode 100644 index 000000000000..60a50d365a41 Binary files /dev/null and b/static/images/emoji/taxi.png differ diff --git a/static/images/emoji/tea.png b/static/images/emoji/tea.png new file mode 100644 index 000000000000..3ece0b708af1 Binary files /dev/null and b/static/images/emoji/tea.png differ diff --git a/static/images/emoji/telephone.png b/static/images/emoji/telephone.png new file mode 100644 index 000000000000..87d2559b5525 Binary files /dev/null and b/static/images/emoji/telephone.png differ diff --git a/static/images/emoji/telephone_receiver.png b/static/images/emoji/telephone_receiver.png new file mode 100644 index 000000000000..36e21e0123df Binary files /dev/null and b/static/images/emoji/telephone_receiver.png differ diff --git a/static/images/emoji/telescope.png b/static/images/emoji/telescope.png new file mode 100644 index 000000000000..98e57558acbf Binary files /dev/null and b/static/images/emoji/telescope.png differ diff --git a/static/images/emoji/tennis.png b/static/images/emoji/tennis.png new file mode 100644 index 000000000000..278d904ee201 Binary files /dev/null and b/static/images/emoji/tennis.png differ diff --git a/static/images/emoji/tent.png b/static/images/emoji/tent.png new file mode 100644 index 000000000000..5c0d20e48b6e Binary files /dev/null and b/static/images/emoji/tent.png differ diff --git a/static/images/emoji/thought_balloon.png b/static/images/emoji/thought_balloon.png new file mode 100644 index 000000000000..febe30d05901 Binary files /dev/null and b/static/images/emoji/thought_balloon.png differ diff --git a/static/images/emoji/three.png b/static/images/emoji/three.png new file mode 100644 index 000000000000..55644c9900c5 Binary files /dev/null and b/static/images/emoji/three.png differ diff --git a/static/images/emoji/thumbsdown.png b/static/images/emoji/thumbsdown.png new file mode 100644 index 000000000000..41c6b825d6a6 Binary files /dev/null and b/static/images/emoji/thumbsdown.png differ diff --git a/static/images/emoji/thumbsup.png b/static/images/emoji/thumbsup.png new file mode 100644 index 000000000000..81786c1d8f5e Binary files /dev/null and b/static/images/emoji/thumbsup.png differ diff --git a/static/images/emoji/ticket.png b/static/images/emoji/ticket.png new file mode 100644 index 000000000000..cdacf1a70be4 Binary files /dev/null and b/static/images/emoji/ticket.png differ diff --git a/static/images/emoji/tiger.png b/static/images/emoji/tiger.png new file mode 100644 index 000000000000..d6cc84a3ba98 Binary files /dev/null and b/static/images/emoji/tiger.png differ diff --git a/static/images/emoji/tiger2.png b/static/images/emoji/tiger2.png new file mode 100644 index 000000000000..b0c7d8dc3ec2 Binary files /dev/null and b/static/images/emoji/tiger2.png differ diff --git a/static/images/emoji/tired_face.png b/static/images/emoji/tired_face.png new file mode 100644 index 000000000000..77b783453e9c Binary files /dev/null and b/static/images/emoji/tired_face.png differ diff --git a/static/images/emoji/tm.png b/static/images/emoji/tm.png new file mode 100644 index 000000000000..c7dec75a33ad Binary files /dev/null and b/static/images/emoji/tm.png differ diff --git a/static/images/emoji/toilet.png b/static/images/emoji/toilet.png new file mode 100644 index 000000000000..e5cc4119a15d Binary files /dev/null and b/static/images/emoji/toilet.png differ diff --git a/static/images/emoji/tokyo_tower.png b/static/images/emoji/tokyo_tower.png new file mode 100644 index 000000000000..e1cbd7a3c5d7 Binary files /dev/null and b/static/images/emoji/tokyo_tower.png differ diff --git a/static/images/emoji/tomato.png b/static/images/emoji/tomato.png new file mode 100644 index 000000000000..a129700bbb59 Binary files /dev/null and b/static/images/emoji/tomato.png differ diff --git a/static/images/emoji/tongue.png b/static/images/emoji/tongue.png new file mode 100644 index 000000000000..b0bab12078fb Binary files /dev/null and b/static/images/emoji/tongue.png differ diff --git a/static/images/emoji/top.png b/static/images/emoji/top.png new file mode 100644 index 000000000000..5aa4dd442da5 Binary files /dev/null and b/static/images/emoji/top.png differ diff --git a/static/images/emoji/tophat.png b/static/images/emoji/tophat.png new file mode 100644 index 000000000000..7d27134d6a5d Binary files /dev/null and b/static/images/emoji/tophat.png differ diff --git a/static/images/emoji/tractor.png b/static/images/emoji/tractor.png new file mode 100644 index 000000000000..058fd3eda551 Binary files /dev/null and b/static/images/emoji/tractor.png differ diff --git a/static/images/emoji/traffic_light.png b/static/images/emoji/traffic_light.png new file mode 100644 index 000000000000..1facb276c420 Binary files /dev/null and b/static/images/emoji/traffic_light.png differ diff --git a/static/images/emoji/train.png b/static/images/emoji/train.png new file mode 100644 index 000000000000..3202d80ea9f4 Binary files /dev/null and b/static/images/emoji/train.png differ diff --git a/static/images/emoji/train2.png b/static/images/emoji/train2.png new file mode 100644 index 000000000000..9c0d3ab64075 Binary files /dev/null and b/static/images/emoji/train2.png differ diff --git a/static/images/emoji/tram.png b/static/images/emoji/tram.png new file mode 100644 index 000000000000..5eb29fb71cdc Binary files /dev/null and b/static/images/emoji/tram.png differ diff --git a/static/images/emoji/triangular_flag_on_post.png b/static/images/emoji/triangular_flag_on_post.png new file mode 100644 index 000000000000..f9a3f32d7118 Binary files /dev/null and b/static/images/emoji/triangular_flag_on_post.png differ diff --git a/static/images/emoji/triangular_ruler.png b/static/images/emoji/triangular_ruler.png new file mode 100644 index 000000000000..383677cb74cb Binary files /dev/null and b/static/images/emoji/triangular_ruler.png differ diff --git a/static/images/emoji/trident.png b/static/images/emoji/trident.png new file mode 100644 index 000000000000..d79a7b4cce5a Binary files /dev/null and b/static/images/emoji/trident.png differ diff --git a/static/images/emoji/triumph.png b/static/images/emoji/triumph.png new file mode 100644 index 000000000000..92f93bd10250 Binary files /dev/null and b/static/images/emoji/triumph.png differ diff --git a/static/images/emoji/trolleybus.png b/static/images/emoji/trolleybus.png new file mode 100644 index 000000000000..b9740a53f87a Binary files /dev/null and b/static/images/emoji/trolleybus.png differ diff --git a/static/images/emoji/trollface.png b/static/images/emoji/trollface.png new file mode 100644 index 000000000000..119d77e73a1f Binary files /dev/null and b/static/images/emoji/trollface.png differ diff --git a/static/images/emoji/trophy.png b/static/images/emoji/trophy.png new file mode 100644 index 000000000000..95d3b63f5246 Binary files /dev/null and b/static/images/emoji/trophy.png differ diff --git a/static/images/emoji/tropical_drink.png b/static/images/emoji/tropical_drink.png new file mode 100644 index 000000000000..55ca9eeda75f Binary files /dev/null and b/static/images/emoji/tropical_drink.png differ diff --git a/static/images/emoji/tropical_fish.png b/static/images/emoji/tropical_fish.png new file mode 100644 index 000000000000..a6d734987bb3 Binary files /dev/null and b/static/images/emoji/tropical_fish.png differ diff --git a/static/images/emoji/truck.png b/static/images/emoji/truck.png new file mode 100644 index 000000000000..3f25ba1f92a1 Binary files /dev/null and b/static/images/emoji/truck.png differ diff --git a/static/images/emoji/trumpet.png b/static/images/emoji/trumpet.png new file mode 100644 index 000000000000..c84cfb13e10e Binary files /dev/null and b/static/images/emoji/trumpet.png differ diff --git a/static/images/emoji/tshirt.png b/static/images/emoji/tshirt.png new file mode 100644 index 000000000000..297a6d63ed32 Binary files /dev/null and b/static/images/emoji/tshirt.png differ diff --git a/static/images/emoji/tulip.png b/static/images/emoji/tulip.png new file mode 100644 index 000000000000..b3ee1102a538 Binary files /dev/null and b/static/images/emoji/tulip.png differ diff --git a/static/images/emoji/turtle.png b/static/images/emoji/turtle.png new file mode 100644 index 000000000000..04d1d9684709 Binary files /dev/null and b/static/images/emoji/turtle.png differ diff --git a/static/images/emoji/tv.png b/static/images/emoji/tv.png new file mode 100644 index 000000000000..803dc3d412fc Binary files /dev/null and b/static/images/emoji/tv.png differ diff --git a/static/images/emoji/twisted_rightwards_arrows.png b/static/images/emoji/twisted_rightwards_arrows.png new file mode 100644 index 000000000000..25cde18b2501 Binary files /dev/null and b/static/images/emoji/twisted_rightwards_arrows.png differ diff --git a/static/images/emoji/two.png b/static/images/emoji/two.png new file mode 100644 index 000000000000..c191f8a3221b Binary files /dev/null and b/static/images/emoji/two.png differ diff --git a/static/images/emoji/two_hearts.png b/static/images/emoji/two_hearts.png new file mode 100644 index 000000000000..b189e9aea82e Binary files /dev/null and b/static/images/emoji/two_hearts.png differ diff --git a/static/images/emoji/two_men_holding_hands.png b/static/images/emoji/two_men_holding_hands.png new file mode 100644 index 000000000000..d1099f21ffe1 Binary files /dev/null and b/static/images/emoji/two_men_holding_hands.png differ diff --git a/static/images/emoji/two_women_holding_hands.png b/static/images/emoji/two_women_holding_hands.png new file mode 100644 index 000000000000..619646c4e02a Binary files /dev/null and b/static/images/emoji/two_women_holding_hands.png differ diff --git a/static/images/emoji/u5272.png b/static/images/emoji/u5272.png new file mode 100644 index 000000000000..2148253fc104 Binary files /dev/null and b/static/images/emoji/u5272.png differ diff --git a/static/images/emoji/u5408.png b/static/images/emoji/u5408.png new file mode 100644 index 000000000000..03ab0d8746ef Binary files /dev/null and b/static/images/emoji/u5408.png differ diff --git a/static/images/emoji/u55b6.png b/static/images/emoji/u55b6.png new file mode 100644 index 000000000000..ba946d3f339a Binary files /dev/null and b/static/images/emoji/u55b6.png differ diff --git a/static/images/emoji/u6307.png b/static/images/emoji/u6307.png new file mode 100644 index 000000000000..6557f5672fb8 Binary files /dev/null and b/static/images/emoji/u6307.png differ diff --git a/static/images/emoji/u6708.png b/static/images/emoji/u6708.png new file mode 100644 index 000000000000..e4dfe5aa7626 Binary files /dev/null and b/static/images/emoji/u6708.png differ diff --git a/static/images/emoji/u6709.png b/static/images/emoji/u6709.png new file mode 100644 index 000000000000..cd8fb3f62a59 Binary files /dev/null and b/static/images/emoji/u6709.png differ diff --git a/static/images/emoji/u6e80.png b/static/images/emoji/u6e80.png new file mode 100644 index 000000000000..5df1cb878f70 Binary files /dev/null and b/static/images/emoji/u6e80.png differ diff --git a/static/images/emoji/u7121.png b/static/images/emoji/u7121.png new file mode 100644 index 000000000000..25f694ed3ff0 Binary files /dev/null and b/static/images/emoji/u7121.png differ diff --git a/static/images/emoji/u7533.png b/static/images/emoji/u7533.png new file mode 100644 index 000000000000..fc4a9901b461 Binary files /dev/null and b/static/images/emoji/u7533.png differ diff --git a/static/images/emoji/u7981.png b/static/images/emoji/u7981.png new file mode 100644 index 000000000000..f550a573da73 Binary files /dev/null and b/static/images/emoji/u7981.png differ diff --git a/static/images/emoji/u7a7a.png b/static/images/emoji/u7a7a.png new file mode 100644 index 000000000000..c05f5cff73ba Binary files /dev/null and b/static/images/emoji/u7a7a.png differ diff --git a/static/images/emoji/uk.png b/static/images/emoji/uk.png new file mode 100644 index 000000000000..2a62c7a0810a Binary files /dev/null and b/static/images/emoji/uk.png differ diff --git a/static/images/emoji/umbrella.png b/static/images/emoji/umbrella.png new file mode 100644 index 000000000000..1db722fa661e Binary files /dev/null and b/static/images/emoji/umbrella.png differ diff --git a/static/images/emoji/unamused.png b/static/images/emoji/unamused.png new file mode 100644 index 000000000000..3722e6f57538 Binary files /dev/null and b/static/images/emoji/unamused.png differ diff --git a/static/images/emoji/underage.png b/static/images/emoji/underage.png new file mode 100644 index 000000000000..a789b3c6200c Binary files /dev/null and b/static/images/emoji/underage.png differ diff --git a/static/images/emoji/unlock.png b/static/images/emoji/unlock.png new file mode 100644 index 000000000000..22b429cd0219 Binary files /dev/null and b/static/images/emoji/unlock.png differ diff --git a/static/images/emoji/up.png b/static/images/emoji/up.png new file mode 100644 index 000000000000..829219a868ad Binary files /dev/null and b/static/images/emoji/up.png differ diff --git a/static/images/emoji/us.png b/static/images/emoji/us.png new file mode 100644 index 000000000000..38137669aa9c Binary files /dev/null and b/static/images/emoji/us.png differ diff --git a/static/images/emoji/v.png b/static/images/emoji/v.png new file mode 100644 index 000000000000..f61267c281de Binary files /dev/null and b/static/images/emoji/v.png differ diff --git a/static/images/emoji/vertical_traffic_light.png b/static/images/emoji/vertical_traffic_light.png new file mode 100644 index 000000000000..7a5ba35f09d9 Binary files /dev/null and b/static/images/emoji/vertical_traffic_light.png differ diff --git a/static/images/emoji/vhs.png b/static/images/emoji/vhs.png new file mode 100644 index 000000000000..881081c17784 Binary files /dev/null and b/static/images/emoji/vhs.png differ diff --git a/static/images/emoji/vibration_mode.png b/static/images/emoji/vibration_mode.png new file mode 100644 index 000000000000..a716e96c6353 Binary files /dev/null and b/static/images/emoji/vibration_mode.png differ diff --git a/static/images/emoji/video_camera.png b/static/images/emoji/video_camera.png new file mode 100644 index 000000000000..274cecdd6d4d Binary files /dev/null and b/static/images/emoji/video_camera.png differ diff --git a/static/images/emoji/video_game.png b/static/images/emoji/video_game.png new file mode 100644 index 000000000000..e265a3bd8cc5 Binary files /dev/null and b/static/images/emoji/video_game.png differ diff --git a/static/images/emoji/violin.png b/static/images/emoji/violin.png new file mode 100644 index 000000000000..69347b545862 Binary files /dev/null and b/static/images/emoji/violin.png differ diff --git a/static/images/emoji/virgo.png b/static/images/emoji/virgo.png new file mode 100644 index 000000000000..72e1763f5739 Binary files /dev/null and b/static/images/emoji/virgo.png differ diff --git a/static/images/emoji/volcano.png b/static/images/emoji/volcano.png new file mode 100644 index 000000000000..9b434539b056 Binary files /dev/null and b/static/images/emoji/volcano.png differ diff --git a/static/images/emoji/vs.png b/static/images/emoji/vs.png new file mode 100644 index 000000000000..863638850e1e Binary files /dev/null and b/static/images/emoji/vs.png differ diff --git a/static/images/emoji/walking.png b/static/images/emoji/walking.png new file mode 100644 index 000000000000..52bc0381c72c Binary files /dev/null and b/static/images/emoji/walking.png differ diff --git a/static/images/emoji/waning_crescent_moon.png b/static/images/emoji/waning_crescent_moon.png new file mode 100644 index 000000000000..30387780fec8 Binary files /dev/null and b/static/images/emoji/waning_crescent_moon.png differ diff --git a/static/images/emoji/waning_gibbous_moon.png b/static/images/emoji/waning_gibbous_moon.png new file mode 100644 index 000000000000..510099070700 Binary files /dev/null and b/static/images/emoji/waning_gibbous_moon.png differ diff --git a/static/images/emoji/warning.png b/static/images/emoji/warning.png new file mode 100644 index 000000000000..db6f96f02bc3 Binary files /dev/null and b/static/images/emoji/warning.png differ diff --git a/static/images/emoji/watch.png b/static/images/emoji/watch.png new file mode 100644 index 000000000000..d503bb87c229 Binary files /dev/null and b/static/images/emoji/watch.png differ diff --git a/static/images/emoji/water_buffalo.png b/static/images/emoji/water_buffalo.png new file mode 100644 index 000000000000..3bcde3edd953 Binary files /dev/null and b/static/images/emoji/water_buffalo.png differ diff --git a/static/images/emoji/watermelon.png b/static/images/emoji/watermelon.png new file mode 100644 index 000000000000..fc212be78448 Binary files /dev/null and b/static/images/emoji/watermelon.png differ diff --git a/static/images/emoji/wave.png b/static/images/emoji/wave.png new file mode 100644 index 000000000000..56e6e822b124 Binary files /dev/null and b/static/images/emoji/wave.png differ diff --git a/static/images/emoji/wavy_dash.png b/static/images/emoji/wavy_dash.png new file mode 100644 index 000000000000..5a74e5c7aeb3 Binary files /dev/null and b/static/images/emoji/wavy_dash.png differ diff --git a/static/images/emoji/waxing_crescent_moon.png b/static/images/emoji/waxing_crescent_moon.png new file mode 100644 index 000000000000..c8f13dd31c8d Binary files /dev/null and b/static/images/emoji/waxing_crescent_moon.png differ diff --git a/static/images/emoji/waxing_gibbous_moon.png b/static/images/emoji/waxing_gibbous_moon.png new file mode 100644 index 000000000000..54e7ec6711a5 Binary files /dev/null and b/static/images/emoji/waxing_gibbous_moon.png differ diff --git a/static/images/emoji/wc.png b/static/images/emoji/wc.png new file mode 100644 index 000000000000..dfe84d2a73a1 Binary files /dev/null and b/static/images/emoji/wc.png differ diff --git a/static/images/emoji/weary.png b/static/images/emoji/weary.png new file mode 100644 index 000000000000..0c5475411c11 Binary files /dev/null and b/static/images/emoji/weary.png differ diff --git a/static/images/emoji/wedding.png b/static/images/emoji/wedding.png new file mode 100644 index 000000000000..ead19d52cfb4 Binary files /dev/null and b/static/images/emoji/wedding.png differ diff --git a/static/images/emoji/whale.png b/static/images/emoji/whale.png new file mode 100644 index 000000000000..5bb113e42894 Binary files /dev/null and b/static/images/emoji/whale.png differ diff --git a/static/images/emoji/whale2.png b/static/images/emoji/whale2.png new file mode 100644 index 000000000000..0ef4ea94f6dd Binary files /dev/null and b/static/images/emoji/whale2.png differ diff --git a/static/images/emoji/wheelchair.png b/static/images/emoji/wheelchair.png new file mode 100644 index 000000000000..eddcdd7977aa Binary files /dev/null and b/static/images/emoji/wheelchair.png differ diff --git a/static/images/emoji/white_check_mark.png b/static/images/emoji/white_check_mark.png new file mode 100644 index 000000000000..61dc0583cfac Binary files /dev/null and b/static/images/emoji/white_check_mark.png differ diff --git a/static/images/emoji/white_circle.png b/static/images/emoji/white_circle.png new file mode 100644 index 000000000000..3f648d1bd1f7 Binary files /dev/null and b/static/images/emoji/white_circle.png differ diff --git a/static/images/emoji/white_flower.png b/static/images/emoji/white_flower.png new file mode 100644 index 000000000000..c0929d0dd994 Binary files /dev/null and b/static/images/emoji/white_flower.png differ diff --git a/static/images/emoji/white_large_square.png b/static/images/emoji/white_large_square.png new file mode 100644 index 000000000000..60cb19a1371a Binary files /dev/null and b/static/images/emoji/white_large_square.png differ diff --git a/static/images/emoji/white_medium_small_square.png b/static/images/emoji/white_medium_small_square.png new file mode 100644 index 000000000000..a115cdc49e53 Binary files /dev/null and b/static/images/emoji/white_medium_small_square.png differ diff --git a/static/images/emoji/white_medium_square.png b/static/images/emoji/white_medium_square.png new file mode 100644 index 000000000000..199808bcf21f Binary files /dev/null and b/static/images/emoji/white_medium_square.png differ diff --git a/static/images/emoji/white_small_square.png b/static/images/emoji/white_small_square.png new file mode 100644 index 000000000000..24ba879f4649 Binary files /dev/null and b/static/images/emoji/white_small_square.png differ diff --git a/static/images/emoji/white_square_button.png b/static/images/emoji/white_square_button.png new file mode 100644 index 000000000000..ad54d55c0cd7 Binary files /dev/null and b/static/images/emoji/white_square_button.png differ diff --git a/static/images/emoji/wind_chime.png b/static/images/emoji/wind_chime.png new file mode 100644 index 000000000000..efacf5dd4be4 Binary files /dev/null and b/static/images/emoji/wind_chime.png differ diff --git a/static/images/emoji/wine_glass.png b/static/images/emoji/wine_glass.png new file mode 100644 index 000000000000..82b0f00057d6 Binary files /dev/null and b/static/images/emoji/wine_glass.png differ diff --git a/static/images/emoji/wink.png b/static/images/emoji/wink.png new file mode 100644 index 000000000000..756766dd3e97 Binary files /dev/null and b/static/images/emoji/wink.png differ diff --git a/static/images/emoji/wolf.png b/static/images/emoji/wolf.png new file mode 100644 index 000000000000..c60c96895f7e Binary files /dev/null and b/static/images/emoji/wolf.png differ diff --git a/static/images/emoji/woman.png b/static/images/emoji/woman.png new file mode 100644 index 000000000000..6bf0d2b129cc Binary files /dev/null and b/static/images/emoji/woman.png differ diff --git a/static/images/emoji/womans_clothes.png b/static/images/emoji/womans_clothes.png new file mode 100644 index 000000000000..aa297c7b65e5 Binary files /dev/null and b/static/images/emoji/womans_clothes.png differ diff --git a/static/images/emoji/womans_hat.png b/static/images/emoji/womans_hat.png new file mode 100644 index 000000000000..4cb2e6a6934f Binary files /dev/null and b/static/images/emoji/womans_hat.png differ diff --git a/static/images/emoji/womens.png b/static/images/emoji/womens.png new file mode 100644 index 000000000000..2fab2966009c Binary files /dev/null and b/static/images/emoji/womens.png differ diff --git a/static/images/emoji/worried.png b/static/images/emoji/worried.png new file mode 100644 index 000000000000..bfa1856c0191 Binary files /dev/null and b/static/images/emoji/worried.png differ diff --git a/static/images/emoji/wrench.png b/static/images/emoji/wrench.png new file mode 100644 index 000000000000..a87072ad132d Binary files /dev/null and b/static/images/emoji/wrench.png differ diff --git a/static/images/emoji/x.png b/static/images/emoji/x.png new file mode 100644 index 000000000000..dff9efa8b43b Binary files /dev/null and b/static/images/emoji/x.png differ diff --git a/static/images/emoji/yellow_heart.png b/static/images/emoji/yellow_heart.png new file mode 100644 index 000000000000..fa41ce78ac44 Binary files /dev/null and b/static/images/emoji/yellow_heart.png differ diff --git a/static/images/emoji/yen.png b/static/images/emoji/yen.png new file mode 100644 index 000000000000..139bc936e0f3 Binary files /dev/null and b/static/images/emoji/yen.png differ diff --git a/static/images/emoji/yum.png b/static/images/emoji/yum.png new file mode 100644 index 000000000000..fc39637ecd81 Binary files /dev/null and b/static/images/emoji/yum.png differ diff --git a/static/images/emoji/zap.png b/static/images/emoji/zap.png new file mode 100644 index 000000000000..260c531b9e23 Binary files /dev/null and b/static/images/emoji/zap.png differ diff --git a/static/images/emoji/zero.png b/static/images/emoji/zero.png new file mode 100644 index 000000000000..6e57b3343ada Binary files /dev/null and b/static/images/emoji/zero.png differ diff --git a/static/images/emoji/zzz.png b/static/images/emoji/zzz.png new file mode 100644 index 000000000000..30be04655af5 Binary files /dev/null and b/static/images/emoji/zzz.png differ diff --git a/static/images/ethereum.png b/static/images/ethereum.png new file mode 100644 index 000000000000..ee2508e3e0f9 Binary files /dev/null and b/static/images/ethereum.png differ diff --git a/static/images/favicon.png b/static/images/favicon.png new file mode 100644 index 000000000000..650f96992f7d Binary files /dev/null and b/static/images/favicon.png differ diff --git a/static/images/mascot.png b/static/images/mascot.png new file mode 100644 index 000000000000..0aa9543a99bc Binary files /dev/null and b/static/images/mascot.png differ diff --git a/static/scripts/bootstrap.min.js b/static/scripts/bootstrap.min.js new file mode 100644 index 000000000000..9bcd2fccaed9 --- /dev/null +++ b/static/scripts/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/static/scripts/emojify.min.js b/static/scripts/emojify.min.js new file mode 100644 index 000000000000..4fedf320523d --- /dev/null +++ b/static/scripts/emojify.min.js @@ -0,0 +1,4 @@ +/*! emojify.js - v1.0.5 - + * Copyright (c) Hassan Khan 2015 + */ +!function(e,a){"use strict";"function"==typeof define&&define.amd?define([],a):"object"==typeof exports?module.exports=a():e.emojify=a()}(this,function(){"use strict";var e=function(){function e(){var e={named:/:([a-z0-9A-Z_-]+):/,smile:/:-?\)/g,open_mouth:/:o/gi,scream:/:-o/gi,smirk:/[:;]-?]/g,grinning:/[:;]-?d/gi,stuck_out_tongue_closed_eyes:/x-d/gi,stuck_out_tongue_winking_eye:/[:;]-?p/gi,rage:/:-?[\[@]/g,frowning:/:-?\(/g,sob:/:['’]-?\(|:'\(/g,kissing_heart:/:-?\*/g,wink:/;-?\)/g,pensive:/:-?\//g,confounded:/:-?s/gi,flushed:/:-?\|/g,relaxed:/:-?\$/g,mask:/:-x/gi,heart:/<3|<3/g,broken_heart:/<\/3|</3/g,thumbsup:/:\+1:/g,thumbsdown:/:\-1:/g};return d.ignore_emoticons&&(e={named:/:([a-z0-9A-Z_-]+):/,thumbsup:/:\+1:/g,thumbsdown:/:\-1:/g}),Object.keys(e).map(function(a){return[e[a],a]})}function a(){var e=_.map(function(e){var a=e[0],o=a.source||a;return o=o.replace(/(^|[^\[])\^/g,"$1"),"("+o+")"}).join("|");return new RegExp(e,"gi")}function o(e){return" "===e||" "===e||"\r"===e||"\n"===e||""===e||e===String.fromCharCode(160)}function r(e){var a=null;if(e.replacer)a=e.replacer.apply({config:d},[":"+e.emojiName+":",e.emojiName]);else{var o=d.tag_type||h[d.mode];a=e.win.document.createElement(o),"img"!==o?a.setAttribute("class","emoji emoji-"+e.emojiName):(a.setAttribute("align","absmiddle"),a.setAttribute("alt",":"+e.emojiName+":"),a.setAttribute("class","emoji"),a.setAttribute("src",d.img_dir+"/"+e.emojiName+".png")),a.setAttribute("title",":"+e.emojiName+":")}e.node.splitText(e.match.index),e.node.nextSibling.nodeValue=e.node.nextSibling.nodeValue.substr(e.match[0].length,e.node.nextSibling.nodeValue.length),a.appendChild(e.node.splitText(e.match.index)),e.node.parentNode.insertBefore(a,e.node.nextSibling)}function t(e){if(e[1]&&e[2]){var a=e[2];if(m[a])return a}else for(var o=3;o":":"+a+":"}function n(){this.lastEmojiTerminatedAt=-1}function s(o,r){if(!o)return o;r||(r=i),_=e(),c=a();var t=new n;return o.replace(c,function(){var e=Array.prototype.slice.call(arguments,0,-2),a=arguments[arguments.length-2],o=arguments[arguments.length-1],i=t.validate(e,a,o);return i?r.apply({config:d},[arguments[0],i]):arguments[0]})}function l(o,i){"undefined"==typeof o&&(o=d.only_crawl_id?document.getElementById(d.only_crawl_id):document.body);var s=o.ownerDocument,l=s.defaultView||s.parentWindow,u=function(e,a){var o;if(e.hasChildNodes())for(o=e.firstChild;o;)a(o)&&u(o,a),o=o.nextSibling},g=function(e){for(var a,o=[],s=new n;null!==(a=c.exec(e.data));)s.validate(a,a.index,a.input)&&o.push(a);for(var _=o.length;_-->0;){var u=t(o[_]);r({node:e,match:o[_],emojiName:u,replacer:i,win:l})}};_=e(),c=a();var m=[],h=new RegExp(d.blacklist.elements.join("|"),"i"),p=new RegExp(d.blacklist.classes.join("|"),"i");if("undefined"!=typeof l.document.createTreeWalker)for(var b,f=l.document.createTreeWalker(o,l.NodeFilter.SHOW_TEXT|l.NodeFilter.SHOW_ELEMENT,function(e){return 1!==e.nodeType?l.NodeFilter.FILTER_ACCEPT:e.tagName.match(h)||"svg"===e.tagName||e.className.match(p)?l.NodeFilter.FILTER_REJECT:l.NodeFilter.FILTER_SKIP},!1);null!==(b=f.nextNode());)m.push(b);else u(o,function(e){return"undefined"!=typeof e.tagName&&e.tagName.match(h)||"undefined"!=typeof e.className&&e.className.match(p)?!1:1===e.nodeType?!0:(m.push(e),!0)});m.forEach(g)}var _,c,u="+1,-1,100,1234,8ball,a,ab,abc,abcd,accept,aerial_tramway,airplane,alarm_clock,alien,ambulance,anchor,angel,anger,angry,anguished,ant,apple,aquarius,aries,arrow_backward,arrow_double_down,arrow_double_up,arrow_down,arrow_down_small,arrow_forward,arrow_heading_down,arrow_heading_up,arrow_left,arrow_lower_left,arrow_lower_right,arrow_right,arrow_right_hook,arrow_up,arrow_up_down,arrow_up_small,arrow_upper_left,arrow_upper_right,arrows_clockwise,arrows_counterclockwise,art,articulated_lorry,astonished,atm,b,baby,baby_bottle,baby_chick,baby_symbol,back,baggage_claim,balloon,ballot_box_with_check,bamboo,banana,bangbang,bank,bar_chart,barber,baseball,basketball,bath,bathtub,battery,bear,bee,beer,beers,beetle,beginner,bell,bento,bicyclist,bike,bikini,bird,birthday,black_circle,black_joker,black_medium_small_square,black_medium_square,black_nib,black_small_square,black_square,black_square_button,blossom,blowfish,blue_book,blue_car,blue_heart,blush,boar,boat,bomb,book,bookmark,bookmark_tabs,books,boom,boot,bouquet,bow,bowling,bowtie,boy,bread,bride_with_veil,bridge_at_night,briefcase,broken_heart,bug,bulb,bullettrain_front,bullettrain_side,bus,busstop,bust_in_silhouette,busts_in_silhouette,cactus,cake,calendar,calling,camel,camera,cancer,candy,capital_abcd,capricorn,car,card_index,carousel_horse,cat,cat2,cd,chart,chart_with_downwards_trend,chart_with_upwards_trend,checkered_flag,cherries,cherry_blossom,chestnut,chicken,children_crossing,chocolate_bar,christmas_tree,church,cinema,circus_tent,city_sunrise,city_sunset,cl,clap,clapper,clipboard,clock1,clock10,clock1030,clock11,clock1130,clock12,clock1230,clock130,clock2,clock230,clock3,clock330,clock4,clock430,clock5,clock530,clock6,clock630,clock7,clock730,clock8,clock830,clock9,clock930,closed_book,closed_lock_with_key,closed_umbrella,cloud,clubs,cn,cocktail,coffee,cold_sweat,collision,computer,confetti_ball,confounded,confused,congratulations,construction,construction_worker,convenience_store,cookie,cool,cop,copyright,corn,couple,couple_with_heart,couplekiss,cow,cow2,credit_card,crescent_moon,crocodile,crossed_flags,crown,cry,crying_cat_face,crystal_ball,cupid,curly_loop,currency_exchange,curry,custard,customs,cyclone,dancer,dancers,dango,dart,dash,date,de,deciduous_tree,department_store,diamond_shape_with_a_dot_inside,diamonds,disappointed,disappointed_relieved,dizzy,dizzy_face,do_not_litter,dog,dog2,dollar,dolls,dolphin,donut,door,doughnut,dragon,dragon_face,dress,dromedary_camel,droplet,dvd,e-mail,ear,ear_of_rice,earth_africa,earth_americas,earth_asia,egg,eggplant,eight,eight_pointed_black_star,eight_spoked_asterisk,electric_plug,elephant,email,end,envelope,es,euro,european_castle,european_post_office,evergreen_tree,exclamation,expressionless,eyeglasses,eyes,facepunch,factory,fallen_leaf,family,fast_forward,fax,fearful,feelsgood,feet,ferris_wheel,file_folder,finnadie,fire,fire_engine,fireworks,first_quarter_moon,first_quarter_moon_with_face,fish,fish_cake,fishing_pole_and_fish,fist,five,flags,flashlight,floppy_disk,flower_playing_cards,flushed,foggy,football,fork_and_knife,fountain,four,four_leaf_clover,fr,free,fried_shrimp,fries,frog,frowning,fu,fuelpump,full_moon,full_moon_with_face,game_die,gb,gem,gemini,ghost,gift,gift_heart,girl,globe_with_meridians,goat,goberserk,godmode,golf,grapes,green_apple,green_book,green_heart,grey_exclamation,grey_question,grimacing,grin,grinning,guardsman,guitar,gun,haircut,hamburger,hammer,hamster,hand,handbag,hankey,hash,hatched_chick,hatching_chick,headphones,hear_no_evil,heart,heart_decoration,heart_eyes,heart_eyes_cat,heartbeat,heartpulse,hearts,heavy_check_mark,heavy_division_sign,heavy_dollar_sign,heavy_exclamation_mark,heavy_minus_sign,heavy_multiplication_x,heavy_plus_sign,helicopter,herb,hibiscus,high_brightness,high_heel,hocho,honey_pot,honeybee,horse,horse_racing,hospital,hotel,hotsprings,hourglass,hourglass_flowing_sand,house,house_with_garden,hurtrealbad,hushed,ice_cream,icecream,id,ideograph_advantage,imp,inbox_tray,incoming_envelope,information_desk_person,information_source,innocent,interrobang,iphone,it,izakaya_lantern,jack_o_lantern,japan,japanese_castle,japanese_goblin,japanese_ogre,jeans,joy,joy_cat,jp,key,keycap_ten,kimono,kiss,kissing,kissing_cat,kissing_closed_eyes,kissing_face,kissing_heart,kissing_smiling_eyes,koala,koko,kr,large_blue_circle,large_blue_diamond,large_orange_diamond,last_quarter_moon,last_quarter_moon_with_face,laughing,leaves,ledger,left_luggage,left_right_arrow,leftwards_arrow_with_hook,lemon,leo,leopard,libra,light_rail,link,lips,lipstick,lock,lock_with_ink_pen,lollipop,loop,loudspeaker,love_hotel,love_letter,low_brightness,m,mag,mag_right,mahjong,mailbox,mailbox_closed,mailbox_with_mail,mailbox_with_no_mail,man,man_with_gua_pi_mao,man_with_turban,mans_shoe,maple_leaf,mask,massage,meat_on_bone,mega,melon,memo,mens,metal,metro,microphone,microscope,milky_way,minibus,minidisc,mobile_phone_off,money_with_wings,moneybag,monkey,monkey_face,monorail,mortar_board,mount_fuji,mountain_bicyclist,mountain_cableway,mountain_railway,mouse,mouse2,movie_camera,moyai,muscle,mushroom,musical_keyboard,musical_note,musical_score,mute,nail_care,name_badge,neckbeard,necktie,negative_squared_cross_mark,neutral_face,new,new_moon,new_moon_with_face,newspaper,ng,nine,no_bell,no_bicycles,no_entry,no_entry_sign,no_good,no_mobile_phones,no_mouth,no_pedestrians,no_smoking,non-potable_water,nose,notebook,notebook_with_decorative_cover,notes,nut_and_bolt,o,o2,ocean,octocat,octopus,oden,office,ok,ok_hand,ok_woman,older_man,older_woman,on,oncoming_automobile,oncoming_bus,oncoming_police_car,oncoming_taxi,one,open_file_folder,open_hands,open_mouth,ophiuchus,orange_book,outbox_tray,ox,package,page_facing_up,page_with_curl,pager,palm_tree,panda_face,paperclip,parking,part_alternation_mark,partly_sunny,passport_control,paw_prints,peach,pear,pencil,pencil2,penguin,pensive,performing_arts,persevere,person_frowning,person_with_blond_hair,person_with_pouting_face,phone,pig,pig2,pig_nose,pill,pineapple,pisces,pizza,plus1,point_down,point_left,point_right,point_up,point_up_2,police_car,poodle,poop,post_office,postal_horn,postbox,potable_water,pouch,poultry_leg,pound,pouting_cat,pray,princess,punch,purple_heart,purse,pushpin,put_litter_in_its_place,question,rabbit,rabbit2,racehorse,radio,radio_button,rage,rage1,rage2,rage3,rage4,railway_car,rainbow,raised_hand,raised_hands,raising_hand,ram,ramen,rat,recycle,red_car,red_circle,registered,relaxed,relieved,repeat,repeat_one,restroom,revolving_hearts,rewind,ribbon,rice,rice_ball,rice_cracker,rice_scene,ring,rocket,roller_coaster,rooster,rose,rotating_light,round_pushpin,rowboat,ru,rugby_football,runner,running,running_shirt_with_sash,sa,sagittarius,sailboat,sake,sandal,santa,satellite,satisfied,saxophone,school,school_satchel,scissors,scorpius,scream,scream_cat,scroll,seat,secret,see_no_evil,seedling,seven,shaved_ice,sheep,shell,ship,shipit,shirt,shit,shoe,shower,signal_strength,six,six_pointed_star,ski,skull,sleeping,sleepy,slot_machine,small_blue_diamond,small_orange_diamond,small_red_triangle,small_red_triangle_down,smile,smile_cat,smiley,smiley_cat,smiling_imp,smirk,smirk_cat,smoking,snail,snake,snowboarder,snowflake,snowman,sob,soccer,soon,sos,sound,space_invader,spades,spaghetti,sparkle,sparkler,sparkles,sparkling_heart,speak_no_evil,speaker,speech_balloon,speedboat,squirrel,star,star2,stars,station,statue_of_liberty,steam_locomotive,stew,straight_ruler,strawberry,stuck_out_tongue,stuck_out_tongue_closed_eyes,stuck_out_tongue_winking_eye,sun_with_face,sunflower,sunglasses,sunny,sunrise,sunrise_over_mountains,surfer,sushi,suspect,suspension_railway,sweat,sweat_drops,sweat_smile,sweet_potato,swimmer,symbols,syringe,tada,tanabata_tree,tangerine,taurus,taxi,tea,telephone,telephone_receiver,telescope,tennis,tent,thought_balloon,three,thumbsdown,thumbsup,ticket,tiger,tiger2,tired_face,tm,toilet,tokyo_tower,tomato,tongue,top,tophat,tractor,traffic_light,train,train2,tram,triangular_flag_on_post,triangular_ruler,trident,triumph,trolleybus,trollface,trophy,tropical_drink,tropical_fish,truck,trumpet,tshirt,tulip,turtle,tv,twisted_rightwards_arrows,two,two_hearts,two_men_holding_hands,two_women_holding_hands,u5272,u5408,u55b6,u6307,u6708,u6709,u6e80,u7121,u7533,u7981,u7a7a,uk,umbrella,unamused,underage,unlock,up,us,v,vertical_traffic_light,vhs,vibration_mode,video_camera,video_game,violin,virgo,volcano,vs,walking,waning_crescent_moon,waning_gibbous_moon,warning,watch,water_buffalo,watermelon,wave,wavy_dash,waxing_crescent_moon,waxing_gibbous_moon,wc,weary,wedding,whale,whale2,wheelchair,white_check_mark,white_circle,white_flower,white_large_square,white_medium_small_square,white_medium_square,white_small_square,white_square_button,wind_chime,wine_glass,wink,wolf,woman,womans_clothes,womans_hat,womens,worried,wrench,x,yellow_heart,yen,yum,zap,zero,zzz",g=u.split(/,/),m=g.reduce(function(e,a){return e[a]=!0,e},{}),d={blacklist:{ids:[],classes:["no-emojify"],elements:["script","textarea","a","pre","code"]},tag_type:null,only_crawl_id:null,img_dir:"images/emoji",ignore_emoticons:!1,mode:"img"},h={img:"img",sprite:"span","data-uri":"span"};return n.prototype={validate:function(e,a,r){function i(){return n.lastEmojiTerminatedAt=_+a,s}var n=this,s=t(e);if(s){var l=e[0],_=l.length;if(0===a)return i();if(r.length===l.length+a)return i();var c=this.lastEmojiTerminatedAt===a;if(c)return i();if(o(r.charAt(a-1)))return i();var u=o(r.charAt(l.length+a));return u&&c?i():void 0}}},{defaultConfig:d,emojiNames:g,setConfig:function(e){Object.keys(d).forEach(function(a){a in e&&(d[a]=e[a])})},replace:s,run:l}}();return e}); \ No newline at end of file diff --git a/static/scripts/filesize.min.js b/static/scripts/filesize.min.js new file mode 100644 index 000000000000..2654691dda7d --- /dev/null +++ b/static/scripts/filesize.min.js @@ -0,0 +1,6 @@ +/* + 2016 + @version 3.3.0 + */ +"use strict";!function(a){function b(a){var b=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],e=[],f=0,g=void 0,h=void 0,i=void 0,j=void 0,k=void 0,l=void 0,m=void 0,n=void 0,o=void 0,p=void 0,q=void 0,r=void 0;if(isNaN(a))throw new Error("Invalid arguments");return i=b.bits===!0,o=b.unix===!0,h=b.base||2,n=void 0!==b.round?b.round:o?1:2,p=void 0!==b.spacer?b.spacer:o?"":" ",r=b.symbols||b.suffixes||{},q=2===h?b.standard||"jedec":"jedec",m=b.output||"string",g=void 0!==b.exponent?b.exponent:-1,l=Number(a),k=0>l,j=h>2?1e3:1024,k&&(l=-l),0===l?(e[0]=0,e[1]=o?"":i?"b":"B"):((-1===g||isNaN(g))&&(g=Math.floor(Math.log(l)/Math.log(j)),0>g&&(g=0)),g>8&&(g=8),f=2===h?l/Math.pow(2,10*g):l/Math.pow(1e3,g),i&&(f=8*f,f>j&&8>g&&(f/=j,g++)),e[0]=Number(f.toFixed(g>0?n:0)),e[1]=10===h&&1===g?i?"kb":"kB":d[q][i?"bits":"bytes"][g],o&&(e[1]="jedec"===q?e[1].charAt(0):g>0?e[1].replace(/B$/,""):e[1],c.test(e[1])&&(e[0]=Math.floor(e[0]),e[1]=""))),k&&(e[0]=-e[0]),e[1]=r[e[1]]||e[1],"array"===m?e:"exponent"===m?g:"object"===m?{value:e[0],suffix:e[1],symbol:e[1]}:e.join(p)}var c=/^(b|B)$/,d={iec:{bits:["b","Kib","Mib","Gib","Tib","Pib","Eib","Zib","Yib"],bytes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},jedec:{bits:["b","Kb","Mb","Gb","Tb","Pb","Eb","Zb","Yb"],bytes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]}};"undefined"!=typeof exports?module.exports=b:"function"==typeof define&&define.amd?define(function(){return b}):a.filesize=b}("undefined"!=typeof window?window:global); +//# sourceMappingURL=filesize.min.js.map \ No newline at end of file diff --git a/static/scripts/jquery.min.js b/static/scripts/jquery.min.js new file mode 100644 index 000000000000..4c5be4c0fbe2 --- /dev/null +++ b/static/scripts/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v3.1.1 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):C.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/[^\x20\t\r\n\f]+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R), +a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,ka=/^$|\/(?:java|ecma)script/i,la={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};la.optgroup=la.option,la.tbody=la.tfoot=la.colgroup=la.caption=la.thead,la.th=la.td;function ma(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function na(a,b){for(var c=0,d=a.length;c-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=ma(l.appendChild(f),"script"),j&&na(g),c){k=0;while(f=g[k++])ka.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var qa=d.documentElement,ra=/^key/,sa=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ta=/^([^.]*)(?:\.(.+)|)/;function ua(){return!0}function va(){return!1}function wa(){try{return d.activeElement}catch(a){}}function xa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)xa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=va;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(qa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,za=/\s*$/g;function Da(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Ea(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Fa(a){var b=Ba.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ga(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Aa.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ia(f,b,c,d)});if(m&&(e=pa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(ma(e,"script"),Ea),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=ma(h),f=ma(a),d=0,e=f.length;d0&&na(g,!i&&ma(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ja(this,a,!0)},remove:function(a){return Ja(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.appendChild(a)}})},prepend:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(ma(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!za.test(a)&&!la[(ja.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}});function Ya(a,b,c,d,e){return new Ya.prototype.init(a,b,c,d,e)}r.Tween=Ya,Ya.prototype={constructor:Ya,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Ya.propHooks[this.prop];return a&&a.get?a.get(this):Ya.propHooks._default.get(this)},run:function(a){var b,c=Ya.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ya.propHooks._default.set(this),this}},Ya.prototype.init.prototype=Ya.prototype,Ya.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Ya.propHooks.scrollTop=Ya.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Ya.prototype.init,r.fx.step={};var Za,$a,_a=/^(?:toggle|show|hide)$/,ab=/queueHooks$/;function bb(){$a&&(a.requestAnimationFrame(bb),r.fx.tick())}function cb(){return a.setTimeout(function(){Za=void 0}),Za=r.now()}function db(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ba[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function eb(a,b,c){for(var d,e=(hb.tweeners[b]||[]).concat(hb.tweeners["*"]),f=0,g=e.length;f1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?ib:void 0)), +void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),ib={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=jb[b]||r.find.attr;jb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=jb[g],jb[g]=e,e=null!=c(a,b,d)?g:null,jb[g]=f),e}});var kb=/^(?:input|select|textarea|button)$/i,lb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):kb.test(a.nodeName)||lb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function mb(a){var b=a.match(K)||[];return b.join(" ")}function nb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,nb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,nb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,nb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=nb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(nb(c))+" ").indexOf(b)>-1)return!0;return!1}});var ob=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ob,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:mb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ia.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,"$1"),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("