summaryrefslogtreecommitdiffstats
path: root/vendor
diff options
context:
space:
mode:
authormjarkk <mkopenga@gmail.com>2021-07-16 14:06:01 +0200
committermjarkk <mkopenga@gmail.com>2021-07-16 14:06:01 +0200
commitfc066d2f2e539ea3d501ff2616315f219e72d15e (patch)
tree26c4f8ee0d12adf354150f32fe2dd4905eab552c /vendor
parent53ea7df655a8d4893fa623a65d16c7bffded779b (diff)
parse github emoji config option
Diffstat (limited to 'vendor')
-rw-r--r--vendor/github.com/kyokomi/emoji/v2/.gitignore2
-rw-r--r--vendor/github.com/kyokomi/emoji/v2/LICENSE21
-rw-r--r--vendor/github.com/kyokomi/emoji/v2/README.md53
-rw-r--r--vendor/github.com/kyokomi/emoji/v2/emoji.go157
-rw-r--r--vendor/github.com/kyokomi/emoji/v2/emoji_codemap.go7715
-rw-r--r--vendor/github.com/kyokomi/emoji/v2/go.mod3
-rw-r--r--vendor/github.com/kyokomi/emoji/v2/wercker.yml33
-rw-r--r--vendor/modules.txt3
8 files changed, 7987 insertions, 0 deletions
diff --git a/vendor/github.com/kyokomi/emoji/v2/.gitignore b/vendor/github.com/kyokomi/emoji/v2/.gitignore
new file mode 100644
index 000000000..8cd9b9168
--- /dev/null
+++ b/vendor/github.com/kyokomi/emoji/v2/.gitignore
@@ -0,0 +1,2 @@
+.idea
+emoji.iml
diff --git a/vendor/github.com/kyokomi/emoji/v2/LICENSE b/vendor/github.com/kyokomi/emoji/v2/LICENSE
new file mode 100644
index 000000000..239874e0c
--- /dev/null
+++ b/vendor/github.com/kyokomi/emoji/v2/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2014 kyokomi
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/vendor/github.com/kyokomi/emoji/v2/README.md b/vendor/github.com/kyokomi/emoji/v2/README.md
new file mode 100644
index 000000000..e60459859
--- /dev/null
+++ b/vendor/github.com/kyokomi/emoji/v2/README.md
@@ -0,0 +1,53 @@
+# Emoji
+Emoji is a simple golang package.
+
+[![wercker status](https://app.wercker.com/status/7bef60de2c6d3e0e6c13d56b2393c5d8/s/master "wercker status")](https://app.wercker.com/project/byKey/7bef60de2c6d3e0e6c13d56b2393c5d8)
+[![Coverage Status](https://coveralls.io/repos/kyokomi/emoji/badge.png?branch=master)](https://coveralls.io/r/kyokomi/emoji?branch=master)
+[![GoDoc](https://pkg.go.dev/badge/github.com/kyokomi/emoji.svg)](https://pkg.go.dev/github.com/kyokomi/emoji/v2)
+
+Get it:
+
+```
+go get github.com/kyokomi/emoji/v2
+```
+
+Import it:
+
+```
+import (
+ "github.com/kyokomi/emoji/v2"
+)
+```
+
+## Usage
+
+```go
+package main
+
+import (
+ "fmt"
+
+ "github.com/kyokomi/emoji/v2"
+)
+
+func main() {
+ fmt.Println("Hello World Emoji!")
+
+ emoji.Println(":beer: Beer!!!")
+
+ pizzaMessage := emoji.Sprint("I like a :pizza: and :sushi:!!")
+ fmt.Println(pizzaMessage)
+}
+```
+
+## Demo
+
+![demo](screen/image.png)
+
+## Reference
+
+- [unicode Emoji Charts](http://www.unicode.org/emoji/charts/emoji-list.html)
+
+## License
+
+[MIT](https://github.com/kyokomi/emoji/blob/master/LICENSE)
diff --git a/vendor/github.com/kyokomi/emoji/v2/emoji.go b/vendor/github.com/kyokomi/emoji/v2/emoji.go
new file mode 100644
index 000000000..6913a2ea4
--- /dev/null
+++ b/vendor/github.com/kyokomi/emoji/v2/emoji.go
@@ -0,0 +1,157 @@
+// Package emoji terminal output.
+package emoji
+
+import (
+ "bytes"
+ "errors"
+ "fmt"
+ "io"
+ "regexp"
+ "unicode"
+)
+
+//go:generate generateEmojiCodeMap -pkg emoji -o emoji_codemap.go
+
+// Replace Padding character for emoji.
+var (
+ ReplacePadding = " "
+)
+
+// CodeMap gets the underlying map of emoji.
+func CodeMap() map[string]string {
+ return emojiCode()
+}
+
+// RevCodeMap gets the underlying map of emoji.
+func RevCodeMap() map[string][]string {
+ return emojiRevCode()
+}
+
+func AliasList(shortCode string) []string {
+ return emojiRevCode()[emojiCode()[shortCode]]
+}
+
+// HasAlias flags if the given `shortCode` has multiple aliases with other
+// codes.
+func HasAlias(shortCode string) bool {
+ return len(AliasList(shortCode)) > 1
+}
+
+// NormalizeShortCode normalizes a given `shortCode` to a deterministic alias.
+func NormalizeShortCode(shortCode string) string {
+ shortLists := AliasList(shortCode)
+ if len(shortLists) == 0 {
+ return shortCode
+ }
+ return shortLists[0]
+}
+
+// regular expression that matches :flag-[countrycode]:
+var flagRegexp = regexp.MustCompile(":flag-([a-z]{2}):")
+
+func emojize(x string) string {
+ str, ok := emojiCode()[x]
+ if ok {
+ return str + ReplacePadding
+ }
+ if match := flagRegexp.FindStringSubmatch(x); len(match) == 2 {
+ return regionalIndicator(match[1][0]) + regionalIndicator(match[1][1])
+ }
+ return x
+}
+
+// regionalIndicator maps a lowercase letter to a unicode regional indicator
+func regionalIndicator(i byte) string {
+ return string('\U0001F1E6' + rune(i) - 'a')
+}
+
+func replaseEmoji(input *bytes.Buffer) string {
+ emoji := bytes.NewBufferString(":")
+ for {
+ i, _, err := input.ReadRune()
+ if err != nil {
+ // not replase
+ return emoji.String()
+ }
+
+ if i == ':' && emoji.Len() == 1 {
+ return emoji.String() + replaseEmoji(input)
+ }
+
+ emoji.WriteRune(i)
+ switch {
+ case unicode.IsSpace(i):
+ return emoji.String()
+ case i == ':':
+ return emojize(emoji.String())
+ }
+ }
+}
+
+func compile(x string) string {
+ if x == "" {
+ return ""
+ }
+
+ input := bytes.NewBufferString(x)
+ output := bytes.NewBufferString("")
+
+ for {
+ i, _, err := input.ReadRune()
+ if err != nil {
+ break
+ }
+ switch i {
+ default:
+ output.WriteRune(i)
+ case ':':
+ output.WriteString(replaseEmoji(input))
+ }
+ }
+ return output.String()
+}
+
+// Print is fmt.Print which supports emoji
+func Print(a ...interface{}) (int, error) {
+ return fmt.Print(compile(fmt.Sprint(a...)))
+}
+
+// Println is fmt.Println which supports emoji
+func Println(a ...interface{}) (int, error) {
+ return fmt.Println(compile(fmt.Sprint(a...)))
+}
+
+// Printf is fmt.Printf which supports emoji
+func Printf(format string, a ...interface{}) (int, error) {
+ return fmt.Print(compile(fmt.Sprintf(format, a...)))
+}
+
+// Fprint is fmt.Fprint which supports emoji
+func Fprint(w io.Writer, a ...interface{}) (int, error) {
+ return fmt.Fprint(w, compile(fmt.Sprint(a...)))
+}
+
+// Fprintln is fmt.Fprintln which supports emoji
+func Fprintln(w io.Writer, a ...interface{}) (int, error) {
+ return fmt.Fprintln(w, compile(fmt.Sprint(a...)))
+}
+
+// Fprintf is fmt.Fprintf which supports emoji
+func Fprintf(w io.Writer, format string, a ...interface{}) (int, error) {
+ return fmt.Fprint(w, compile(fmt.Sprintf(format, a...)))
+}
+
+// Sprint is fmt.Sprint which supports emoji
+func Sprint(a ...interface{}) string {
+ return compile(fmt.Sprint(a...))
+}
+
+// Sprintf is fmt.Sprintf which supports emoji
+func Sprintf(format string, a ...interface{}) string {
+ return compile(fmt.Sprintf(format, a...))
+}
+
+// Errorf is fmt.Errorf which supports emoji
+func Errorf(format string, a ...interface{}) error {
+ return errors.New(compile(Sprintf(format, a...)))
+}
diff --git a/vendor/github.com/kyokomi/emoji/v2/emoji_codemap.go b/vendor/github.com/kyokomi/emoji/v2/emoji_codemap.go
new file mode 100644
index 000000000..9a9d73b05
--- /dev/null
+++ b/vendor/github.com/kyokomi/emoji/v2/emoji_codemap.go
@@ -0,0 +1,7715 @@
+package emoji
+
+import (
+ "sync"
+)
+
+// NOTE: THIS FILE WAS PRODUCED BY THE
+// EMOJICODEMAP CODE GENERATION TOOL (github.com/kyokomi/emoji/cmd/generateEmojiCodeMap)
+// DO NOT EDIT
+
+var emojiCodeMap map[string]string
+var emojiCodeMapInitOnce = sync.Once{}
+
+func emojiCode() map[string]string {
+ emojiCodeMapInitOnce.Do(func() {
+ emojiCodeMap = map[string]string{
+ ":+1:": "\U0001f44d",
+ ":-1:": "\U0001f44e",
+ ":100:": "\U0001f4af",
+ ":1234:": "\U0001f522",
+ ":1st_place_medal:": "\U0001f947",
+ ":2nd_place_medal:": "\U0001f948",
+ ":3rd_place_medal:": "\U0001f949",
+ ":8ball:": "\U0001f3b1",
+ ":AB_button_(blood_type):": "\U0001f18e",
+ ":ATM_sign:": "\U0001f3e7",
+ ":A_button_(blood_type):": "\U0001f170",
+ ":Aquarius:": "\u2652",
+ ":Aries:": "\u2648",
+ ":BACK_arrow:": "\U0001f519",
+ ":B_button_(blood_type):": "\U0001f171",
+ ":CL_button:": "\U0001f191",
+ ":COOL_button:": "\U0001f192",
+ ":Cancer:": "\u264b",
+ ":Capricorn:": "\u2651",
+ ":Christmas_tree:": "\U0001f384",
+ ":END_arrow:": "\U0001f51a",
+ ":FREE_button:": "\U0001f193",
+ ":Gemini:": "\u264a",
+ ":ID_button:": "\U0001f194",
+ ":Japanese_acceptable_button:": "\U0001f251",
+ ":Japanese_application_button:": "\U0001f238",
+ ":Japanese_bargain_button:": "\U0001f250",
+ ":Japanese_castle:": "\U0001f3ef",
+ ":Japanese_congratulations_button:": "\u3297",
+ ":Japanese_discount_button:": "\U0001f239",
+ ":Japanese_dolls:": "\U0001f38e",
+ ":Japanese_free_of_charge_button:": "\U0001f21a",
+ ":Japanese_here_button:": "\U0001f201",
+ ":Japanese_monthly_amount_button:": "\U0001f237",
+ ":Japanese_no_vacancy_button:": "\U0001f235",
+ ":Japanese_not_free_of_charge_button:": "\U0001f236",
+ ":Japanese_open_for_business_button:": "\U0001f23a",
+ ":Japanese_passing_grade_button:": "\U0001f234",
+ ":Japanese_post_office:": "\U0001f3e3",
+ ":Japanese_prohibited_button:": "\U0001f232",
+ ":Japanese_reserved_button:": "\U0001f22f",
+ ":Japanese_secret_button:": "\u3299",
+ ":Japanese_service_charge_button:": "\U0001f202",
+ ":Japanese_symbol_for_beginner:": "\U0001f530",
+ ":Japanese_vacancy_button:": "\U0001f233",
+ ":Leo:": "\u264c",
+ ":Libra:": "\u264e",
+ ":Mrs._Claus:": "\U0001f936",
+ ":NEW_button:": "\U0001f195",
+ ":NG_button:": "\U0001f196",
+ ":OK_button:": "\U0001f197",
+ ":OK_hand:": "\U0001f44c",
+ ":ON!_arrow:": "\U0001f51b",
+ ":O_button_(blood_type):": "\U0001f17e",
+ ":Ophiuchus:": "\u26ce",
+ ":P_button:": "\U0001f17f",
+ ":Pisces:": "\u2653",
+ ":SOON_arrow:": "\U0001f51c",
+ ":SOS_button:": "\U0001f198",
+ ":Sagittarius:": "\u2650",
+ ":Santa_Claus:": "\U0001f385",
+ ":Scorpio:": "\u264f",
+ ":Statue_of_Liberty:": "\U0001f5fd",
+ ":T-Rex:": "\U0001f996",
+ ":TOP_arrow:": "\U0001f51d",
+ ":Taurus:": "\u2649",
+ ":Tokyo_tower:": "\U0001f5fc",
+ ":UP!_button:": "\U0001f199",
+ ":VS_button:": "\U0001f19a",
+ ":Virgo:": "\u264d",
+ ":a:": "\U0001f170\ufe0f",
+ ":ab:": "\U0001f18e",
+ ":abacus:": "\U0001f9ee",
+ ":abc:": "\U0001f524",
+ ":abcd:": "\U0001f521",
+ ":accept:": "\U0001f251",
+ ":accordion:": "\U0001fa97",
+ ":adhesive_bandage:": "\U0001fa79",
+ ":admission_tickets:": "\U0001f39f\ufe0f",
+ ":adult:": "\U0001f9d1",
+ ":adult_tone1:": "\U0001f9d1\U0001f3fb",
+ ":adult_tone2:": "\U0001f9d1\U0001f3fc",
+ ":adult_tone3:": "\U0001f9d1\U0001f3fd",
+ ":adult_tone4:": "\U0001f9d1\U0001f3fe",
+ ":adult_tone5:": "\U0001f9d1\U0001f3ff",
+ ":aerial_tramway:": "\U0001f6a1",
+ ":afghanistan:": "\U0001f1e6\U0001f1eb",
+ ":airplane:": "\u2708\ufe0f",
+ ":airplane_arrival:": "\U0001f6ec",
+ ":airplane_arriving:": "\U0001f6ec",
+ ":airplane_departure:": "\U0001f6eb",
+ ":airplane_small:": "\U0001f6e9",
+ ":aland_islands:": "\U0001f1e6\U0001f1fd",
+ ":alarm_clock:": "\u23f0",
+ ":albania:": "\U0001f1e6\U0001f1f1",
+ ":alembic:": "\u2697\ufe0f",
+ ":algeria:": "\U0001f1e9\U0001f1ff",
+ ":alien:": "\U0001f47d",
+ ":alien_monster:": "\U0001f47e",
+ ":ambulance:": "\U0001f691",
+ ":american_football:": "\U0001f3c8",
+ ":american_samoa:": "\U0001f1e6\U0001f1f8",
+ ":amphora:": "\U0001f3fa",
+ ":anatomical_heart:": "\U0001fac0",
+ ":anchor:": "\u2693",
+ ":andorra:": "\U0001f1e6\U0001f1e9",
+ ":angel:": "\U0001f47c",
+ ":angel_tone1:": "\U0001f47c\U0001f3fb",
+ ":angel_tone2:": "\U0001f47c\U0001f3fc",
+ ":angel_tone3:": "\U0001f47c\U0001f3fd",
+ ":angel_tone4:": "\U0001f47c\U0001f3fe",
+ ":angel_tone5:": "\U0001f47c\U0001f3ff",
+ ":anger:": "\U0001f4a2",
+ ":anger_right:": "\U0001f5ef",
+ ":anger_symbol:": "\U0001f4a2",
+ ":angola:": "\U0001f1e6\U0001f1f4",
+ ":angry:": "\U0001f620",
+ ":angry_face:": "\U0001f620",
+ ":angry_face_with_horns:": "\U0001f47f",
+ ":anguilla:": "\U0001f1e6\U0001f1ee",
+ ":anguished:": "\U0001f627",
+ ":anguished_face:": "\U0001f627",
+ ":ant:": "\U0001f41c",
+ ":antarctica:": "\U0001f1e6\U0001f1f6",
+ ":antenna_bars:": "\U0001f4f6",
+ ":antigua_barbuda:": "\U0001f1e6\U0001f1ec",
+ ":anxious_face_with_sweat:": "\U0001f630",
+ ":apple:": "\U0001f34e",
+ ":aquarius:": "\u2652",
+ ":argentina:": "\U0001f1e6\U0001f1f7",
+ ":aries:": "\u2648",
+ ":armenia:": "\U0001f1e6\U0001f1f2",
+ ":arrow_backward:": "\u25c0\ufe0f",
+ ":arrow_double_down:": "\u23ec",
+ ":arrow_double_up:": "\u23eb",
+ ":arrow_down:": "\u2b07\ufe0f",
+ ":arrow_down_small:": "\U0001f53d",
+ ":arrow_forward:": "\u25b6\ufe0f",
+ ":arrow_heading_down:": "\u2935\ufe0f",
+ ":arrow_heading_up:": "\u2934\ufe0f",
+ ":arrow_left:": "\u2b05\ufe0f",
+ ":arrow_lower_left:": "\u2199\ufe0f",
+ ":arrow_lower_right:": "\u2198\ufe0f",
+ ":arrow_right:": "\u27a1\ufe0f",
+ ":arrow_right_hook:": "\u21aa\ufe0f",
+ ":arrow_up:": "\u2b06\ufe0f",
+ ":arrow_up_down:": "\u2195\ufe0f",
+ ":arrow_up_small:": "\U0001f53c",
+ ":arrow_upper_left:": "\u2196\ufe0f",
+ ":arrow_upper_right:": "\u2197\ufe0f",
+ ":arrows_clockwise:": "\U0001f503",
+ ":arrows_counterclockwise:": "\U0001f504",
+ ":art:": "\U0001f3a8",
+ ":articulated_lorry:": "\U0001f69b",
+ ":artificial_satellite:": "\U0001f6f0\ufe0f",
+ ":artist:": "\U0001f9d1\u200d\U0001f3a8",
+ ":artist_palette:": "\U0001f3a8",
+ ":aruba:": "\U0001f1e6\U0001f1fc",
+ ":ascension_island:": "\U0001f1e6\U0001f1e8",
+ ":asterisk:": "*\ufe0f\u20e3",
+ ":astonished:": "\U0001f632",
+ ":astonished_face:": "\U0001f632",
+ ":astronaut:": "\U0001f9d1\u200d\U0001f680",
+ ":athletic_shoe:": "\U0001f45f",
+ ":atm:": "\U0001f3e7",
+ ":atom:": "\u269b",
+ ":atom_symbol:": "\u269b\ufe0f",
+ ":australia:": "\U0001f1e6\U0001f1fa",
+ ":austria:": "\U0001f1e6\U0001f1f9",
+ ":auto_rickshaw:": "\U0001f6fa",
+ ":automobile:": "\U0001f697",
+ ":avocado:": "\U0001f951",
+ ":axe:": "\U0001fa93",
+ ":azerbaijan:": "\U0001f1e6\U0001f1ff",
+ ":b:": "\U0001f171\ufe0f",
+ ":baby:": "\U0001f476",
+ ":baby_angel:": "\U0001f47c",
+ ":baby_bottle:": "\U0001f37c",
+ ":baby_chick:": "\U0001f424",
+ ":baby_symbol:": "\U0001f6bc",
+ ":baby_tone1:": "\U0001f476\U0001f3fb",
+ ":baby_tone2:": "\U0001f476\U0001f3fc",
+ ":baby_tone3:": "\U0001f476\U0001f3fd",
+ ":baby_tone4:": "\U0001f476\U0001f3fe",
+ ":baby_tone5:": "\U0001f476\U0001f3ff",
+ ":back:": "\U0001f519",
+ ":backhand_index_pointing_down:": "\U0001f447",
+ ":backhand_index_pointing_left:": "\U0001f448",
+ ":backhand_index_pointing_right:": "\U0001f449",
+ ":backhand_index_pointing_up:": "\U0001f446",
+ ":backpack:": "\U0001f392",
+ ":bacon:": "\U0001f953",
+ ":badger:": "\U0001f9a1",
+ ":badminton:": "\U0001f3f8",
+ ":badminton_racquet_and_shuttlecock:": "\U0001f3f8",
+ ":bagel:": "\U0001f96f",
+ ":baggage_claim:": "\U0001f6c4",
+ ":baguette_bread:": "\U0001f956",
+ ":bahamas:": "\U0001f1e7\U0001f1f8",
+ ":bahrain:": "\U0001f1e7\U0001f1ed",
+ ":balance_scale:": "\u2696",
+ ":bald:": "\U0001f9b2",
+ ":bald_man:": "\U0001f468\u200d\U0001f9b2",
+ ":bald_person:": "\U0001f9d1\u200d\U0001f9b2",
+ ":bald_woman:": "\U0001f469\u200d\U0001f9b2",
+ ":ballet_shoes:": "\U0001fa70",
+ ":balloon:": "\U0001f388",
+ ":ballot_box:": "\U0001f5f3",
+ ":ballot_box_with_ballot:": "\U0001f5f3\ufe0f",
+ ":ballot_box_with_check:": "\u2611\ufe0f",
+ ":bamboo:": "\U0001f38d",
+ ":banana:": "\U0001f34c",
+ ":bangbang:": "\u203c\ufe0f",
+ ":bangladesh:": "\U0001f1e7\U0001f1e9",
+ ":banjo:": "\U0001fa95",
+ ":bank:": "\U0001f3e6",
+ ":bar_chart:": "\U0001f4ca",
+ ":barbados:": "\U0001f1e7\U0001f1e7",
+ ":barber:": "\U0001f488",
+ ":barber_pole:": "\U0001f488",
+ ":barely_sunny:": "\U0001f325\ufe0f",
+ ":baseball:": "\u26be",
+ ":basket:": "\U0001f9fa",
+ ":basketball:": "\U0001f3c0",
+ ":basketball_man:": "\u26f9\ufe0f\u200d\u2642\ufe0f",
+ ":basketball_woman:": "\u26f9\ufe0f\u200d\u2640\ufe0f",
+ ":bat:": "\U0001f987",
+ ":bath:": "\U0001f6c0",
+ ":bath_tone1:": "\U0001f6c0\U0001f3fb",
+ ":bath_tone2:": "\U0001f6c0\U0001f3fc",
+ ":bath_tone3:": "\U0001f6c0\U0001f3fd",
+ ":bath_tone4:": "\U0001f6c0\U0001f3fe",
+ ":bath_tone5:": "\U0001f6c0\U0001f3ff",
+ ":bathtub:": "\U0001f6c1",
+ ":battery:": "\U0001f50b",
+ ":beach:": "\U0001f3d6",
+ ":beach_umbrella:": "\u26f1",
+ ":beach_with_umbrella:": "\U0001f3d6\ufe0f",
+ ":beaming_face_with_smiling_eyes:": "\U0001f601",
+ ":bear:": "\U0001f43b",
+ ":bearded_person:": "\U0001f9d4",
+ ":bearded_person_tone1:": "\U0001f9d4\U0001f3fb",
+ ":bearded_person_tone2:": "\U0001f9d4\U0001f3fc",
+ ":bearded_person_tone3:": "\U0001f9d4\U0001f3fd",
+ ":bearded_person_tone4:": "\U0001f9d4\U0001f3fe",
+ ":bearded_person_tone5:": "\U0001f9d4\U0001f3ff",
+ ":beating_heart:": "\U0001f493",
+ ":beaver:": "\U0001f9ab",
+ ":bed:": "\U0001f6cf\ufe0f",
+ ":bee:": "\U0001f41d",
+ ":beer:": "\U0001f37a",
+ ":beer_mug:": "\U0001f37a",
+ ":beers:": "\U0001f37b",
+ ":beetle:": "\U0001fab2",
+ ":beginner:": "\U0001f530",
+ ":belarus:": "\U0001f1e7\U0001f1fe",
+ ":belgium:": "\U0001f1e7\U0001f1ea",
+ ":belize:": "\U0001f1e7\U0001f1ff",
+ ":bell:": "\U0001f514",
+ ":bell_pepper:": "\U0001fad1",
+ ":bell_with_slash:": "\U0001f515",
+ ":bellhop:": "\U0001f6ce",
+ ":bellhop_bell:": "\U0001f6ce\ufe0f",
+ ":benin:": "\U0001f1e7\U0001f1ef",
+ ":bento:": "\U0001f371",
+ ":bento_box:": "\U0001f371",
+ ":bermuda:": "\U0001f1e7\U0001f1f2",
+ ":beverage_box:": "\U0001f9c3",
+ ":bhutan:": "\U0001f1e7\U0001f1f9",
+ ":bicycle:": "\U0001f6b2",
+ ":bicyclist:": "\U0001f6b4\u200d\u2642\ufe0f",
+ ":bike:": "\U0001f6b2",
+ ":biking_man:": "\U0001f6b4\u200d\u2642\ufe0f",
+ ":biking_woman:": "\U0001f6b4\u200d\u2640\ufe0f",
+ ":bikini:": "\U0001f459",
+ ":billed_cap:": "\U0001f9e2",
+ ":biohazard:": "\u2623",
+ ":biohazard_sign:": "\u2623\ufe0f",
+ ":bird:": "\U0001f426",
+ ":birthday:": "\U0001f382",
+ ":birthday_cake:": "\U0001f382",
+ ":bison:": "\U0001f9ac",
+ ":black_cat:": "\U0001f408\u200d\u2b1b",
+ ":black_circle:": "\u26ab",
+ ":black_circle_for_record:": "\u23fa\ufe0f",
+ ":black_flag:": "\U0001f3f4",
+ ":black_heart:": "\U0001f5a4",
+ ":black_joker:": "\U0001f0cf",
+ ":black_large_square:": "\u2b1b",
+ ":black_left_pointing_double_triangle_with_vertical_bar:": "\u23ee\ufe0f",
+ ":black_medium-small_square:": "\u25fe",
+ ":black_medium_small_square:": "\u25fe",
+ ":black_medium_square:": "\u25fc\ufe0f",
+ ":black_nib:": "\u2712\ufe0f",
+ ":black_right_pointing_double_triangle_with_vertical_bar:": "\u23ed\ufe0f",
+ ":black_right_pointing_triangle_with_double_vertical_bar:": "\u23ef\ufe0f",
+ ":black_small_square:": "\u25aa\ufe0f",
+ ":black_square_button:": "\U0001f532",
+ ":black_square_for_stop:": "\u23f9\ufe0f",
+ ":blond-haired-man:": "\U0001f471\u200d\u2642\ufe0f",
+ ":blond-haired-woman:": "\U0001f471\u200d\u2640\ufe0f",
+ ":blond-haired_man:": "\U0001f471\u200d\u2642\ufe0f",
+ ":blond-haired_man_tone1:": "\U0001f471\U0001f3fb\u200d\u2642\ufe0f",
+ ":blond-haired_man_tone2:": "\U0001f471\U0001f3fc\u200d\u2642\ufe0f",
+ ":blond-haired_man_tone3:": "\U0001f471\U0001f3fd\u200d\u2642\ufe0f",
+ ":blond-haired_man_tone4:": "\U0001f471\U0001f3fe\u200d\u2642\ufe0f",
+ ":blond-haired_man_tone5:": "\U0001f471\U0001f3ff\u200d\u2642\ufe0f",
+ ":blond-haired_woman:": "\U0001f471\u200d\u2640\ufe0f",
+ ":blond-haired_woman_tone1:": "\U0001f471\U0001f3fb\u200d\u2640\ufe0f",
+ ":blond-haired_woman_tone2:": "\U0001f471\U0001f3fc\u200d\u2640\ufe0f",
+ ":blond-haired_woman_tone3:": "\U0001f471\U0001f3fd\u200d\u2640\ufe0f",
+ ":blond-haired_woman_tone4:": "\U0001f471\U0001f3fe\u200d\u2640\ufe0f",
+ ":blond-haired_woman_tone5:": "\U0001f471\U0001f3ff\u200d\u2640\ufe0f",
+ ":blond_haired_man:": "\U0001f471\u200d\u2642\ufe0f",
+ ":blond_haired_person:": "\U0001f471",
+ ":blond_haired_person_tone1:": "\U0001f471\U0001f3fb",
+ ":blond_haired_person_tone2:": "\U0001f471\U0001f3fc",
+ ":blond_haired_person_tone3:": "\U0001f471\U0001f3fd",
+ ":blond_haired_person_tone4:": "\U0001f471\U0001f3fe",
+ ":blond_haired_person_tone5:": "\U0001f471\U0001f3ff",
+ ":blond_haired_woman:": "\U0001f471\u200d\u2640\ufe0f",
+ ":blonde_woman:": "\U0001f471\u200d\u2640\ufe0f",
+ ":blossom:": "\U0001f33c",
+ ":blowfish:": "\U0001f421",
+ ":blue_book:": "\U0001f4d8",
+ ":blue_car:": "\U0001f699",
+ ":blue_circle:": "\U0001f535",
+ ":blue_heart:": "\U0001f499",
+ ":blue_square:": "\U0001f7e6",
+ ":blueberries:": "\U0001fad0",
+ ":blush:": "\U0001f60a",
+ ":boar:": "\U0001f417",
+ ":boat:": "\u26f5",
+ ":bolivia:": "\U0001f1e7\U0001f1f4",
+ ":bomb:": "\U0001f4a3",
+ ":bone:": "\U0001f9b4",
+ ":book:": "\U0001f4d6",
+ ":bookmark:": "\U0001f516",
+ ":bookmark_tabs:": "\U0001f4d1",
+ ":books:": "\U0001f4da",
+ ":boom:": "\U0001f4a5",
+ ":boomerang:": "\U0001fa83",
+ ":boot:": "\U0001f462",
+ ":bosnia_herzegovina:": "\U0001f1e7\U0001f1e6",
+ ":botswana:": "\U0001f1e7\U0001f1fc",
+ ":bottle_with_popping_cork:": "\U0001f37e",
+ ":bouncing_ball_man:": "\u26f9\ufe0f\u200d\u2642\ufe0f",
+ ":bouncing_ball_person:": "\u26f9\ufe0f",
+ ":bouncing_ball_woman:": "\u26f9\ufe0f\u200d\u2640\ufe0f",
+ ":bouquet:": "\U0001f490",
+ ":bouvet_island:": "\U0001f1e7\U0001f1fb",
+ ":bow:": "\U0001f647\u200d\u2642\ufe0f",
+ ":bow_and_arrow:": "\U0001f3f9",
+ ":bowing_man:": "\U0001f647\u200d\u2642\ufe0f",
+ ":bowing_woman:": "\U0001f647\u200d\u2640\ufe0f",
+ ":bowl_with_spoon:": "\U0001f963",
+ ":bowling:": "\U0001f3b3",
+ ":boxing_glove:": "\U0001f94a",
+ ":boy:": "\U0001f466",
+ ":boy_tone1:": "\U0001f466\U0001f3fb",
+ ":boy_tone2:": "\U0001f466\U0001f3fc",
+ ":boy_tone3:": "\U0001f466\U0001f3fd",
+ ":boy_tone4:": "\U0001f466\U0001f3fe",
+ ":boy_tone5:": "\U0001f466\U0001f3ff",
+ ":brain:": "\U0001f9e0",
+ ":brazil:": "\U0001f1e7\U0001f1f7",
+ ":bread:": "\U0001f35e",
+ ":breast-feeding:": "\U0001f931",
+ ":breast_feeding:": "\U0001f931",
+ ":breast_feeding_tone1:": "\U0001f931\U0001f3fb",
+ ":breast_feeding_tone2:": "\U0001f931\U0001f3fc",
+ ":breast_feeding_tone3:": "\U0001f931\U0001f3fd",
+ ":breast_feeding_tone4:": "\U0001f931\U0001f3fe",
+ ":breast_feeding_tone5:": "\U0001f931\U0001f3ff",
+ ":brick:": "\U0001f9f1",
+ ":bricks:": "\U0001f9f1",
+ ":bride_with_veil:": "\U0001f470",
+ ":bride_with_veil_tone1:": "\U0001f470\U0001f3fb",
+ ":bride_with_veil_tone2:": "\U0001f470\U0001f3fc",
+ ":bride_with_veil_tone3:": "\U0001f470\U0001f3fd",
+ ":bride_with_veil_tone4:": "\U0001f470\U0001f3fe",
+ ":bride_with_veil_tone5:": "\U0001f470\U0001f3ff",
+ ":bridge_at_night:": "\U0001f309",
+ ":briefcase:": "\U0001f4bc",
+ ":briefs:": "\U0001fa72",
+ ":bright_button:": "\U0001f506",
+ ":british_indian_ocean_territory:": "\U0001f1ee\U0001f1f4",
+ ":british_virgin_islands:": "\U0001f1fb\U0001f1ec",
+ ":broccoli:": "\U0001f966",
+ ":broken_heart:": "\U0001f494",
+ ":broom:": "\U0001f9f9",
+ ":brown_circle:": "\U0001f7e4",
+ ":brown_heart:": "\U0001f90e",
+ ":brown_square:": "\U0001f7eb",
+ ":brunei:": "\U0001f1e7\U0001f1f3",
+ ":bubble_tea:": "\U0001f9cb",
+ ":bucket:": "\U0001faa3",
+ ":bug:": "\U0001f41b",
+ ":building_construction:": "\U0001f3d7\ufe0f",
+ ":bulb:": "\U0001f4a1",
+ ":bulgaria:": "\U0001f1e7\U0001f1ec",
+ ":bullet_train:": "\U0001f685",
+ ":bullettrain_front:": "\U0001f685",
+ ":bullettrain_side:": "\U0001f684",
+ ":bullseye:": "\U0001f3af",
+ ":burkina_faso:": "\U0001f1e7\U0001f1eb",
+ ":burrito:": "\U0001f32f",
+ ":burundi:": "\U0001f1e7\U0001f1ee",
+ ":bus:": "\U0001f68c",