// Generated by EmojiMapper
// fret@memecode.com
#include "lgi/common/Lgi.h"
#include "lgi/common/Emoji.h"

EmojiChar EmojiToIconIndex(const uint32_t *Str, ssize_t Len)
{
	switch (*Str)
	{
		case 0x23:
			if (Len >= 3 && Str[1]==0xfe0f && Str[2]==0x20e3) return {1495, 3, "keycap: #"};
			break;
		case 0x2a:
			if (Len >= 3 && Str[1]==0xfe0f && Str[2]==0x20e3) return {1496, 3, "keycap: *"};
			break;
		case 0x30:
			if (Len >= 3 && Str[1]==0xfe0f && Str[2]==0x20e3) return {1497, 3, "keycap: 0"};
			break;
		case 0x31:
			if (Len >= 3 && Str[1]==0xfe0f && Str[2]==0x20e3) return {1498, 3, "keycap: 1"};
			break;
		case 0x32:
			if (Len >= 3 && Str[1]==0xfe0f && Str[2]==0x20e3) return {1499, 3, "keycap: 2"};
			break;
		case 0x33:
			if (Len >= 3 && Str[1]==0xfe0f && Str[2]==0x20e3) return {1500, 3, "keycap: 3"};
			break;
		case 0x34:
			if (Len >= 3 && Str[1]==0xfe0f && Str[2]==0x20e3) return {1501, 3, "keycap: 4"};
			break;
		case 0x35:
			if (Len >= 3 && Str[1]==0xfe0f && Str[2]==0x20e3) return {1502, 3, "keycap: 5"};
			break;
		case 0x36:
			if (Len >= 3 && Str[1]==0xfe0f && Str[2]==0x20e3) return {1503, 3, "keycap: 6"};
			break;
		case 0x37:
			if (Len >= 3 && Str[1]==0xfe0f && Str[2]==0x20e3) return {1504, 3, "keycap: 7"};
			break;
		case 0x38:
			if (Len >= 3 && Str[1]==0xfe0f && Str[2]==0x20e3) return {1505, 3, "keycap: 8"};
			break;
		case 0x39:
			if (Len >= 3 && Str[1]==0xfe0f && Str[2]==0x20e3) return {1506, 3, "keycap: 9"};
			break;
		case 0xa9: return {1492, 1, "copyright"};
		case 0xae: return {1493, 1, "registered"};
		case 0x203c: return {1466, 1, "double exclamation mark"};
		case 0x2049: return {1467, 1, "exclamation question mark"};
		case 0x2122: return {1494, 1, "trade mark"};
		case 0x2139: return {1519, 1, "information"};
		case 0x2194: return {1398, 1, "left-right arrow"};
		case 0x2195: return {1397, 1, "up-down arrow"};
		case 0x2196: return {1396, 1, "up-left arrow"};
		case 0x2197: return {1390, 1, "up-right arrow"};
		case 0x2198: return {1392, 1, "down-right arrow"};
		case 0x2199: return {1394, 1, "down-left arrow"};
		case 0x21a9: return {1399, 1, "right arrow curving left"};
		case 0x21aa: return {1400, 1, "left arrow curving right"};
		case 0x231a: return {946, 1, "watch"};
		case 0x231b: return {944, 1, "hourglass done"};
		case 0x2328: return {1192, 1, "keyboard"};
		case 0x23cf: return {1452, 1, "eject button"};
		case 0x23e9: return {1439, 1, "fast-forward button"};
		case 0x23ea: return {1443, 1, "fast reverse button"};
		case 0x23eb: return {1446, 1, "fast up button"};
		case 0x23ec: return {1448, 1, "fast down button"};
		case 0x23ed: return {1440, 1, "next track button"};
		case 0x23ee: return {1444, 1, "last track button"};
		case 0x23ef: return {1441, 1, "play or pause button"};
		case 0x23f0: return {947, 1, "alarm clock"};
		case 0x23f1: return {948, 1, "stopwatch"};
		case 0x23f2: return {949, 1, "timer clock"};
		case 0x23f3: return {945, 1, "hourglass not done"};
		case 0x23f8: return {1449, 1, "pause button"};
		case 0x23f9: return {1450, 1, "stop button"};
		case 0x23fa: return {1451, 1, "record button"};
		case 0x24c2: return {1521, 1, "circled M"};
		case 0x25aa: return {1569, 1, "black small square"};
		case 0x25ab: return {1570, 1, "white small square"};
		case 0x25b6: return {1438, 1, "play button"};
		case 0x25c0: return {1442, 1, "reverse button"};
		case 0x25fb: return {1566, 1, "white medium square"};
		case 0x25fc: return {1565, 1, "black medium square"};
		case 0x25fd: return {1568, 1, "white medium-small square"};
		case 0x25fe: return {1567, 1, "black medium-small square"};
		case 0x2600: return {988, 1, "sun"};
		case 0x2601: return {996, 1, "cloud"};
		case 0x2602: return {1011, 1, "umbrella"};
		case 0x2603: return {1016, 1, "snowman"};
		case 0x2604: return {1018, 1, "comet"};
		case 0x260e: return {1182, 1, "telephone"};
		case 0x2611: return {1482, 1, "check box with check"};
		case 0x2614: return {1012, 1, "umbrella with rain drops"};
		case 0x2615: return {779, 1, "hot beverage"};
		case 0x2618: return {665, 1, "shamrock"};
		case 0x261d: return {186, 1, "index pointing up"};
		case 0x2620: return {105, 1, "skull and crossbones"};
		case 0x2622: return {1387, 1, "radioactive"};
		case 0x2623: return {1388, 1, "biohazard"};
		case 0x2626: return {1417, 1, "orthodox cross"};
		case 0x262a: return {1418, 1, "star and crescent"};
		case 0x262e: return {1419, 1, "peace symbol"};
		case 0x262f: return {1415, 1, "yin yang"};
		case 0x2638: return {1414, 1, "wheel of dharma"};
		case 0x2639: return {76, 1, "frowning face"};
		case 0x263a: return {19, 1, "smiling face"};
		case 0x2648: return {1422, 1, "Aries"};
		case 0x2649: return {1423, 1, "Taurus"};
		case 0x264a: return {1424, 1, "Gemini"};
		case 0x264b: return {1425, 1, "Cancer"};
		case 0x264c: return {1426, 1, "Leo"};
		case 0x264d: return {1427, 1, "Virgo"};
		case 0x264e: return {1428, 1, "Libra"};
		case 0x264f: return {1429, 1, "Scorpio"};
		case 0x2650: return {1430, 1, "Sagittarius"};
		case 0x2651: return {1431, 1, "Capricorn"};
		case 0x2652: return {1432, 1, "Aquarius"};
		case 0x2653: return {1433, 1, "Pisces"};
		case 0x265f: return {1097, 1, "chess pawn"};
		case 0x2660: return {1093, 1, "spade suit"};
		case 0x2663: return {1096, 1, "club suit"};
		case 0x2665: return {1094, 1, "heart suit"};
		case 0x2666: return {1095, 1, "diamond suit"};
		case 0x2668: return {863, 1, "hot springs"};
		case 0x267b: return {1475, 1, "recycling symbol"};
		case 0x267e: return {1465, 1, "infinity"};
		case 0x267f: return {1366, 1, "wheelchair symbol"};
		case 0x2692: return {1295, 1, "hammer and pick"};
		case 0x2693: return {920, 1, "anchor"};
		case 0x2694: return {1298, 1, "crossed swords"};
		case 0x2696: return {1309, 1, "balance scale"};
		case 0x2697: return {1317, 1, "alembic"};
		case 0x2699: return {1307, 1, "gear"};
		case 0x269b: return {1411, 1, "atom symbol"};
		case 0x269c: return {1476, 1, "fleur-de-lis"};
		case 0x26a0: return {1376, 1, "warning"};
		case 0x26a1: return {1014, 1, "high voltage"};
		case 0x26a7: return {1459, 1, "transgender symbol"};
		case 0x26aa: return {1555, 1, "white circle"};
		case 0x26ab: return {1554, 1, "black circle"};
		case 0x26b0: return {1357, 1, "coffin"};
		case 0x26b1: return {1359, 1, "funeral urn"};
		case 0x26bd: return {1049, 1, "soccer ball"};
		case 0x26be: return {1050, 1, "baseball"};
		case 0x26c4: return {1017, 1, "snowman without snow"};
		case 0x26c5: return {997, 1, "sun behind cloud"};
		case 0x26c8: return {998, 1, "cloud with lightning and rain"};
		case 0x26ce: return {1434, 1, "Ophiuchus"};
		case 0x26cf: return {1294, 1, "pick"};
		case 0x26d1: return {1148, 1, "rescue worker’s helmet"};
		case 0x26d3: return {1312, 1, "chains"};
		case 0x26d4: return {1378, 1, "no entry"};
		case 0x26e9: return {851, 1, "shinto shrine"};
		case 0x26ea: return {847, 1, "church"};
		case 0x26f0: return {812, 1, "mountain"};
		case 0x26f1: return {1013, 1, "umbrella on ground"};
		case 0x26f2: return {853, 1, "fountain"};
		case 0x26f3: return {1068, 1, "flag in hole"};
		case 0x26f4: return {926, 1, "ferry"};
		case 0x26f5: return {922, 1, "sailboat"};
		case 0x26f7: return {435, 1, "skier"};
		case 0x26f8: return {1069, 1, "ice skate"};
		case 0x26f9:
			if (Len >= 1) return {449, 1, "person bouncing ball"};
			if (Len >= 5 && Str[1]==0xfe0f && Str[2]==0x200d && Str[3]==0x2640 && Str[4]==0xfe0f) return {451, 5, "woman bouncing ball"};
			if (Len >= 5 && Str[1]==0xfe0f && Str[2]==0x200d && Str[3]==0x2642 && Str[4]==0xfe0f) return {450, 5, "man bouncing ball"};
			break;
		case 0x26fa: return {854, 1, "tent"};
		case 0x26fd: return {913, 1, "fuel pump"};
		case 0x2702: return {1282, 1, "scissors"};
		case 0x2705: return {1481, 1, "check mark button"};
		case 0x2708: return {929, 1, "airplane"};
		case 0x2709: return {1243, 1, "envelope"};
		case 0x270a: return {190, 1, "raised fist"};
		case 0x270b: return {166, 1, "raised hand"};
		case 0x270c: return {175, 1, "victory hand"};
		case 0x270d: return {201, 1, "writing hand"};
		case 0x270f: return {1256, 1, "pencil"};
		case 0x2712: return {1257, 1, "black nib"};
		case 0x2714: return {1483, 1, "check mark"};
		case 0x2716: return {1460, 1, "multiply"};
		case 0x271d: return {1416, 1, "latin cross"};
		case 0x2721: return {1413, 1, "star of David"};
		case 0x2728: return {1027, 1, "sparkles"};
		case 0x2733: return {1489, 1, "eight-spoked asterisk"};
		case 0x2734: return {1490, 1, "eight-pointed star"};
		case 0x2744: return {1015, 1, "snowflake"};
		case 0x2747: return {1491, 1, "sparkle"};
		case 0x274c: return {1484, 1, "cross mark"};
		case 0x274e: return {1485, 1, "cross mark button"};
		case 0x2753: return {1468, 1, "red question mark"};
		case 0x2754: return {1469, 1, "white question mark"};
		case 0x2755: return {1470, 1, "white exclamation mark"};
		case 0x2757: return {1471, 1, "red exclamation mark"};
		case 0x2763: return {136, 1, "heart exclamation"};
		case 0x2764:
			if (Len >= 1) return {140, 1, "red heart"};
			if (Len >= 4 && Str[1]==0xfe0f && Str[2]==0x200d && Str[3]==0x1f525) return {138, 4, "heart on fire"};
			if (Len >= 4 && Str[1]==0xfe0f && Str[2]==0x200d && Str[3]==0x1fa79) return {139, 4, "mending heart"};
			break;
		case 0x2795: return {1461, 1, "plus"};
		case 0x2796: return {1462, 1, "minus"};
		case 0x2797: return {1463, 1, "divide"};
		case 0x27a1: return {1391, 1, "right arrow"};
		case 0x27b0: return {1486, 1, "curly loop"};
		case 0x27bf: return {1487, 1, "double curly loop"};
		case 0x2934: return {1401, 1, "right arrow curving up"};
		case 0x2935: return {1402, 1, "right arrow curving down"};
		case 0x2b05: return {1395, 1, "left arrow"};
		case 0x2b06: return {1389, 1, "up arrow"};
		case 0x2b07: return {1393, 1, "down arrow"};
		case 0x2b1b: return {1563, 1, "black large square"};
		case 0x2b1c: return {1564, 1, "white large square"};
		case 0x2b50: return {992, 1, "star"};
		case 0x2b55: return {1480, 1, "hollow red circle"};
		case 0x3030: return {1472, 1, "wavy dash"};
		case 0x303d: return {1488, 1, "part alternation mark"};
		case 0x3297: return {1543, 1, "Japanese “congratulations” button"};
		case 0x3299: return {1544, 1, "Japanese “secret” button"};
		case 0x1f004: return {1099, 1, "mahjong red dragon"};
		case 0x1f0cf: return {1098, 1, "joker"};
		case 0x1f170: return {1513, 1, "A button (blood type)"};
		case 0x1f171: return {1515, 1, "B button (blood type)"};
		case 0x1f17e: return {1524, 1, "O button (blood type)"};
		case 0x1f17f: return {1526, 1, "P button"};
		case 0x1f18e: return {1514, 1, "AB button (blood type)"};
		case 0x1f191: return {1516, 1, "CL button"};
		case 0x1f192: return {1517, 1, "COOL button"};
		case 0x1f193: return {1518, 1, "FREE button"};
		case 0x1f194: return {1520, 1, "ID button"};
		case 0x1f195: return {1522, 1, "NEW button"};
		case 0x1f196: return {1523, 1, "NG button"};
		case 0x1f197: return {1525, 1, "OK button"};
		case 0x1f198: return {1527, 1, "SOS button"};
		case 0x1f199: return {1528, 1, "UP! button"};
		case 0x1f19a: return {1529, 1, "VS button"};
		case 0x1f1e6:
			if (Len >= 2 && Str[1]==0x1f1e8) return {1589, 2, "flag: Ascension Island"};
			if (Len >= 2 && Str[1]==0x1f1e9) return {1590, 2, "flag: Andorra"};
			if (Len >= 2 && Str[1]==0x1f1ea) return {1591, 2, "flag: United Arab Emirates"};
			if (Len >= 2 && Str[1]==0x1f1eb) return {1592, 2, "flag: Afghanistan"};
			if (Len >= 2 && Str[1]==0x1f1ec) return {1593, 2, "flag: Antigua & Barbuda"};
			if (Len >= 2 && Str[1]==0x1f1ee) return {1594, 2, "flag: Anguilla"};
			if (Len >= 2 && Str[1]==0x1f1f1) return {1595, 2, "flag: Albania"};
			if (Len >= 2 && Str[1]==0x1f1f2) return {1596, 2, "flag: Armenia"};
			if (Len >= 2 && Str[1]==0x1f1f4) return {1597, 2, "flag: Angola"};
			if (Len >= 2 && Str[1]==0x1f1f6) return {1598, 2, "flag: Antarctica"};
			if (Len >= 2 && Str[1]==0x1f1f7) return {1599, 2, "flag: Argentina"};
			if (Len >= 2 && Str[1]==0x1f1f8) return {1600, 2, "flag: American Samoa"};
			if (Len >= 2 && Str[1]==0x1f1f9) return {1601, 2, "flag: Austria"};
			if (Len >= 2 && Str[1]==0x1f1fa) return {1602, 2, "flag: Australia"};
			if (Len >= 2 && Str[1]==0x1f1fc) return {1603, 2, "flag: Aruba"};
			if (Len >= 2 && Str[1]==0x1f1fd) return {1604, 2, "flag: Åland Islands"};
			if (Len >= 2 && Str[1]==0x1f1ff) return {1605, 2, "flag: Azerbaijan"};
			break;
		case 0x1f1e7:
			if (Len >= 2 && Str[1]==0x1f1e6) return {1606, 2, "flag: Bosnia & Herzegovina"};
			if (Len >= 2 && Str[1]==0x1f1e7) return {1607, 2, "flag: Barbados"};
			if (Len >= 2 && Str[1]==0x1f1e9) return {1608, 2, "flag: Bangladesh"};
			if (Len >= 2 && Str[1]==0x1f1ea) return {1609, 2, "flag: Belgium"};
			if (Len >= 2 && Str[1]==0x1f1eb) return {1610, 2, "flag: Burkina Faso"};
			if (Len >= 2 && Str[1]==0x1f1ec) return {1611, 2, "flag: Bulgaria"};
			if (Len >= 2 && Str[1]==0x1f1ed) return {1612, 2, "flag: Bahrain"};
			if (Len >= 2 && Str[1]==0x1f1ee) return {1613, 2, "flag: Burundi"};
			if (Len >= 2 && Str[1]==0x1f1ef) return {1614, 2, "flag: Benin"};
			if (Len >= 2 && Str[1]==0x1f1f1) return {1615, 2, "flag: St. Barthélemy"};
			if (Len >= 2 && Str[1]==0x1f1f2) return {1616, 2, "flag: Bermuda"};
			if (Len >= 2 && Str[1]==0x1f1f3) return {1617, 2, "flag: Brunei"};
			if (Len >= 2 && Str[1]==0x1f1f4) return {1618, 2, "flag: Bolivia"};
			if (Len >= 2 && Str[1]==0x1f1f6) return {1619, 2, "flag: Caribbean Netherlands"};
			if (Len >= 2 && Str[1]==0x1f1f7) return {1620, 2, "flag: Brazil"};
			if (Len >= 2 && Str[1]==0x1f1f8) return {1621, 2, "flag: Bahamas"};
			if (Len >= 2 && Str[1]==0x1f1f9) return {1622, 2, "flag: Bhutan"};
			if (Len >= 2 && Str[1]==0x1f1fb) return {1623, 2, "flag: Bouvet Island"};
			if (Len >= 2 && Str[1]==0x1f1fc) return {1624, 2, "flag: Botswana"};
			if (Len >= 2 && Str[1]==0x1f1fe) return {1625, 2, "flag: Belarus"};
			if (Len >= 2 && Str[1]==0x1f1ff) return {1626, 2, "flag: Belize"};
			break;
		case 0x1f1e8:
			if (Len >= 2 && Str[1]==0x1f1e6) return {1627, 2, "flag: Canada"};
			if (Len >= 2 && Str[1]==0x1f1e8) return {1628, 2, "flag: Cocos (Keeling) Islands"};
			if (Len >= 2 && Str[1]==0x1f1e9) return {1629, 2, "flag: Congo - Kinshasa"};
			if (Len >= 2 && Str[1]==0x1f1eb) return {1630, 2, "flag: Central African Republic"};
			if (Len >= 2 && Str[1]==0x1f1ec) return {1631, 2, "flag: Congo - Brazzaville"};
			if (Len >= 2 && Str[1]==0x1f1ed) return {1632, 2, "flag: Switzerland"};
			if (Len >= 2 && Str[1]==0x1f1ee) return {1633, 2, "flag: Côte d’Ivoire"};
			if (Len >= 2 && Str[1]==0x1f1f0) return {1634, 2, "flag: Cook Islands"};
			if (Len >= 2 && Str[1]==0x1f1f1) return {1635, 2, "flag: Chile"};
			if (Len >= 2 && Str[1]==0x1f1f2) return {1636, 2, "flag: Cameroon"};
			if (Len >= 2 && Str[1]==0x1f1f3) return {1637, 2, "flag: China"};
			if (Len >= 2 && Str[1]==0x1f1f4) return {1638, 2, "flag: Colombia"};
			if (Len >= 2 && Str[1]==0x1f1f5) return {1639, 2, "flag: Clipperton Island"};
			if (Len >= 2 && Str[1]==0x1f1f7) return {1640, 2, "flag: Costa Rica"};
			if (Len >= 2 && Str[1]==0x1f1fa) return {1641, 2, "flag: Cuba"};
			if (Len >= 2 && Str[1]==0x1f1fb) return {1642, 2, "flag: Cape Verde"};
			if (Len >= 2 && Str[1]==0x1f1fc) return {1643, 2, "flag: Curaçao"};
			if (Len >= 2 && Str[1]==0x1f1fd) return {1644, 2, "flag: Christmas Island"};
			if (Len >= 2 && Str[1]==0x1f1fe) return {1645, 2, "flag: Cyprus"};
			if (Len >= 2 && Str[1]==0x1f1ff) return {1646, 2, "flag: Czechia"};
			break;
		case 0x1f1e9:
			if (Len >= 2 && Str[1]==0x1f1ea) return {1647, 2, "flag: Germany"};
			if (Len >= 2 && Str[1]==0x1f1ec) return {1648, 2, "flag: Diego Garcia"};
			if (Len >= 2 && Str[1]==0x1f1ef) return {1649, 2, "flag: Djibouti"};
			if (Len >= 2 && Str[1]==0x1f1f0) return {1650, 2, "flag: Denmark"};
			if (Len >= 2 && Str[1]==0x1f1f2) return {1651, 2, "flag: Dominica"};
			if (Len >= 2 && Str[1]==0x1f1f4) return {1652, 2, "flag: Dominican Republic"};
			if (Len >= 2 && Str[1]==0x1f1ff) return {1653, 2, "flag: Algeria"};
			break;
		case 0x1f1ea:
			if (Len >= 2 && Str[1]==0x1f1e6) return {1654, 2, "flag: Ceuta & Melilla"};
			if (Len >= 2 && Str[1]==0x1f1e8) return {1655, 2, "flag: Ecuador"};
			if (Len >= 2 && Str[1]==0x1f1ea) return {1656, 2, "flag: Estonia"};
			if (Len >= 2 && Str[1]==0x1f1ec) return {1657, 2, "flag: Egypt"};
			if (Len >= 2 && Str[1]==0x1f1ed) return {1658, 2, "flag: Western Sahara"};
			if (Len >= 2 && Str[1]==0x1f1f7) return {1659, 2, "flag: Eritrea"};
			if (Len >= 2 && Str[1]==0x1f1f8) return {1660, 2, "flag: Spain"};
			if (Len >= 2 && Str[1]==0x1f1f9) return {1661, 2, "flag: Ethiopia"};
			if (Len >= 2 && Str[1]==0x1f1fa) return {1662, 2, "flag: European Union"};
			break;
		case 0x1f1eb:
			if (Len >= 2 && Str[1]==0x1f1ee) return {1663, 2, "flag: Finland"};
			if (Len >= 2 && Str[1]==0x1f1ef) return {1664, 2, "flag: Fiji"};
			if (Len >= 2 && Str[1]==0x1f1f0) return {1665, 2, "flag: Falkland Islands"};
			if (Len >= 2 && Str[1]==0x1f1f2) return {1666, 2, "flag: Micronesia"};
			if (Len >= 2 && Str[1]==0x1f1f4) return {1667, 2, "flag: Faroe Islands"};
			if (Len >= 2 && Str[1]==0x1f1f7) return {1668, 2, "flag: France"};
			break;
		case 0x1f1ec:
			if (Len >= 2 && Str[1]==0x1f1e6) return {1669, 2, "flag: Gabon"};
			if (Len >= 2 && Str[1]==0x1f1e7) return {1670, 2, "flag: United Kingdom"};
			if (Len >= 2 && Str[1]==0x1f1e9) return {1671, 2, "flag: Grenada"};
			if (Len >= 2 && Str[1]==0x1f1ea) return {1672, 2, "flag: Georgia"};
			if (Len >= 2 && Str[1]==0x1f1eb) return {1673, 2, "flag: French Guiana"};
			if (Len >= 2 && Str[1]==0x1f1ec) return {1674, 2, "flag: Guernsey"};
			if (Len >= 2 && Str[1]==0x1f1ed) return {1675, 2, "flag: Ghana"};
			if (Len >= 2 && Str[1]==0x1f1ee) return {1676, 2, "flag: Gibraltar"};
			if (Len >= 2 && Str[1]==0x1f1f1) return {1677, 2, "flag: Greenland"};
			if (Len >= 2 && Str[1]==0x1f1f2) return {1678, 2, "flag: Gambia"};
			if (Len >= 2 && Str[1]==0x1f1f3) return {1679, 2, "flag: Guinea"};
			if (Len >= 2 && Str[1]==0x1f1f5) return {1680, 2, "flag: Guadeloupe"};
			if (Len >= 2 && Str[1]==0x1f1f6) return {1681, 2, "flag: Equatorial Guinea"};
			if (Len >= 2 && Str[1]==0x1f1f7) return {1682, 2, "flag: Greece"};
			if (Len >= 2 && Str[1]==0x1f1f8) return {1683, 2, "flag: South Georgia & South Sandwich Islands"};
			if (Len >= 2 && Str[1]==0x1f1f9) return {1684, 2, "flag: Guatemala"};
			if (Len >= 2 && Str[1]==0x1f1fa) return {1685, 2, "flag: Guam"};
			if (Len >= 2 && Str[1]==0x1f1fc) return {1686, 2, "flag: Guinea-Bissau"};
			if (Len >= 2 && Str[1]==0x1f1fe) return {1687, 2, "flag: Guyana"};
			break;
		case 0x1f1ed:
			if (Len >= 2 && Str[1]==0x1f1f0) return {1688, 2, "flag: Hong Kong SAR China"};
			if (Len >= 2 && Str[1]==0x1f1f2) return {1689, 2, "flag: Heard & McDonald Islands"};
			if (Len >= 2 && Str[1]==0x1f1f3) return {1690, 2, "flag: Honduras"};
			if (Len >= 2 && Str[1]==0x1f1f7) return {1691, 2, "flag: Croatia"};
			if (Len >= 2 && Str[1]==0x1f1f9) return {1692, 2, "flag: Haiti"};
			if (Len >= 2 && Str[1]==0x1f1fa) return {1693, 2, "flag: Hungary"};
			break;
		case 0x1f1ee:
			if (Len >= 2 && Str[1]==0x1f1e8) return {1694, 2, "flag: Canary Islands"};
			if (Len >= 2 && Str[1]==0x1f1e9) return {1695, 2, "flag: Indonesia"};
			if (Len >= 2 && Str[1]==0x1f1ea) return {1696, 2, "flag: Ireland"};
			if (Len >= 2 && Str[1]==0x1f1f1) return {1697, 2, "flag: Israel"};
			if (Len >= 2 && Str[1]==0x1f1f2) return {1698, 2, "flag: Isle of Man"};
			if (Len >= 2 && Str[1]==0x1f1f3) return {1699, 2, "flag: India"};
			if (Len >= 2 && Str[1]==0x1f1f4) return {1700, 2, "flag: British Indian Ocean Territory"};
			if (Len >= 2 && Str[1]==0x1f1f6) return {1701, 2, "flag: Iraq"};
			if (Len >= 2 && Str[1]==0x1f1f7) return {1702, 2, "flag: Iran"};
			if (Len >= 2 && Str[1]==0x1f1f8) return {1703, 2, "flag: Iceland"};
			if (Len >= 2 && Str[1]==0x1f1f9) return {1704, 2, "flag: Italy"};
			break;
		case 0x1f1ef:
			if (Len >= 2 && Str[1]==0x1f1ea) return {1705, 2, "flag: Jersey"};
			if (Len >= 2 && Str[1]==0x1f1f2) return {1706, 2, "flag: Jamaica"};
			if (Len >= 2 && Str[1]==0x1f1f4) return {1707, 2, "flag: Jordan"};
			if (Len >= 2 && Str[1]==0x1f1f5) return {1708, 2, "flag: Japan"};
			break;
		case 0x1f1f0:
			if (Len >= 2 && Str[1]==0x1f1ea) return {1709, 2, "flag: Kenya"};
			if (Len >= 2 && Str[1]==0x1f1ec) return {1710, 2, "flag: Kyrgyzstan"};
			if (Len >= 2 && Str[1]==0x1f1ed) return {1711, 2, "flag: Cambodia"};
			if (Len >= 2 && Str[1]==0x1f1ee) return {1712, 2, "flag: Kiribati"};
			if (Len >= 2 && Str[1]==0x1f1f2) return {1713, 2, "flag: Comoros"};
			if (Len >= 2 && Str[1]==0x1f1f3) return {1714, 2, "flag: St. Kitts & Nevis"};
			if (Len >= 2 && Str[1]==0x1f1f5) return {1715, 2, "flag: North Korea"};
			if (Len >= 2 && Str[1]==0x1f1f7) return {1716, 2, "flag: South Korea"};
			if (Len >= 2 && Str[1]==0x1f1fc) return {1717, 2, "flag: Kuwait"};
			if (Len >= 2 && Str[1]==0x1f1fe) return {1718, 2, "flag: Cayman Islands"};
			if (Len >= 2 && Str[1]==0x1f1ff) return {1719, 2, "flag: Kazakhstan"};
			break;
		case 0x1f1f1:
			if (Len >= 2 && Str[1]==0x1f1e6) return {1720, 2, "flag: Laos"};
			if (Len >= 2 && Str[1]==0x1f1e7) return {1721, 2, "flag: Lebanon"};
			if (Len >= 2 && Str[1]==0x1f1e8) return {1722, 2, "flag: St. Lucia"};
			if (Len >= 2 && Str[1]==0x1f1ee) return {1723, 2, "flag: Liechtenstein"};
			if (Len >= 2 && Str[1]==0x1f1f0) return {1724, 2, "flag: Sri Lanka"};
			if (Len >= 2 && Str[1]==0x1f1f7) return {1725, 2, "flag: Liberia"};
			if (Len >= 2 && Str[1]==0x1f1f8) return {1726, 2, "flag: Lesotho"};
			if (Len >= 2 && Str[1]==0x1f1f9) return {1727, 2, "flag: Lithuania"};
			if (Len >= 2 && Str[1]==0x1f1fa) return {1728, 2, "flag: Luxembourg"};
			if (Len >= 2 && Str[1]==0x1f1fb) return {1729, 2, "flag: Latvia"};
			if (Len >= 2 && Str[1]==0x1f1fe) return {1730, 2, "flag: Libya"};
			break;
		case 0x1f1f2:
			if (Len >= 2 && Str[1]==0x1f1e6) return {1731, 2, "flag: Morocco"};
			if (Len >= 2 && Str[1]==0x1f1e8) return {1732, 2, "flag: Monaco"};
			if (Len >= 2 && Str[1]==0x1f1e9) return {1733, 2, "flag: Moldova"};
			if (Len >= 2 && Str[1]==0x1f1ea) return {1734, 2, "flag: Montenegro"};
			if (Len >= 2 && Str[1]==0x1f1eb) return {1735, 2, "flag: St. Martin"};
			if (Len >= 2 && Str[1]==0x1f1ec) return {1736, 2, "flag: Madagascar"};
			if (Len >= 2 && Str[1]==0x1f1ed) return {1737, 2, "flag: Marshall Islands"};
			if (Len >= 2 && Str[1]==0x1f1f0) return {1738, 2, "flag: North Macedonia"};
			if (Len >= 2 && Str[1]==0x1f1f1) return {1739, 2, "flag: Mali"};
			if (Len >= 2 && Str[1]==0x1f1f2) return {1740, 2, "flag: Myanmar (Burma)"};
			if (Len >= 2 && Str[1]==0x1f1f3) return {1741, 2, "flag: Mongolia"};
			if (Len >= 2 && Str[1]==0x1f1f4) return {1742, 2, "flag: Macao SAR China"};
			if (Len >= 2 && Str[1]==0x1f1f5) return {1743, 2, "flag: Northern Mariana Islands"};
			if (Len >= 2 && Str[1]==0x1f1f6) return {1744, 2, "flag: Martinique"};
			if (Len >= 2 && Str[1]==0x1f1f7) return {1745, 2, "flag: Mauritania"};
			if (Len >= 2 && Str[1]==0x1f1f8) return {1746, 2, "flag: Montserrat"};
			if (Len >= 2 && Str[1]==0x1f1f9) return {1747, 2, "flag: Malta"};
			if (Len >= 2 && Str[1]==0x1f1fa) return {1748, 2, "flag: Mauritius"};
			if (Len >= 2 && Str[1]==0x1f1fb) return {1749, 2, "flag: Maldives"};
			if (Len >= 2 && Str[1]==0x1f1fc) return {1750, 2, "flag: Malawi"};
			if (Len >= 2 && Str[1]==0x1f1fd) return {1751, 2, "flag: Mexico"};
			if (Len >= 2 && Str[1]==0x1f1fe) return {1752, 2, "flag: Malaysia"};
			if (Len >= 2 && Str[1]==0x1f1ff) return {1753, 2, "flag: Mozambique"};
			break;
		case 0x1f1f3:
			if (Len >= 2 && Str[1]==0x1f1e6) return {1754, 2, "flag: Namibia"};
			if (Len >= 2 && Str[1]==0x1f1e8) return {1755, 2, "flag: New Caledonia"};
			if (Len >= 2 && Str[1]==0x1f1ea) return {1756, 2, "flag: Niger"};
			if (Len >= 2 && Str[1]==0x1f1eb) return {1757, 2, "flag: Norfolk Island"};
			if (Len >= 2 && Str[1]==0x1f1ec) return {1758, 2, "flag: Nigeria"};
			if (Len >= 2 && Str[1]==0x1f1ee) return {1759, 2, "flag: Nicaragua"};
			if (Len >= 2 && Str[1]==0x1f1f1) return {1760, 2, "flag: Netherlands"};
			if (Len >= 2 && Str[1]==0x1f1f4) return {1761, 2, "flag: Norway"};
			if (Len >= 2 && Str[1]==0x1f1f5) return {1762, 2, "flag: Nepal"};
			if (Len >= 2 && Str[1]==0x1f1f7) return {1763, 2, "flag: Nauru"};
			if (Len >= 2 && Str[1]==0x1f1fa) return {1764, 2, "flag: Niue"};
			if (Len >= 2 && Str[1]==0x1f1ff) return {1765, 2, "flag: New Zealand"};
			break;
		case 0x1f1f4:
			if (Len >= 2 && Str[1]==0x1f1f2) return {1766, 2, "flag: Oman"};
			break;
		case 0x1f1f5:
			if (Len >= 2 && Str[1]==0x1f1e6) return {1767, 2, "flag: Panama"};
			if (Len >= 2 && Str[1]==0x1f1ea) return {1768, 2, "flag: Peru"};
			if (Len >= 2 && Str[1]==0x1f1eb) return {1769, 2, "flag: French Polynesia"};
			if (Len >= 2 && Str[1]==0x1f1ec) return {1770, 2, "flag: Papua New Guinea"};
			if (Len >= 2 && Str[1]==0x1f1ed) return {1771, 2, "flag: Philippines"};
			if (Len >= 2 && Str[1]==0x1f1f0) return {1772, 2, "flag: Pakistan"};
			if (Len >= 2 && Str[1]==0x1f1f1) return {1773, 2, "flag: Poland"};
			if (Len >= 2 && Str[1]==0x1f1f2) return {1774, 2, "flag: St. Pierre & Miquelon"};
			if (Len >= 2 && Str[1]==0x1f1f3) return {1775, 2, "flag: Pitcairn Islands"};
			if (Len >= 2 && Str[1]==0x1f1f7) return {1776, 2, "flag: Puerto Rico"};
			if (Len >= 2 && Str[1]==0x1f1f8) return {1777, 2, "flag: Palestinian Territories"};
			if (Len >= 2 && Str[1]==0x1f1f9) return {1778, 2, "flag: Portugal"};
			if (Len >= 2 && Str[1]==0x1f1fc) return {1779, 2, "flag: Palau"};
			if (Len >= 2 && Str[1]==0x1f1fe) return {1780, 2, "flag: Paraguay"};
			break;
		case 0x1f1f6:
			if (Len >= 2 && Str[1]==0x1f1e6) return {1781, 2, "flag: Qatar"};
			break;
		case 0x1f1f7:
			if (Len >= 2 && Str[1]==0x1f1ea) return {1782, 2, "flag: Réunion"};
			if (Len >= 2 && Str[1]==0x1f1f4) return {1783, 2, "flag: Romania"};
			if (Len >= 2 && Str[1]==0x1f1f8) return {1784, 2, "flag: Serbia"};
			if (Len >= 2 && Str[1]==0x1f1fa) return {1785, 2, "flag: Russia"};
			if (Len >= 2 && Str[1]==0x1f1fc) return {1786, 2, "flag: Rwanda"};
			break;
		case 0x1f1f8:
			if (Len >= 2 && Str[1]==0x1f1e6) return {1787, 2, "flag: Saudi Arabia"};
			if (Len >= 2 && Str[1]==0x1f1e7) return {1788, 2, "flag: Solomon Islands"};
			if (Len >= 2 && Str[1]==0x1f1e8) return {1789, 2, "flag: Seychelles"};
			if (Len >= 2 && Str[1]==0x1f1e9) return {1790, 2, "flag: Sudan"};
			if (Len >= 2 && Str[1]==0x1f1ea) return {1791, 2, "flag: Sweden"};
			if (Len >= 2 && Str[1]==0x1f1ec) return {1792, 2, "flag: Singapore"};
			if (Len >= 2 && Str[1]==0x1f1ed) return {1793, 2, "flag: St. Helena"};
			if (Len >= 2 && Str[1]==0x1f1ee) return {1794, 2, "flag: Slovenia"};
			if (Len >= 2 && Str[1]==0x1f1ef) return {1795, 2, "flag: Svalbard & Jan Mayen"};
			if (Len >= 2 && Str[1]==0x1f1f0) return {1796, 2, "flag: Slovakia"};
			if (Len >= 2 && Str[1]==0x1f1f1) return {1797, 2, "flag: Sierra Leone"};
			if (Len >= 2 && Str[1]==0x1f1f2) return {1798, 2, "flag: San Marino"};
			if (Len >= 2 && Str[1]==0x1f1f3) return {1799, 2, "flag: Senegal"};
			if (Len >= 2 && Str[1]==0x1f1f4) return {1800, 2, "flag: Somalia"};
			if (Len >= 2 && Str[1]==0x1f1f7) return {1801, 2, "flag: Suriname"};
			if (Len >= 2 && Str[1]==0x1f1f8) return {1802, 2, "flag: South Sudan"};
			if (Len >= 2 && Str[1]==0x1f1f9) return {1803, 2, "flag: São Tomé & Príncipe"};
			if (Len >= 2 && Str[1]==0x1f1fb) return {1804, 2, "flag: El Salvador"};
			if (Len >= 2 && Str[1]==0x1f1fd) return {1805, 2, "flag: Sint Maarten"};
			if (Len >= 2 && Str[1]==0x1f1fe) return {1806, 2, "flag: Syria"};
			if (Len >= 2 && Str[1]==0x1f1ff) return {1807, 2, "flag: Eswatini"};
			break;
		case 0x1f1f9:
			if (Len >= 2 && Str[1]==0x1f1e6) return {1808, 2, "flag: Tristan da Cunha"};
			if (Len >= 2 && Str[1]==0x1f1e8) return {1809, 2, "flag: Turks & Caicos Islands"};
			if (Len >= 2 && Str[1]==0x1f1e9) return {1810, 2, "flag: Chad"};
			if (Len >= 2 && Str[1]==0x1f1eb) return {1811, 2, "flag: French Southern Territories"};
			if (Len >= 2 && Str[1]==0x1f1ec) return {1812, 2, "flag: Togo"};
			if (Len >= 2 && Str[1]==0x1f1ed) return {1813, 2, "flag: Thailand"};
			if (Len >= 2 && Str[1]==0x1f1ef) return {1814, 2, "flag: Tajikistan"};
			if (Len >= 2 && Str[1]==0x1f1f0) return {1815, 2, "flag: Tokelau"};
			if (Len >= 2 && Str[1]==0x1f1f1) return {1816, 2, "flag: Timor-Leste"};
			if (Len >= 2 && Str[1]==0x1f1f2) return {1817, 2, "flag: Turkmenistan"};
			if (Len >= 2 && Str[1]==0x1f1f3) return {1818, 2, "flag: Tunisia"};
			if (Len >= 2 && Str[1]==0x1f1f4) return {1819, 2, "flag: Tonga"};
			if (Len >= 2 && Str[1]==0x1f1f7) return {1820, 2, "flag: Turkey"};
			if (Len >= 2 && Str[1]==0x1f1f9) return {1821, 2, "flag: Trinidad & Tobago"};
			if (Len >= 2 && Str[1]==0x1f1fb) return {1822, 2, "flag: Tuvalu"};
			if (Len >= 2 && Str[1]==0x1f1fc) return {1823, 2, "flag: Taiwan"};
			if (Len >= 2 && Str[1]==0x1f1ff) return {1824, 2, "flag: Tanzania"};
			break;
		case 0x1f1fa:
			if (Len >= 2 && Str[1]==0x1f1e6) return {1825, 2, "flag: Ukraine"};
			if (Len >= 2 && Str[1]==0x1f1ec) return {1826, 2, "flag: Uganda"};
			if (Len >= 2 && Str[1]==0x1f1f2) return {1827, 2, "flag: U.S. Outlying Islands"};
			if (Len >= 2 && Str[1]==0x1f1f3) return {1828, 2, "flag: United Nations"};
			if (Len >= 2 && Str[1]==0x1f1f8) return {1829, 2, "flag: United States"};
			if (Len >= 2 && Str[1]==0x1f1fe) return {1830, 2, "flag: Uruguay"};
			if (Len >= 2 && Str[1]==0x1f1ff) return {1831, 2, "flag: Uzbekistan"};
			break;
		case 0x1f1fb:
			if (Len >= 2 && Str[1]==0x1f1e6) return {1832, 2, "flag: Vatican City"};
			if (Len >= 2 && Str[1]==0x1f1e8) return {1833, 2, "flag: St. Vincent & Grenadines"};
			if (Len >= 2 && Str[1]==0x1f1ea) return {1834, 2, "flag: Venezuela"};
			if (Len >= 2 && Str[1]==0x1f1ec) return {1835, 2, "flag: British Virgin Islands"};
			if (Len >= 2 && Str[1]==0x1f1ee) return {1836, 2, "flag: U.S. Virgin Islands"};
			if (Len >= 2 && Str[1]==0x1f1f3) return {1837, 2, "flag: Vietnam"};
			if (Len >= 2 && Str[1]==0x1f1fa) return {1838, 2, "flag: Vanuatu"};
			break;
		case 0x1f1fc:
			if (Len >= 2 && Str[1]==0x1f1eb) return {1839, 2, "flag: Wallis & Futuna"};
			if (Len >= 2 && Str[1]==0x1f1f8) return {1840, 2, "flag: Samoa"};
			break;
		case 0x1f1fd:
			if (Len >= 2 && Str[1]==0x1f1f0) return {1841, 2, "flag: Kosovo"};
			break;
		case 0x1f1fe:
			if (Len >= 2 && Str[1]==0x1f1ea) return {1842, 2, "flag: Yemen"};
			if (Len >= 2 && Str[1]==0x1f1f9) return {1843, 2, "flag: Mayotte"};
			break;
		case 0x1f1ff:
			if (Len >= 2 && Str[1]==0x1f1e6) return {1844, 2, "flag: South Africa"};
			if (Len >= 2 && Str[1]==0x1f1f2) return {1845, 2, "flag: Zambia"};
			if (Len >= 2 && Str[1]==0x1f1fc) return {1846, 2, "flag: Zimbabwe"};
			break;
		case 0x1f201: return {1530, 1, "Japanese “here” button"};
		case 0x1f202: return {1531, 1, "Japanese “service charge” button"};
		case 0x1f21a: return {1537, 1, "Japanese “free of charge” button"};
		case 0x1f22f: return {1534, 1, "Japanese “reserved” button"};
		case 0x1f232: return {1538, 1, "Japanese “prohibited” button"};
		case 0x1f233: return {1542, 1, "Japanese “vacancy” button"};
		case 0x1f234: return {1541, 1, "Japanese “passing grade” button"};
		case 0x1f235: return {1546, 1, "Japanese “no vacancy” button"};
		case 0x1f236: return {1533, 1, "Japanese “not free of charge” button"};
		case 0x1f237: return {1532, 1, "Japanese “monthly amount” button"};
		case 0x1f238: return {1540, 1, "Japanese “application” button"};
		case 0x1f239: return {1536, 1, "Japanese “discount” button"};
		case 0x1f23a: return {1545, 1, "Japanese “open for business” button"};
		case 0x1f250: return {1535, 1, "Japanese “bargain” button"};
		case 0x1f251: return {1539, 1, "Japanese “acceptable” button"};
		case 0x1f300: return {1008, 1, "cyclone"};
		case 0x1f301: return {855, 1, "foggy"};
		case 0x1f302: return {1010, 1, "closed umbrella"};
		case 0x1f303: return {856, 1, "night with stars"};
		case 0x1f304: return {858, 1, "sunrise over mountains"};
		case 0x1f305: return {859, 1, "sunrise"};
		case 0x1f306: return {860, 1, "cityscape at dusk"};
		case 0x1f307: return {861, 1, "sunset"};
		case 0x1f308: return {1009, 1, "rainbow"};
		case 0x1f309: return {862, 1, "bridge at night"};
		case 0x1f30a: return {1021, 1, "water wave"};
		case 0x1f30b: return {813, 1, "volcano"};
		case 0x1f30c: return {995, 1, "milky way"};
		case 0x1f30d: return {804, 1, "globe showing Europe-Africa"};
		case 0x1f30e: return {805, 1, "globe showing Americas"};
		case 0x1f30f: return {806, 1, "globe showing Asia-Australia"};
		case 0x1f310: return {807, 1, "globe with meridians"};
		case 0x1f311: return {975, 1, "new moon"};
		case 0x1f312: return {976, 1, "waxing crescent moon"};
		case 0x1f313: return {977, 1, "first quarter moon"};
		case 0x1f314: return {978, 1, "waxing gibbous moon"};
		case 0x1f315: return {979, 1, "full moon"};
		case 0x1f316: return {980, 1, "waning gibbous moon"};
		case 0x1f317: return {981, 1, "last quarter moon"};
		case 0x1f318: return {982, 1, "waning crescent moon"};
		case 0x1f319: return {983, 1, "crescent moon"};
		case 0x1f31a: return {984, 1, "new moon face"};
		case 0x1f31b: return {985, 1, "first quarter moon face"};
		case 0x1f31c: return {986, 1, "last quarter moon face"};
		case 0x1f31d: return {989, 1, "full moon face"};
		case 0x1f31e: return {990, 1, "sun with face"};
		case 0x1f31f: return {993, 1, "glowing star"};
		case 0x1f320: return {994, 1, "shooting star"};
		case 0x1f321: return {987, 1, "thermometer"};
		case 0x1f324: return {999, 1, "sun behind small cloud"};
		case 0x1f325: return {1000, 1, "sun behind large cloud"};
		case 0x1f326: return {1001, 1, "sun behind rain cloud"};
		case 0x1f327: return {1002, 1, "cloud with rain"};
		case 0x1f328: return {1003, 1, "cloud with snow"};
		case 0x1f329: return {1004, 1, "cloud with lightning"};
		case 0x1f32a: return {1005, 1, "tornado"};
		case 0x1f32b: return {1006, 1, "fog"};
		case 0x1f32c: return {1007, 1, "wind face"};
		case 0x1f32d: return {723, 1, "hot dog"};
		case 0x1f32e: return {725, 1, "taco"};
		case 0x1f32f: return {726, 1, "burrito"};
		case 0x1f330: return {706, 1, "chestnut"};
		case 0x1f331: return {657, 1, "seedling"};
		case 0x1f332: return {659, 1, "evergreen tree"};
		case 0x1f333: return {660, 1, "deciduous tree"};
		case 0x1f334: return {661, 1, "palm tree"};
		case 0x1f335: return {662, 1, "cactus"};
		case 0x1f336: return {696, 1, "hot pepper"};
		case 0x1f337: return {656, 1, "tulip"};
		case 0x1f338: return {647, 1, "cherry blossom"};
		case 0x1f339: return {651, 1, "rose"};
		case 0x1f33a: return {653, 1, "hibiscus"};
		case 0x1f33b: return {654, 1, "sunflower"};
		case 0x1f33c: return {655, 1, "blossom"};
		case 0x1f33d: return {695, 1, "ear of corn"};
		case 0x1f33e: return {663, 1, "sheaf of rice"};
		case 0x1f33f: return {664, 1, "herb"};
		case 0x1f340: return {666, 1, "four leaf clover"};
		case 0x1f341: return {667, 1, "maple leaf"};
		case 0x1f342: return {668, 1, "fallen leaf"};
		case 0x1f343: return {669, 1, "leaf fluttering in wind"};
		case 0x1f344: return {703, 1, "mushroom"};
		case 0x1f345: return {688, 1, "tomato"};
		case 0x1f346: return {692, 1, "eggplant"};
		case 0x1f347: return {672, 1, "grapes"};
		case 0x1f348: return {673, 1, "melon"};
		case 0x1f349: return {674, 1, "watermelon"};
		case 0x1f34a: return {675, 1, "tangerine"};
		case 0x1f34b: return {676, 1, "lemon"};
		case 0x1f34c: return {677, 1, "banana"};
		case 0x1f34d: return {678, 1, "pineapple"};
		case 0x1f34e: return {680, 1, "red apple"};
		case 0x1f34f: return {681, 1, "green apple"};
		case 0x1f350: return {682, 1, "pear"};
		case 0x1f351: return {683, 1, "peach"};
		case 0x1f352: return {684, 1, "cherries"};
		case 0x1f353: return {685, 1, "strawberry"};
		case 0x1f354: return {720, 1, "hamburger"};
		case 0x1f355: return {722, 1, "pizza"};
		case 0x1f356: return {716, 1, "meat on bone"};
		case 0x1f357: return {717, 1, "poultry leg"};
		case 0x1f358: return {742, 1, "rice cracker"};
		case 0x1f359: return {743, 1, "rice ball"};
		case 0x1f35a: return {744, 1, "cooked rice"};
		case 0x1f35b: return {745, 1, "curry rice"};
		case 0x1f35c: return {746, 1, "steaming bowl"};
		case 0x1f35d: return {747, 1, "spaghetti"};
		case 0x1f35e: return {707, 1, "bread"};
		case 0x1f35f: return {721, 1, "french fries"};
		case 0x1f360: return {748, 1, "roasted sweet potato"};
		case 0x1f361: return {754, 1, "dango"};
		case 0x1f362: return {749, 1, "oden"};
		case 0x1f363: return {750, 1, "sushi"};
		case 0x1f364: return {751, 1, "fried shrimp"};
		case 0x1f365: return {752, 1, "fish cake with swirl"};
		case 0x1f366: return {763, 1, "soft ice cream"};
		case 0x1f367: return {764, 1, "shaved ice"};
		case 0x1f368: return {765, 1, "ice cream"};
		case 0x1f369: return {766, 1, "doughnut"};
		case 0x1f36a: return {767, 1, "cookie"};
		case 0x1f36b: return {772, 1, "chocolate bar"};
		case 0x1f36c: return {773, 1, "candy"};
		case 0x1f36d: return {774, 1, "lollipop"};
		case 0x1f36e: return {775, 1, "custard"};
		case 0x1f36f: return {776, 1, "honey pot"};
		case 0x1f370: return {769, 1, "shortcake"};
		case 0x1f371: return {741, 1, "bento box"};
		case 0x1f372: return {733, 1, "pot of food"};
		case 0x1f373: return {731, 1, "cooking"};
		case 0x1f374: return {799, 1, "fork and knife"};
		case 0x1f375: return {781, 1, "teacup without handle"};
		case 0x1f376: return {782, 1, "sake"};
		case 0x1f377: return {784, 1, "wine glass"};
		case 0x1f378: return {785, 1, "cocktail glass"};
		case 0x1f379: return {786, 1, "tropical drink"};
		case 0x1f37a: return {787, 1, "beer mug"};
		case 0x1f37b: return {788, 1, "clinking beer mugs"};
		case 0x1f37c: return {777, 1, "baby bottle"};
		case 0x1f37d: return {798, 1, "fork and knife with plate"};
		case 0x1f37e: return {783, 1, "bottle with popping cork"};
		case 0x1f37f: return {737, 1, "popcorn"};
		case 0x1f380: return {1038, 1, "ribbon"};
		case 0x1f381: return {1039, 1, "wrapped gift"};
		case 0x1f382: return {768, 1, "birthday cake"};
		case 0x1f383: return {1022, 1, "jack-o-lantern"};
		case 0x1f384: return {1023, 1, "Christmas tree"};
		case 0x1f385: return {363, 1, "Santa Claus"};
		case 0x1f386: return {1024, 1, "fireworks"};
		case 0x1f387: return {1025, 1, "sparkler"};
		case 0x1f388: return {1028, 1, "balloon"};
		case 0x1f389: return {1029, 1, "party popper"};
		case 0x1f38a: return {1030, 1, "confetti ball"};
		case 0x1f38b: return {1031, 1, "tanabata tree"};
		case 0x1f38c: return {1583, 1, "crossed flags"};
		case 0x1f38d: return {1032, 1, "pine decoration"};
		case 0x1f38e: return {1033, 1, "Japanese dolls"};
		case 0x1f38f: return {1034, 1, "carp streamer"};
		case 0x1f390: return {1035, 1, "wind chime"};
		case 0x1f391: return {1036, 1, "moon viewing ceremony"};
		case 0x1f392: return {1132, 1, "backpack"};
		case 0x1f393: return {1145, 1, "graduation cap"};
		case 0x1f396: return {1043, 1, "military medal"};
		case 0x1f397: return {1040, 1, "reminder ribbon"};
		case 0x1f399: return {1165, 1, "studio microphone"};
		case 0x1f39a: return {1166, 1, "level slider"};
		case 0x1f39b: return {1167, 1, "control knobs"};
		case 0x1f39e: return {1201, 1, "film frames"};
		case 0x1f39f: return {1041, 1, "admission tickets"};
		case 0x1f3a0: return {864, 1, "carousel horse"};
		case 0x1f3a1: return {866, 1, "ferris wheel"};
		case 0x1f3a2: return {867, 1, "roller coaster"};
		case 0x1f3a3: return {1070, 1, "fishing pole"};
		case 0x1f3a4: return {1168, 1, "microphone"};
		case 0x1f3a5: return {1200, 1, "movie camera"};
		case 0x1f3a6: return {1453, 1, "cinema"};
		case 0x1f3a7: return {1169, 1, "headphone"};
		case 0x1f3a8: return {1103, 1, "artist palette"};
		case 0x1f3a9: return {1144, 1, "top hat"};
		case 0x1f3aa: return {869, 1, "circus tent"};
		case 0x1f3ab: return {1042, 1, "ticket"};
		case 0x1f3ac: return {1203, 1, "clapper board"};
		case 0x1f3ad: return {1101, 1, "performing arts"};
		case 0x1f3ae: return {1084, 1, "video game"};
		case 0x1f3af: return {1076, 1, "bullseye"};
		case 0x1f3b0: return {1086, 1, "slot machine"};
		case 0x1f3b1: return {1079, 1, "pool 8 ball"};
		case 0x1f3b2: return {1087, 1, "game die"};
		case 0x1f3b3: return {1058, 1, "bowling"};
		case 0x1f3b4: return {1100, 1, "flower playing cards"};
		case 0x1f3b5: return {1163, 1, "musical note"};
		case 0x1f3b6: return {1164, 1, "musical notes"};
		case 0x1f3b7: return {1171, 1, "saxophone"};
		case 0x1f3b8: return {1173, 1, "guitar"};
		case 0x1f3b9: return {1174, 1, "musical keyboard"};
		case 0x1f3ba: return {1175, 1, "trumpet"};
		case 0x1f3bb: return {1176, 1, "violin"};
		case 0x1f3bc: return {1162, 1, "musical score"};
		case 0x1f3bd: return {1072, 1, "running shirt"};
		case 0x1f3be: return {1056, 1, "tennis"};
		case 0x1f3bf: return {1073, 1, "skis"};
		case 0x1f3c0: return {1052, 1, "basketball"};
		case 0x1f3c1: return {1581, 1, "chequered flag"};
		case 0x1f3c2: return {436, 1, "snowboarder"};
		case 0x1f3c3:
			if (Len >= 1) return {418, 1, "person running"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {420, 4, "woman running"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {419, 4, "man running"};
			break;
		case 0x1f3c4:
			if (Len >= 1) return {440, 1, "person surfing"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {442, 4, "woman surfing"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {441, 4, "man surfing"};
			break;
		case 0x1f3c5: return {1045, 1, "sports medal"};
		case 0x1f3c6: return {1044, 1, "trophy"};
		case 0x1f3c7: return {434, 1, "horse racing"};
		case 0x1f3c8: return {1054, 1, "american football"};
		case 0x1f3c9: return {1055, 1, "rugby football"};
		case 0x1f3ca:
			if (Len >= 1) return {446, 1, "person swimming"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {448, 4, "woman swimming"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {447, 4, "man swimming"};
			break;
		case 0x1f3cb:
			if (Len >= 1) return {452, 1, "person lifting weights"};
			if (Len >= 5 && Str[1]==0xfe0f && Str[2]==0x200d && Str[3]==0x2640 && Str[4]==0xfe0f) return {454, 5, "woman lifting weights"};
			if (Len >= 5 && Str[1]==0xfe0f && Str[2]==0x200d && Str[3]==0x2642 && Str[4]==0xfe0f) return {453, 5, "man lifting weights"};
			break;
		case 0x1f3cc:
			if (Len >= 1) return {437, 1, "person golfing"};
			if (Len >= 5 && Str[1]==0xfe0f && Str[2]==0x200d && Str[3]==0x2640 && Str[4]==0xfe0f) return {439, 5, "woman golfing"};
			if (Len >= 5 && Str[1]==0xfe0f && Str[2]==0x200d && Str[3]==0x2642 && Str[4]==0xfe0f) return {438, 5, "man golfing"};
			break;
		case 0x1f3cd: return {900, 1, "motorcycle"};
		case 0x1f3ce: return {899, 1, "racing car"};
		case 0x1f3cf: return {1059, 1, "cricket game"};
		case 0x1f3d0: return {1053, 1, "volleyball"};
		case 0x1f3d1: return {1060, 1, "field hockey"};
		case 0x1f3d2: return {1061, 1, "ice hockey"};
		case 0x1f3d3: return {1063, 1, "ping pong"};
		case 0x1f3d4: return {811, 1, "snow-capped mountain"};
		case 0x1f3d5: return {815, 1, "camping"};
		case 0x1f3d6: return {816, 1, "beach with umbrella"};
		case 0x1f3d7: return {822, 1, "building construction"};
		case 0x1f3d8: return {827, 1, "houses"};
		case 0x1f3d9: return {857, 1, "cityscape"};
		case 0x1f3da: return {828, 1, "derelict house"};
		case 0x1f3db: return {821, 1, "classical building"};
		case 0x1f3dc: return {817, 1, "desert"};
		case 0x1f3dd: return {818, 1, "desert island"};
		case 0x1f3de: return {819, 1, "national park"};
		case 0x1f3df: return {820, 1, "stadium"};
		case 0x1f3e0: return {829, 1, "house"};
		case 0x1f3e1: return {830, 1, "house with garden"};
		case 0x1f3e2: return {831, 1, "office building"};
		case 0x1f3e3: return {832, 1, "Japanese post office"};
		case 0x1f3e4: return {833, 1, "post office"};
		case 0x1f3e5: return {834, 1, "hospital"};
		case 0x1f3e6: return {835, 1, "bank"};
		case 0x1f3e7: return {1363, 1, "ATM sign"};
		case 0x1f3e8: return {836, 1, "hotel"};
		case 0x1f3e9: return {837, 1, "love hotel"};
		case 0x1f3ea: return {838, 1, "convenience store"};
		case 0x1f3eb: return {839, 1, "school"};
		case 0x1f3ec: return {840, 1, "department store"};
		case 0x1f3ed: return {841, 1, "factory"};
		case 0x1f3ee: return {1214, 1, "red paper lantern"};
		case 0x1f3ef: return {842, 1, "Japanese castle"};
		case 0x1f3f0: return {843, 1, "castle"};
		case 0x1f3f3:
			if (Len >= 1) return {1585, 1, "white flag"};
			if (Len >= 5 && Str[1]==0xfe0f && Str[2]==0x200d && Str[3]==0x26a7 && Str[4]==0xfe0f) return {1587, 5, "transgender flag"};
			if (Len >= 4 && Str[1]==0xfe0f && Str[2]==0x200d && Str[3]==0x1f308) return {1586, 4, "rainbow flag"};
			break;
		case 0x1f3f4:
			if (Len >= 1) return {1584, 1, "black flag"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2620 && Str[3]==0xfe0f) return {1588, 4, "pirate flag"};
			if (Len >= 7 && Str[1]==0xe0067 && Str[2]==0xe0062 && Str[3]==0xe0065 && Str[4]==0xe006e && Str[5]==0xe0067 && Str[6]==0xe007f) return {1847, 7, "flag: England"};
			if (Len >= 7 && Str[1]==0xe0067 && Str[2]==0xe0062 && Str[3]==0xe0073 && Str[4]==0xe0063 && Str[5]==0xe0074 && Str[6]==0xe007f) return {1848, 7, "flag: Scotland"};
			if (Len >= 7 && Str[1]==0xe0067 && Str[2]==0xe0062 && Str[3]==0xe0077 && Str[4]==0xe006c && Str[5]==0xe0073 && Str[6]==0xe007f) return {1849, 7, "flag: Wales"};
			break;
		case 0x1f3f5: return {650, 1, "rosette"};
		case 0x1f3f7: return {1232, 1, "label"};
		case 0x1f3f8: return {1064, 1, "badminton"};
		case 0x1f3f9: return {1301, 1, "bow and arrow"};
		case 0x1f3fa: return {803, 1, "amphora"};
		case 0x1f400: return {574, 1, "rat"};
		case 0x1f401: return {573, 1, "mouse"};
		case 0x1f402: return {554, 1, "ox"};
		case 0x1f403: return {555, 1, "water buffalo"};
		case 0x1f404: return {556, 1, "cow"};
		case 0x1f405: return {545, 1, "tiger"};
		case 0x1f406: return {546, 1, "leopard"};
		case 0x1f407: return {577, 1, "rabbit"};
		case 0x1f408:
			if (Len >= 1) return {541, 1, "cat"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x2b1b) return {542, 3, "black cat"};
			break;
		case 0x1f409: return {616, 1, "dragon"};
		case 0x1f40a: return {611, 1, "crocodile"};
		case 0x1f40b: return {620, 1, "whale"};
		case 0x1f40c: return {630, 1, "snail"};
		case 0x1f40d: return {614, 1, "snake"};
		case 0x1f40e: return {548, 1, "horse"};
		case 0x1f40f: return {561, 1, "ram"};
		case 0x1f410: return {563, 1, "goat"};
		case 0x1f411: return {562, 1, "ewe"};
		case 0x1f412: return {529, 1, "monkey"};
		case 0x1f413: return {594, 1, "rooster"};
		case 0x1f414: return {593, 1, "chicken"};
		case 0x1f415:
			if (Len >= 1) return {533, 1, "dog"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9ba) return {535, 3, "service dog"};
			break;
		case 0x1f416: return {558, 1, "pig"};
		case 0x1f417: return {559, 1, "boar"};
		case 0x1f418: return {568, 1, "elephant"};
		case 0x1f419: return {627, 1, "octopus"};
		case 0x1f41a: return {628, 1, "spiral shell"};
		case 0x1f41b: return {632, 1, "bug"};
		case 0x1f41c: return {633, 1, "ant"};
		case 0x1f41d: return {634, 1, "honeybee"};
		case 0x1f41e: return {636, 1, "lady beetle"};
		case 0x1f41f: return {623, 1, "fish"};
		case 0x1f420: return {624, 1, "tropical fish"};
		case 0x1f421: return {625, 1, "blowfish"};
		case 0x1f422: return {612, 1, "turtle"};
		case 0x1f423: return {595, 1, "hatching chick"};
		case 0x1f424: return {596, 1, "baby chick"};
		case 0x1f425: return {597, 1, "front-facing baby chick"};
		case 0x1f426: return {598, 1, "bird"};
		case 0x1f427: return {599, 1, "penguin"};
		case 0x1f428: return {584, 1, "koala"};
		case 0x1f429: return {536, 1, "poodle"};
		case 0x1f42a: return {564, 1, "camel"};
		case 0x1f42b: return {565, 1, "two-hump camel"};
		case 0x1f42c: return {621, 1, "dolphin"};
		case 0x1f42d: return {572, 1, "mouse face"};
		case 0x1f42e: return {553, 1, "cow face"};
		case 0x1f42f: return {544, 1, "tiger face"};
		case 0x1f430: return {576, 1, "rabbit face"};
		case 0x1f431: return {540, 1, "cat face"};
		case 0x1f432: return {615, 1, "dragon face"};
		case 0x1f433: return {619, 1, "spouting whale"};
		case 0x1f434: return {547, 1, "horse face"};
		case 0x1f435: return {528, 1, "monkey face"};
		case 0x1f436: return {532, 1, "dog face"};
		case 0x1f437: return {557, 1, "pig face"};
		case 0x1f438: return {610, 1, "frog"};
		case 0x1f439: return {575, 1, "hamster"};
		case 0x1f43a: return {537, 1, "wolf"};
		case 0x1f43b:
			if (Len >= 1) return {582, 1, "bear"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2744 && Str[3]==0xfe0f) return {583, 4, "polar bear"};
			break;
		case 0x1f43c: return {585, 1, "panda"};
		case 0x1f43d: return {560, 1, "pig nose"};
		case 0x1f43e: return {591, 1, "paw prints"};
		case 0x1f43f: return {578, 1, "chipmunk"};
		case 0x1f440: return {217, 1, "eyes"};
		case 0x1f441:
			if (Len >= 1) return {218, 1, "eye"};
			if (Len >= 5 && Str[1]==0xfe0f && Str[2]==0x200d && Str[3]==0x1f5e8 && Str[4]==0xfe0f) return {158, 5, "eye in speech bubble"};
			break;
		case 0x1f442: return {209, 1, "ear"};
		case 0x1f443: return {211, 1, "nose"};
		case 0x1f444: return {220, 1, "mouth"};
		case 0x1f445: return {219, 1, "tongue"};
		case 0x1f446: return {183, 1, "backhand index pointing up"};
		case 0x1f447: return {185, 1, "backhand index pointing down"};
		case 0x1f448: return {181, 1, "backhand index pointing left"};
		case 0x1f449: return {182, 1, "backhand index pointing right"};
		case 0x1f44a: return {191, 1, "oncoming fist"};
		case 0x1f44b: return {163, 1, "waving hand"};
		case 0x1f44c: return {172, 1, "OK hand"};
		case 0x1f44d: return {188, 1, "thumbs up"};
		case 0x1f44e: return {189, 1, "thumbs down"};
		case 0x1f44f: return {194, 1, "clapping hands"};
		case 0x1f450: return {197, 1, "open hands"};
		case 0x1f451: return {1142, 1, "crown"};
		case 0x1f452: return {1143, 1, "woman’s hat"};
		case 0x1f453: return {1108, 1, "glasses"};
		case 0x1f454: return {1113, 1, "necktie"};
		case 0x1f455: return {1114, 1, "t-shirt"};
		case 0x1f456: return {1115, 1, "jeans"};
		case 0x1f457: return {1120, 1, "dress"};
		case 0x1f458: return {1121, 1, "kimono"};
		case 0x1f459: return {1126, 1, "bikini"};
		case 0x1f45a: return {1127, 1, "woman’s clothes"};
		case 0x1f45b: return {1128, 1, "purse"};
		case 0x1f45c: return {1129, 1, "handbag"};
		case 0x1f45d: return {1130, 1, "clutch bag"};
		case 0x1f45e: return {1134, 1, "man’s shoe"};
		case 0x1f45f: return {1135, 1, "running shoe"};
		case 0x1f460: return {1138, 1, "high-heeled shoe"};
		case 0x1f461: return {1139, 1, "woman’s sandal"};
		case 0x1f462: return {1141, 1, "woman’s boot"};
		case 0x1f463: return {523, 1, "footprints"};
		case 0x1f464: return {520, 1, "bust in silhouette"};
		case 0x1f465: return {521, 1, "busts in silhouette"};
		case 0x1f466: return {224, 1, "boy"};
		case 0x1f467: return {225, 1, "girl"};
		case 0x1f468:
			if (Len >= 1) return {228, 1, "man"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2695 && Str[3]==0xfe0f) return {281, 4, "man health worker"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2696 && Str[3]==0xfe0f) return {290, 4, "man judge"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2708 && Str[3]==0xfe0f) return {320, 4, "man pilot"};
			if (Len >= 6 && Str[1]==0x200d && Str[2]==0x2764 && Str[3]==0xfe0f && Str[4]==0x200d && Str[5]==0x1f468) return {491, 6, "couple with heart: man, man"};
			if (Len >= 8 && Str[1]==0x200d && Str[2]==0x2764 && Str[3]==0xfe0f && Str[4]==0x200d && Str[5]==0x1f48b && Str[6]==0x200d && Str[7]==0x1f468) return {487, 8, "kiss: man, man"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f33e) return {293, 3, "man farmer"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f373) return {296, 3, "man cook"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f37c) return {360, 3, "man feeding baby"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f393) return {284, 3, "man student"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f3a4) return {314, 3, "man singer"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f3a8) return {317, 3, "man artist"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f3eb) return {287, 3, "man teacher"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f3ed) return {302, 3, "man factory worker"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f466) return {509, 3, "family: man, boy"};
			if (Len >= 5 && Str[1]==0x200d && Str[2]==0x1f466 && Str[3]==0x200d && Str[4]==0x1f466) return {510, 5, "family: man, boy, boy"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f467) return {511, 3, "family: man, girl"};
			if (Len >= 5 && Str[1]==0x200d && Str[2]==0x1f467 && Str[3]==0x200d && Str[4]==0x1f466) return {512, 5, "family: man, girl, boy"};
			if (Len >= 5 && Str[1]==0x200d && Str[2]==0x1f467 && Str[3]==0x200d && Str[4]==0x1f467) return {513, 5, "family: man, girl, girl"};
			if (Len >= 5 && Str[1]==0x200d && Str[2]==0x1f468 && Str[3]==0x200d && Str[4]==0x1f466) return {499, 5, "family: man, man, boy"};
			if (Len >= 7 && Str[1]==0x200d && Str[2]==0x1f468 && Str[3]==0x200d && Str[4]==0x1f466 && Str[5]==0x200d && Str[6]==0x1f466) return {502, 7, "family: man, man, boy, boy"};
			if (Len >= 5 && Str[1]==0x200d && Str[2]==0x1f468 && Str[3]==0x200d && Str[4]==0x1f467) return {500, 5, "family: man, man, girl"};
			if (Len >= 7 && Str[1]==0x200d && Str[2]==0x1f468 && Str[3]==0x200d && Str[4]==0x1f467 && Str[5]==0x200d && Str[6]==0x1f466) return {501, 7, "family: man, man, girl, boy"};
			if (Len >= 7 && Str[1]==0x200d && Str[2]==0x1f468 && Str[3]==0x200d && Str[4]==0x1f467 && Str[5]==0x200d && Str[6]==0x1f467) return {503, 7, "family: man, man, girl, girl"};
			if (Len >= 5 && Str[1]==0x200d && Str[2]==0x1f469 && Str[3]==0x200d && Str[4]==0x1f466) return {494, 5, "family: man, woman, boy"};
			if (Len >= 7 && Str[1]==0x200d && Str[2]==0x1f469 && Str[3]==0x200d && Str[4]==0x1f466 && Str[5]==0x200d && Str[6]==0x1f466) return {497, 7, "family: man, woman, boy, boy"};
			if (Len >= 5 && Str[1]==0x200d && Str[2]==0x1f469 && Str[3]==0x200d && Str[4]==0x1f467) return {495, 5, "family: man, woman, girl"};
			if (Len >= 7 && Str[1]==0x200d && Str[2]==0x1f469 && Str[3]==0x200d && Str[4]==0x1f467 && Str[5]==0x200d && Str[6]==0x1f466) return {496, 7, "family: man, woman, girl, boy"};
			if (Len >= 7 && Str[1]==0x200d && Str[2]==0x1f469 && Str[3]==0x200d && Str[4]==0x1f467 && Str[5]==0x200d && Str[6]==0x1f467) return {498, 7, "family: man, woman, girl, girl"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f4bb) return {311, 3, "man technologist"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f4bc) return {305, 3, "man office worker"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f527) return {299, 3, "man mechanic"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f52c) return {308, 3, "man scientist"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f680) return {323, 3, "man astronaut"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f692) return {326, 3, "man firefighter"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9af) return {410, 3, "man with white cane"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9b0) return {232, 3, "man: red hair"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9b1) return {233, 3, "man: curly hair"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9b2) return {235, 3, "man: bald"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9b3) return {234, 3, "man: white hair"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9bc) return {413, 3, "man in motorized wheelchair"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9bd) return {416, 3, "man in manual wheelchair"};
			break;
		case 0x1f469:
			if (Len >= 1) return {236, 1, "woman"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2695 && Str[3]==0xfe0f) return {282, 4, "woman health worker"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2696 && Str[3]==0xfe0f) return {291, 4, "woman judge"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2708 && Str[3]==0xfe0f) return {321, 4, "woman pilot"};
			if (Len >= 6 && Str[1]==0x200d && Str[2]==0x2764 && Str[3]==0xfe0f && Str[4]==0x200d && Str[5]==0x1f468) return {490, 6, "couple with heart: woman, man"};
			if (Len >= 6 && Str[1]==0x200d && Str[2]==0x2764 && Str[3]==0xfe0f && Str[4]==0x200d && Str[5]==0x1f469) return {492, 6, "couple with heart: woman, woman"};
			if (Len >= 8 && Str[1]==0x200d && Str[2]==0x2764 && Str[3]==0xfe0f && Str[4]==0x200d && Str[5]==0x1f48b && Str[6]==0x200d && Str[7]==0x1f468) return {486, 8, "kiss: woman, man"};
			if (Len >= 8 && Str[1]==0x200d && Str[2]==0x2764 && Str[3]==0xfe0f && Str[4]==0x200d && Str[5]==0x1f48b && Str[6]==0x200d && Str[7]==0x1f469) return {488, 8, "kiss: woman, woman"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f33e) return {294, 3, "woman farmer"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f373) return {297, 3, "woman cook"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f37c) return {359, 3, "woman feeding baby"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f393) return {285, 3, "woman student"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f3a4) return {315, 3, "woman singer"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f3a8) return {318, 3, "woman artist"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f3eb) return {288, 3, "woman teacher"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f3ed) return {303, 3, "woman factory worker"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f466) return {514, 3, "family: woman, boy"};
			if (Len >= 5 && Str[1]==0x200d && Str[2]==0x1f466 && Str[3]==0x200d && Str[4]==0x1f466) return {515, 5, "family: woman, boy, boy"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f467) return {516, 3, "family: woman, girl"};
			if (Len >= 5 && Str[1]==0x200d && Str[2]==0x1f467 && Str[3]==0x200d && Str[4]==0x1f466) return {517, 5, "family: woman, girl, boy"};
			if (Len >= 5 && Str[1]==0x200d && Str[2]==0x1f467 && Str[3]==0x200d && Str[4]==0x1f467) return {518, 5, "family: woman, girl, girl"};
			if (Len >= 5 && Str[1]==0x200d && Str[2]==0x1f469 && Str[3]==0x200d && Str[4]==0x1f466) return {504, 5, "family: woman, woman, boy"};
			if (Len >= 7 && Str[1]==0x200d && Str[2]==0x1f469 && Str[3]==0x200d && Str[4]==0x1f466 && Str[5]==0x200d && Str[6]==0x1f466) return {507, 7, "family: woman, woman, boy, boy"};
			if (Len >= 5 && Str[1]==0x200d && Str[2]==0x1f469 && Str[3]==0x200d && Str[4]==0x1f467) return {505, 5, "family: woman, woman, girl"};
			if (Len >= 7 && Str[1]==0x200d && Str[2]==0x1f469 && Str[3]==0x200d && Str[4]==0x1f467 && Str[5]==0x200d && Str[6]==0x1f466) return {506, 7, "family: woman, woman, girl, boy"};
			if (Len >= 7 && Str[1]==0x200d && Str[2]==0x1f469 && Str[3]==0x200d && Str[4]==0x1f467 && Str[5]==0x200d && Str[6]==0x1f467) return {508, 7, "family: woman, woman, girl, girl"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f4bb) return {312, 3, "woman technologist"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f4bc) return {306, 3, "woman office worker"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f527) return {300, 3, "woman mechanic"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f52c) return {309, 3, "woman scientist"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f680) return {324, 3, "woman astronaut"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f692) return {327, 3, "woman firefighter"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9af) return {411, 3, "woman with white cane"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9b0) return {237, 3, "woman: red hair"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9b1) return {239, 3, "woman: curly hair"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9b2) return {243, 3, "woman: bald"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9b3) return {241, 3, "woman: white hair"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9bc) return {414, 3, "woman in motorized wheelchair"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9bd) return {417, 3, "woman in manual wheelchair"};
			break;
		case 0x1f46a: return {493, 1, "family"};
		case 0x1f46b: return {483, 1, "woman and man holding hands"};
		case 0x1f46c: return {484, 1, "men holding hands"};
		case 0x1f46d: return {482, 1, "women holding hands"};
		case 0x1f46e:
			if (Len >= 1) return {328, 1, "police officer"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {330, 4, "woman police officer"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {329, 4, "man police officer"};
			break;
		case 0x1f46f:
			if (Len >= 1) return {424, 1, "people with bunny ears"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {426, 4, "women with bunny ears"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {425, 4, "men with bunny ears"};
			break;
		case 0x1f470:
			if (Len >= 1) return {352, 1, "person with veil"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {354, 4, "woman with veil"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {353, 4, "man with veil"};
			break;
		case 0x1f471:
			if (Len >= 1) return {227, 1, "person: blond hair"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {245, 4, "woman: blond hair"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {246, 4, "man: blond hair"};
			break;
		case 0x1f472: return {347, 1, "person with skullcap"};
		case 0x1f473:
			if (Len >= 1) return {344, 1, "person wearing turban"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {346, 4, "woman wearing turban"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {345, 4, "man wearing turban"};
			break;
		case 0x1f474: return {248, 1, "old man"};
		case 0x1f475: return {249, 1, "old woman"};
		case 0x1f476: return {222, 1, "baby"};
		case 0x1f477:
			if (Len >= 1) return {338, 1, "construction worker"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {340, 4, "woman construction worker"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {339, 4, "man construction worker"};
			break;
		case 0x1f478: return {343, 1, "princess"};
		case 0x1f479: return {108, 1, "ogre"};
		case 0x1f47a: return {109, 1, "goblin"};
		case 0x1f47b: return {110, 1, "ghost"};
		case 0x1f47c: return {362, 1, "baby angel"};
		case 0x1f47d: return {111, 1, "alien"};
		case 0x1f47e: return {112, 1, "alien monster"};
		case 0x1f47f: return {103, 1, "angry face with horns"};
		case 0x1f480: return {104, 1, "skull"};
		case 0x1f481:
			if (Len >= 1) return {262, 1, "person tipping hand"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {264, 4, "woman tipping hand"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {263, 4, "man tipping hand"};
			break;
		case 0x1f482:
			if (Len >= 1) return {334, 1, "guard"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {336, 4, "woman guard"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {335, 4, "man guard"};
			break;
		case 0x1f483: return {421, 1, "woman dancing"};
		case 0x1f484: return {1150, 1, "lipstick"};
		case 0x1f485: return {202, 1, "nail polish"};
		case 0x1f486:
			if (Len >= 1) return {394, 1, "person getting massage"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {396, 4, "woman getting massage"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {395, 4, "man getting massage"};
			break;
		case 0x1f487:
			if (Len >= 1) return {397, 1, "person getting haircut"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {399, 4, "woman getting haircut"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {398, 4, "man getting haircut"};
			break;
		case 0x1f488: return {868, 1, "barber pole"};
		case 0x1f489: return {1324, 1, "syringe"};
		case 0x1f48a: return {1326, 1, "pill"};
		case 0x1f48b: return {126, 1, "kiss mark"};
		case 0x1f48c: return {127, 1, "love letter"};
		case 0x1f48d: return {1151, 1, "ring"};
		case 0x1f48e: return {1152, 1, "gem stone"};
		case 0x1f48f: return {485, 1, "kiss"};
		case 0x1f490: return {646, 1, "bouquet"};
		case 0x1f491: return {489, 1, "couple with heart"};
		case 0x1f492: return {844, 1, "wedding"};
		case 0x1f493: return {132, 1, "beating heart"};
		case 0x1f494: return {137, 1, "broken heart"};
		case 0x1f495: return {134, 1, "two hearts"};
		case 0x1f496: return {130, 1, "sparkling heart"};
		case 0x1f497: return {131, 1, "growing heart"};
		case 0x1f498: return {128, 1, "heart with arrow"};
		case 0x1f499: return {144, 1, "blue heart"};
		case 0x1f49a: return {143, 1, "green heart"};
		case 0x1f49b: return {142, 1, "yellow heart"};
		case 0x1f49c: return {145, 1, "purple heart"};
		case 0x1f49d: return {129, 1, "heart with ribbon"};
		case 0x1f49e: return {133, 1, "revolving hearts"};
		case 0x1f49f: return {135, 1, "heart decoration"};
		case 0x1f4a0: return {1577, 1, "diamond with a dot"};
		case 0x1f4a1: return {1212, 1, "light bulb"};
		case 0x1f4a2: return {150, 1, "anger symbol"};
		case 0x1f4a3: return {156, 1, "bomb"};
		case 0x1f4a4: return {162, 1, "zzz"};
		case 0x1f4a5: return {151, 1, "collision"};
		case 0x1f4a6: return {153, 1, "sweat droplets"};
		case 0x1f4a7: return {1020, 1, "droplet"};
		case 0x1f4a8: return {154, 1, "dashing away"};
		case 0x1f4a9: return {106, 1, "pile of poo"};
		case 0x1f4aa: return {204, 1, "flexed biceps"};
		case 0x1f4ab: return {152, 1, "dizzy"};
		case 0x1f4ac: return {157, 1, "speech balloon"};
		case 0x1f4ad: return {161, 1, "thought balloon"};
		case 0x1f4ae: return {648, 1, "white flower"};
		case 0x1f4af: return {149, 1, "hundred points"};
		case 0x1f4b0: return {1233, 1, "money bag"};
		case 0x1f4b1: return {1473, 1, "currency exchange"};
		case 0x1f4b2: return {1474, 1, "heavy dollar sign"};
		case 0x1f4b3: return {1240, 1, "credit card"};
		case 0x1f4b4: return {1235, 1, "yen banknote"};
		case 0x1f4b5: return {1236, 1, "dollar banknote"};
		case 0x1f4b6: return {1237, 1, "euro banknote"};
		case 0x1f4b7: return {1238, 1, "pound banknote"};
		case 0x1f4b8: return {1239, 1, "money with wings"};
		case 0x1f4b9: return {1242, 1, "chart increasing with yen"};
		case 0x1f4ba: return {934, 1, "seat"};
		case 0x1f4bb: return {1189, 1, "laptop"};
		case 0x1f4bc: return {1263, 1, "briefcase"};
		case 0x1f4bd: return {1195, 1, "computer disk"};
		case 0x1f4be: return {1196, 1, "floppy disk"};
		case 0x1f4bf: return {1197, 1, "optical disk"};
		case 0x1f4c0: return {1198, 1, "dvd"};
		case 0x1f4c1: return {1264, 1, "file folder"};
		case 0x1f4c2: return {1265, 1, "open file folder"};
		case 0x1f4c3: return {1225, 1, "page with curl"};
		case 0x1f4c4: return {1227, 1, "page facing up"};
		case 0x1f4c5: return {1267, 1, "calendar"};
		case 0x1f4c6: return {1268, 1, "tear-off calendar"};
		case 0x1f4c7: return {1271, 1, "card index"};
		case 0x1f4c8: return {1272, 1, "chart increasing"};
		case 0x1f4c9: return {1273, 1, "chart decreasing"};
		case 0x1f4ca: return {1274, 1, "bar chart"};
		case 0x1f4cb: return {1275, 1, "clipboard"};
		case 0x1f4cc: return {1276, 1, "pushpin"};
		case 0x1f4cd: return {1277, 1, "round pushpin"};
		case 0x1f4ce: return {1278, 1, "paperclip"};
		case 0x1f4cf: return {1280, 1, "straight ruler"};
		case 0x1f4d0: return {1281, 1, "triangular ruler"};
		case 0x1f4d1: return {1230, 1, "bookmark tabs"};
		case 0x1f4d2: return {1224, 1, "ledger"};
		case 0x1f4d3: return {1223, 1, "notebook"};
		case 0x1f4d4: return {1216, 1, "notebook with decorative cover"};
		case 0x1f4d5: return {1217, 1, "closed book"};
		case 0x1f4d6: return {1218, 1, "open book"};
		case 0x1f4d7: return {1219, 1, "green book"};
		case 0x1f4d8: return {1220, 1, "blue book"};
		case 0x1f4d9: return {1221, 1, "orange book"};
		case 0x1f4da: return {1222, 1, "books"};
		case 0x1f4db: return {1478, 1, "name badge"};
		case 0x1f4dc: return {1226, 1, "scroll"};
		case 0x1f4dd: return {1262, 1, "memo"};
		case 0x1f4de: return {1183, 1, "telephone receiver"};
		case 0x1f4df: return {1184, 1, "pager"};
		case 0x1f4e0: return {1185, 1, "fax machine"};
		case 0x1f4e1: return {1323, 1, "satellite antenna"};
		case 0x1f4e2: return {1157, 1, "loudspeaker"};
		case 0x1f4e3: return {1158, 1, "megaphone"};
		case 0x1f4e4: return {1247, 1, "outbox tray"};
		case 0x1f4e5: return {1248, 1, "inbox tray"};
		case 0x1f4e6: return {1249, 1, "package"};
		case 0x1f4e7: return {1244, 1, "e-mail"};
		case 0x1f4e8: return {1245, 1, "incoming envelope"};
		case 0x1f4e9: return {1246, 1, "envelope with arrow"};
		case 0x1f4ea: return {1251, 1, "closed mailbox with lowered flag"};
		case 0x1f4eb: return {1250, 1, "closed mailbox with raised flag"};
		case 0x1f4ec: return {1252, 1, "open mailbox with raised flag"};
		case 0x1f4ed: return {1253, 1, "open mailbox with lowered flag"};
		case 0x1f4ee: return {1254, 1, "postbox"};
		case 0x1f4ef: return {1159, 1, "postal horn"};
		case 0x1f4f0: return {1228, 1, "newspaper"};
		case 0x1f4f1: return {1180, 1, "mobile phone"};
		case 0x1f4f2: return {1181, 1, "mobile phone with arrow"};
		case 0x1f4f3: return {1457, 1, "vibration mode"};
		case 0x1f4f4: return {1458, 1, "mobile phone off"};
		case 0x1f4f5: return {1385, 1, "no mobile phones"};
		case 0x1f4f6: return {1456, 1, "antenna bars"};
		case 0x1f4f7: return {1205, 1, "camera"};
		case 0x1f4f8: return {1206, 1, "camera with flash"};
		case 0x1f4f9: return {1207, 1, "video camera"};
		case 0x1f4fa: return {1204, 1, "television"};
		case 0x1f4fb: return {1170, 1, "radio"};
		case 0x1f4fc: return {1208, 1, "videocassette"};
		case 0x1f4fd: return {1202, 1, "film projector"};
		case 0x1f4ff: return {1149, 1, "prayer beads"};
		case 0x1f500: return {1435, 1, "shuffle tracks button"};
		case 0x1f501: return {1436, 1, "repeat button"};
		case 0x1f502: return {1437, 1, "repeat single button"};
		case 0x1f503: return {1403, 1, "clockwise vertical arrows"};
		case 0x1f504: return {1404, 1, "counterclockwise arrows button"};
		case 0x1f505: return {1454, 1, "dim button"};
		case 0x1f506: return {1455, 1, "bright button"};
		case 0x1f507: return {1153, 1, "muted speaker"};
		case 0x1f508: return {1154, 1, "speaker low volume"};
		case 0x1f509: return {1155, 1, "speaker medium volume"};
		case 0x1f50a: return {1156, 1, "speaker high volume"};
		case 0x1f50b: return {1186, 1, "battery"};
		case 0x1f50c: return {1188, 1, "electric plug"};
		case 0x1f50d: return {1209, 1, "magnifying glass tilted left"};
		case 0x1f50e: return {1210, 1, "magnifying glass tilted right"};
		case 0x1f50f: return {1288, 1, "locked with pen"};
		case 0x1f510: return {1289, 1, "locked with key"};
		case 0x1f511: return {1290, 1, "key"};
		case 0x1f512: return {1286, 1, "locked"};
		case 0x1f513: return {1287, 1, "unlocked"};
		case 0x1f514: return {1160, 1, "bell"};
		case 0x1f515: return {1161, 1, "bell with slash"};
		case 0x1f516: return {1231, 1, "bookmark"};
		case 0x1f517: return {1311, 1, "link"};
		case 0x1f518: return {1578, 1, "radio button"};
		case 0x1f519: return {1405, 1, "BACK arrow"};
		case 0x1f51a: return {1406, 1, "END arrow"};
		case 0x1f51b: return {1407, 1, "ON! arrow"};
		case 0x1f51c: return {1408, 1, "SOON arrow"};
		case 0x1f51d: return {1409, 1, "TOP arrow"};
		case 0x1f51e: return {1386, 1, "no one under eighteen"};
		case 0x1f51f: return {1507, 1, "keycap: 10"};
		case 0x1f520: return {1508, 1, "input latin uppercase"};
		case 0x1f521: return {1509, 1, "input latin lowercase"};
		case 0x1f522: return {1510, 1, "input numbers"};
		case 0x1f523: return {1511, 1, "input symbols"};
		case 0x1f524: return {1512, 1, "input latin letters"};
		case 0x1f525: return {1019, 1, "fire"};
		case 0x1f526: return {1213, 1, "flashlight"};
		case 0x1f527: return {1304, 1, "wrench"};
		case 0x1f528: return {1292, 1, "hammer"};
		case 0x1f529: return {1306, 1, "nut and bolt"};
		case 0x1f52a: return {801, 1, "kitchen knife"};
		case 0x1f52b: return {1299, 1, "water pistol"};
		case 0x1f52c: return {1321, 1, "microscope"};
		case 0x1f52d: return {1322, 1, "telescope"};
		case 0x1f52e: return {1080, 1, "crystal ball"};
		case 0x1f52f: return {1421, 1, "dotted six-pointed star"};
		case 0x1f530: return {1479, 1, "Japanese symbol for beginner"};
		case 0x1f531: return {1477, 1, "trident emblem"};
		case 0x1f532: return {1580, 1, "black square button"};
		case 0x1f533: return {1579, 1, "white square button"};
		case 0x1f534: return {1547, 1, "red circle"};
		case 0x1f535: return {1551, 1, "blue circle"};
		case 0x1f536: return {1571, 1, "large orange diamond"};
		case 0x1f537: return {1572, 1, "large blue diamond"};
		case 0x1f538: return {1573, 1, "small orange diamond"};
		case 0x1f539: return {1574, 1, "small blue diamond"};
		case 0x1f53a: return {1575, 1, "red triangle pointed up"};
		case 0x1f53b: return {1576, 1, "red triangle pointed down"};
		case 0x1f53c: return {1445, 1, "upwards button"};
		case 0x1f53d: return {1447, 1, "downwards button"};
		case 0x1f549: return {1412, 1, "om"};
		case 0x1f54a: return {600, 1, "dove"};
		case 0x1f54b: return {852, 1, "kaaba"};
		case 0x1f54c: return {848, 1, "mosque"};
		case 0x1f54d: return {850, 1, "synagogue"};
		case 0x1f54e: return {1420, 1, "menorah"};
		case 0x1f550: return {953, 1, "one o’clock"};
		case 0x1f551: return {955, 1, "two o’clock"};
		case 0x1f552: return {957, 1, "three o’clock"};
		case 0x1f553: return {959, 1, "four o’clock"};
		case 0x1f554: return {961, 1, "five o’clock"};
		case 0x1f555: return {963, 1, "six o’clock"};
		case 0x1f556: return {965, 1, "seven o’clock"};
		case 0x1f557: return {967, 1, "eight o’clock"};
		case 0x1f558: return {969, 1, "nine o’clock"};
		case 0x1f559: return {971, 1, "ten o’clock"};
		case 0x1f55a: return {973, 1, "eleven o’clock"};
		case 0x1f55b: return {951, 1, "twelve o’clock"};
		case 0x1f55c: return {954, 1, "one-thirty"};
		case 0x1f55d: return {956, 1, "two-thirty"};
		case 0x1f55e: return {958, 1, "three-thirty"};
		case 0x1f55f: return {960, 1, "four-thirty"};
		case 0x1f560: return {962, 1, "five-thirty"};
		case 0x1f561: return {964, 1, "six-thirty"};
		case 0x1f562: return {966, 1, "seven-thirty"};
		case 0x1f563: return {968, 1, "eight-thirty"};
		case 0x1f564: return {970, 1, "nine-thirty"};
		case 0x1f565: return {972, 1, "ten-thirty"};
		case 0x1f566: return {974, 1, "eleven-thirty"};
		case 0x1f567: return {952, 1, "twelve-thirty"};
		case 0x1f56f: return {1211, 1, "candle"};
		case 0x1f570: return {950, 1, "mantelpiece clock"};
		case 0x1f573: return {155, 1, "hole"};
		case 0x1f574: return {423, 1, "person in suit levitating"};
		case 0x1f575:
			if (Len >= 1) return {331, 1, "detective"};
			if (Len >= 5 && Str[1]==0xfe0f && Str[2]==0x200d && Str[3]==0x2640 && Str[4]==0xfe0f) return {333, 5, "woman detective"};
			if (Len >= 5 && Str[1]==0xfe0f && Str[2]==0x200d && Str[3]==0x2642 && Str[4]==0xfe0f) return {332, 5, "man detective"};
			break;
		case 0x1f576: return {1109, 1, "sunglasses"};
		case 0x1f577: return {639, 1, "spider"};
		case 0x1f578: return {640, 1, "spider web"};
		case 0x1f579: return {1085, 1, "joystick"};
		case 0x1f57a: return {422, 1, "man dancing"};
		case 0x1f587: return {1279, 1, "linked paperclips"};
		case 0x1f58a: return {1259, 1, "pen"};
		case 0x1f58b: return {1258, 1, "fountain pen"};
		case 0x1f58c: return {1260, 1, "paintbrush"};
		case 0x1f58d: return {1261, 1, "crayon"};
		case 0x1f590: return {165, 1, "hand with fingers splayed"};
		case 0x1f595: return {184, 1, "middle finger"};
		case 0x1f596: return {167, 1, "vulcan salute"};
		case 0x1f5a4: return {147, 1, "black heart"};
		case 0x1f5a5: return {1190, 1, "desktop computer"};
		case 0x1f5a8: return {1191, 1, "printer"};
		case 0x1f5b1: return {1193, 1, "computer mouse"};
		case 0x1f5b2: return {1194, 1, "trackball"};
		case 0x1f5bc: return {1102, 1, "framed picture"};
		case 0x1f5c2: return {1266, 1, "card index dividers"};
		case 0x1f5c3: return {1283, 1, "card file box"};
		case 0x1f5c4: return {1284, 1, "file cabinet"};
		case 0x1f5d1: return {1285, 1, "wastebasket"};
		case 0x1f5d2: return {1269, 1, "spiral notepad"};
		case 0x1f5d3: return {1270, 1, "spiral calendar"};
		case 0x1f5dc: return {1308, 1, "clamp"};
		case 0x1f5dd: return {1291, 1, "old key"};
		case 0x1f5de: return {1229, 1, "rolled-up newspaper"};
		case 0x1f5e1: return {1297, 1, "dagger"};
		case 0x1f5e3: return {519, 1, "speaking head"};
		case 0x1f5e8: return {159, 1, "left speech bubble"};
		case 0x1f5ef: return {160, 1, "right anger bubble"};
		case 0x1f5f3: return {1255, 1, "ballot box with ballot"};
		case 0x1f5fa: return {808, 1, "world map"};
		case 0x1f5fb: return {814, 1, "mount fuji"};
		case 0x1f5fc: return {845, 1, "Tokyo tower"};
		case 0x1f5fd: return {846, 1, "Statue of Liberty"};
		case 0x1f5fe: return {809, 1, "map of Japan"};
		case 0x1f5ff: return {1360, 1, "moai"};
		case 0x1f600: return {0, 1, "grinning face"};
		case 0x1f601: return {3, 1, "beaming face with smiling eyes"};
		case 0x1f602: return {7, 1, "face with tears of joy"};
		case 0x1f603: return {1, 1, "grinning face with big eyes"};
		case 0x1f604: return {2, 1, "grinning face with smiling eyes"};
		case 0x1f605: return {5, 1, "grinning face with sweat"};
		case 0x1f606: return {4, 1, "grinning squinting face"};
		case 0x1f607: return {13, 1, "smiling face with halo"};
		case 0x1f608: return {102, 1, "smiling face with horns"};
		case 0x1f609: return {11, 1, "winking face"};
		case 0x1f60a: return {12, 1, "smiling face with smiling eyes"};
		case 0x1f60b: return {23, 1, "face savoring food"};
		case 0x1f60c: return {49, 1, "relieved face"};
		case 0x1f60d: return {15, 1, "smiling face with heart-eyes"};
		case 0x1f60e: return {69, 1, "smiling face with sunglasses"};
		case 0x1f60f: return {43, 1, "smirking face"};
		case 0x1f610: return {38, 1, "neutral face"};
		case 0x1f611: return {39, 1, "expressionless face"};
		case 0x1f612: return {44, 1, "unamused face"};
		case 0x1f613: return {94, 1, "downcast face with sweat"};
		case 0x1f614: return {50, 1, "pensive face"};
		case 0x1f615: return {72, 1, "confused face"};
		case 0x1f616: return {91, 1, "confounded face"};
		case 0x1f617: return {18, 1, "kissing face"};
		case 0x1f618: return {17, 1, "face blowing a kiss"};
		case 0x1f619: return {21, 1, "kissing face with smiling eyes"};
		case 0x1f61a: return {20, 1, "kissing face with closed eyes"};
		case 0x1f61b: return {24, 1, "face with tongue"};
		case 0x1f61c: return {25, 1, "winking face with tongue"};
		case 0x1f61d: return {27, 1, "squinting face with tongue"};
		case 0x1f61e: return {93, 1, "disappointed face"};
		case 0x1f61f: return {74, 1, "worried face"};
		case 0x1f620: return {100, 1, "angry face"};
		case 0x1f621: return {99, 1, "pouting face"};
		case 0x1f622: return {88, 1, "crying face"};
		case 0x1f623: return {92, 1, "persevering face"};
		case 0x1f624: return {98, 1, "face with steam from nose"};
		case 0x1f625: return {87, 1, "sad but relieved face"};
		case 0x1f626: return {83, 1, "frowning face with open mouth"};
		case 0x1f627: return {84, 1, "anguished face"};
		case 0x1f628: return {85, 1, "fearful face"};
		case 0x1f629: return {95, 1, "weary face"};
		case 0x1f62a: return {51, 1, "sleepy face"};
		case 0x1f62b: return {96, 1, "tired face"};
		case 0x1f62c: return {46, 1, "grimacing face"};
		case 0x1f62d: return {89, 1, "loudly crying face"};
		case 0x1f62e:
			if (Len >= 1) return {77, 1, "face with open mouth"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f4a8) return {47, 3, "face exhaling"};
			break;
		case 0x1f62f: return {78, 1, "hushed face"};
		case 0x1f630: return {86, 1, "anxious face with sweat"};
		case 0x1f631: return {90, 1, "face screaming in fear"};
		case 0x1f632: return {79, 1, "astonished face"};
		case 0x1f633: return {80, 1, "flushed face"};
		case 0x1f634: return {53, 1, "sleeping face"};
		case 0x1f635:
			if (Len >= 1) return {63, 1, "face with crossed-out eyes"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f4ab) return {64, 3, "face with spiral eyes"};
			break;
		case 0x1f636:
			if (Len >= 1) return {40, 1, "face without mouth"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x1f32b && Str[3]==0xfe0f) return {42, 4, "face in clouds"};
			break;
		case 0x1f637: return {54, 1, "face with medical mask"};
		case 0x1f638: return {115, 1, "grinning cat with smiling eyes"};
		case 0x1f639: return {116, 1, "cat with tears of joy"};
		case 0x1f63a: return {114, 1, "grinning cat"};
		case 0x1f63b: return {117, 1, "smiling cat with heart-eyes"};
		case 0x1f63c: return {118, 1, "cat with wry smile"};
		case 0x1f63d: return {119, 1, "kissing cat"};
		case 0x1f63e: return {122, 1, "pouting cat"};
		case 0x1f63f: return {121, 1, "crying cat"};
		case 0x1f640: return {120, 1, "weary cat"};
		case 0x1f641: return {75, 1, "slightly frowning face"};
		case 0x1f642: return {8, 1, "slightly smiling face"};
		case 0x1f643: return {9, 1, "upside-down face"};
		case 0x1f644: return {45, 1, "face with rolling eyes"};
		case 0x1f645:
			if (Len >= 1) return {256, 1, "person gesturing NO"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {258, 4, "woman gesturing NO"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {257, 4, "man gesturing NO"};
			break;
		case 0x1f646:
			if (Len >= 1) return {259, 1, "person gesturing OK"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {261, 4, "woman gesturing OK"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {260, 4, "man gesturing OK"};
			break;
		case 0x1f647:
			if (Len >= 1) return {271, 1, "person bowing"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {273, 4, "woman bowing"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {272, 4, "man bowing"};
			break;
		case 0x1f648: return {123, 1, "see-no-evil monkey"};
		case 0x1f649: return {124, 1, "hear-no-evil monkey"};
		case 0x1f64a: return {125, 1, "speak-no-evil monkey"};
		case 0x1f64b:
			if (Len >= 1) return {265, 1, "person raising hand"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {267, 4, "woman raising hand"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {266, 4, "man raising hand"};
			break;
		case 0x1f64c: return {195, 1, "raising hands"};
		case 0x1f64d:
			if (Len >= 1) return {250, 1, "person frowning"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {252, 4, "woman frowning"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {251, 4, "man frowning"};
			break;
		case 0x1f64e:
			if (Len >= 1) return {253, 1, "person pouting"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {255, 4, "woman pouting"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {254, 4, "man pouting"};
			break;
		case 0x1f64f: return {200, 1, "folded hands"};
		case 0x1f680: return {940, 1, "rocket"};
		case 0x1f681: return {935, 1, "helicopter"};
		case 0x1f682: return {870, 1, "locomotive"};
		case 0x1f683: return {871, 1, "railway car"};
		case 0x1f684: return {872, 1, "high-speed train"};
		case 0x1f685: return {873, 1, "bullet train"};
		case 0x1f686: return {874, 1, "train"};
		case 0x1f687: return {875, 1, "metro"};
		case 0x1f688: return {876, 1, "light rail"};
		case 0x1f689: return {877, 1, "station"};
		case 0x1f68a: return {878, 1, "tram"};
		case 0x1f68b: return {881, 1, "tram car"};
		case 0x1f68c: return {882, 1, "bus"};
		case 0x1f68d: return {883, 1, "oncoming bus"};
		case 0x1f68e: return {884, 1, "trolleybus"};
		case 0x1f68f: return {909, 1, "bus stop"};
		case 0x1f690: return {885, 1, "minibus"};
		case 0x1f691: return {886, 1, "ambulance"};
		case 0x1f692: return {887, 1, "fire engine"};
		case 0x1f693: return {888, 1, "police car"};
		case 0x1f694: return {889, 1, "oncoming police car"};
		case 0x1f695: return {890, 1, "taxi"};
		case 0x1f696: return {891, 1, "oncoming taxi"};
		case 0x1f697: return {892, 1, "automobile"};
		case 0x1f698: return {893, 1, "oncoming automobile"};
		case 0x1f699: return {894, 1, "sport utility vehicle"};
		case 0x1f69a: return {896, 1, "delivery truck"};
		case 0x1f69b: return {897, 1, "articulated lorry"};
		case 0x1f69c: return {898, 1, "tractor"};
		case 0x1f69d: return {879, 1, "monorail"};
		case 0x1f69e: return {880, 1, "mountain railway"};
		case 0x1f69f: return {936, 1, "suspension railway"};
		case 0x1f6a0: return {937, 1, "mountain cableway"};
		case 0x1f6a1: return {938, 1, "aerial tramway"};
		case 0x1f6a2: return {928, 1, "ship"};
		case 0x1f6a3:
			if (Len >= 1) return {443, 1, "person rowing boat"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {445, 4, "woman rowing boat"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {444, 4, "man rowing boat"};
			break;
		case 0x1f6a4: return {924, 1, "speedboat"};
		case 0x1f6a5: return {916, 1, "horizontal traffic light"};
		case 0x1f6a6: return {917, 1, "vertical traffic light"};
		case 0x1f6a7: return {919, 1, "construction"};
		case 0x1f6a8: return {915, 1, "police car light"};
		case 0x1f6a9: return {1582, 1, "triangular flag"};
		case 0x1f6aa: return {1331, 1, "door"};
		case 0x1f6ab: return {1379, 1, "prohibited"};
		case 0x1f6ac: return {1356, 1, "cigarette"};
		case 0x1f6ad: return {1381, 1, "no smoking"};
		case 0x1f6ae: return {1364, 1, "litter in bin sign"};
		case 0x1f6af: return {1382, 1, "no littering"};
		case 0x1f6b0: return {1365, 1, "potable water"};
		case 0x1f6b1: return {1383, 1, "non-potable water"};
		case 0x1f6b2: return {905, 1, "bicycle"};
		case 0x1f6b3: return {1380, 1, "no bicycles"};
		case 0x1f6b4:
			if (Len >= 1) return {455, 1, "person biking"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {457, 4, "woman biking"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {456, 4, "man biking"};
			break;
		case 0x1f6b5:
			if (Len >= 1) return {458, 1, "person mountain biking"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {460, 4, "woman mountain biking"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {459, 4, "man mountain biking"};
			break;
		case 0x1f6b6:
			if (Len >= 1) return {400, 1, "person walking"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {402, 4, "woman walking"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {401, 4, "man walking"};
			break;
		case 0x1f6b7: return {1384, 1, "no pedestrians"};
		case 0x1f6b8: return {1377, 1, "children crossing"};
		case 0x1f6b9: return {1367, 1, "men’s room"};
		case 0x1f6ba: return {1368, 1, "women’s room"};
		case 0x1f6bb: return {1369, 1, "restroom"};
		case 0x1f6bc: return {1370, 1, "baby symbol"};
		case 0x1f6bd: return {1338, 1, "toilet"};
		case 0x1f6be: return {1371, 1, "water closet"};
		case 0x1f6bf: return {1340, 1, "shower"};
		case 0x1f6c0: return {479, 1, "person taking bath"};
		case 0x1f6c1: return {1341, 1, "bathtub"};
		case 0x1f6c2: return {1372, 1, "passport control"};
		case 0x1f6c3: return {1373, 1, "customs"};
		case 0x1f6c4: return {1374, 1, "baggage claim"};
		case 0x1f6c5: return {1375, 1, "left luggage"};
		case 0x1f6cb: return {1336, 1, "couch and lamp"};
		case 0x1f6cc: return {480, 1, "person in bed"};
		case 0x1f6cd: return {1131, 1, "shopping bags"};
		case 0x1f6ce: return {942, 1, "bellhop bell"};
		case 0x1f6cf: return {1335, 1, "bed"};
		case 0x1f6d0: return {1410, 1, "place of worship"};
		case 0x1f6d1: return {918, 1, "stop sign"};
		case 0x1f6d2: return {1355, 1, "shopping cart"};
		case 0x1f6d5: return {849, 1, "hindu temple"};
		case 0x1f6d6: return {826, 1, "hut"};
		case 0x1f6d7: return {1332, 1, "elevator"};
		case 0x1f6dd: return {865, 1, "playground slide"};
		case 0x1f6de: return {914, 1, "wheel"};
		case 0x1f6df: return {921, 1, "ring buoy"};
		case 0x1f6e0: return {1296, 1, "hammer and wrench"};
		case 0x1f6e1: return {1302, 1, "shield"};
		case 0x1f6e2: return {912, 1, "oil drum"};
		case 0x1f6e3: return {910, 1, "motorway"};
		case 0x1f6e4: return {911, 1, "railway track"};
		case 0x1f6e5: return {927, 1, "motor boat"};
		case 0x1f6e9: return {930, 1, "small airplane"};
		case 0x1f6eb: return {931, 1, "airplane departure"};
		case 0x1f6ec: return {932, 1, "airplane arrival"};
		case 0x1f6f0: return {939, 1, "satellite"};
		case 0x1f6f3: return {925, 1, "passenger ship"};
		case 0x1f6f4: return {906, 1, "kick scooter"};
		case 0x1f6f5: return {901, 1, "motor scooter"};
		case 0x1f6f6: return {923, 1, "canoe"};
		case 0x1f6f7: return {1074, 1, "sled"};
		case 0x1f6f8: return {941, 1, "flying saucer"};
		case 0x1f6f9: return {907, 1, "skateboard"};
		case 0x1f6fa: return {904, 1, "auto rickshaw"};
		case 0x1f6fb: return {895, 1, "pickup truck"};
		case 0x1f6fc: return {908, 1, "roller skate"};
		case 0x1f7e0: return {1548, 1, "orange circle"};
		case 0x1f7e1: return {1549, 1, "yellow circle"};
		case 0x1f7e2: return {1550, 1, "green circle"};
		case 0x1f7e3: return {1552, 1, "purple circle"};
		case 0x1f7e4: return {1553, 1, "brown circle"};
		case 0x1f7e5: return {1556, 1, "red square"};
		case 0x1f7e6: return {1560, 1, "blue square"};
		case 0x1f7e7: return {1557, 1, "orange square"};
		case 0x1f7e8: return {1558, 1, "yellow square"};
		case 0x1f7e9: return {1559, 1, "green square"};
		case 0x1f7ea: return {1561, 1, "purple square"};
		case 0x1f7eb: return {1562, 1, "brown square"};
		case 0x1f7f0: return {1464, 1, "heavy equals sign"};
		case 0x1f90c: return {173, 1, "pinched fingers"};
		case 0x1f90d: return {148, 1, "white heart"};
		case 0x1f90e: return {146, 1, "brown heart"};
		case 0x1f90f: return {174, 1, "pinching hand"};
		case 0x1f910: return {36, 1, "zipper-mouth face"};
		case 0x1f911: return {28, 1, "money-mouth face"};
		case 0x1f912: return {55, 1, "face with thermometer"};
		case 0x1f913: return {70, 1, "nerd face"};
		case 0x1f914: return {34, 1, "thinking face"};
		case 0x1f915: return {56, 1, "face with head-bandage"};
		case 0x1f916: return {113, 1, "robot"};
		case 0x1f917: return {29, 1, "smiling face with open hands"};
		case 0x1f918: return {179, 1, "sign of the horns"};
		case 0x1f919: return {180, 1, "call me hand"};
		case 0x1f91a: return {164, 1, "raised back of hand"};
		case 0x1f91b: return {192, 1, "left-facing fist"};
		case 0x1f91c: return {193, 1, "right-facing fist"};
		case 0x1f91d: return {199, 1, "handshake"};
		case 0x1f91e: return {176, 1, "crossed fingers"};
		case 0x1f91f: return {178, 1, "love-you gesture"};
		case 0x1f920: return {66, 1, "cowboy hat face"};
		case 0x1f921: return {107, 1, "clown face"};
		case 0x1f922: return {57, 1, "nauseated face"};
		case 0x1f923: return {6, 1, "rolling on the floor laughing"};
		case 0x1f924: return {52, 1, "drooling face"};
		case 0x1f925: return {48, 1, "lying face"};
		case 0x1f926:
			if (Len >= 1) return {274, 1, "person facepalming"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {276, 4, "woman facepalming"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {275, 4, "man facepalming"};
			break;
		case 0x1f927: return {59, 1, "sneezing face"};
		case 0x1f928: return {37, 1, "face with raised eyebrow"};
		case 0x1f929: return {16, 1, "star-struck"};
		case 0x1f92a: return {26, 1, "zany face"};
		case 0x1f92b: return {33, 1, "shushing face"};
		case 0x1f92c: return {101, 1, "face with symbols on mouth"};
		case 0x1f92d: return {30, 1, "face with hand over mouth"};
		case 0x1f92e: return {58, 1, "face vomiting"};
		case 0x1f92f: return {65, 1, "exploding head"};
		case 0x1f930: return {355, 1, "pregnant woman"};
		case 0x1f931: return {358, 1, "breast-feeding"};
		case 0x1f932: return {198, 1, "palms up together"};
		case 0x1f933: return {203, 1, "selfie"};
		case 0x1f934: return {342, 1, "prince"};
		case 0x1f935:
			if (Len >= 1) return {349, 1, "person in tuxedo"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {351, 4, "woman in tuxedo"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {350, 4, "man in tuxedo"};
			break;
		case 0x1f936: return {364, 1, "Mrs. Claus"};
		case 0x1f937:
			if (Len >= 1) return {277, 1, "person shrugging"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {279, 4, "woman shrugging"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {278, 4, "man shrugging"};
			break;
		case 0x1f938:
			if (Len >= 1) return {461, 1, "person cartwheeling"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {463, 4, "woman cartwheeling"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {462, 4, "man cartwheeling"};
			break;
		case 0x1f939:
			if (Len >= 1) return {473, 1, "person juggling"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {475, 4, "woman juggling"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {474, 4, "man juggling"};
			break;
		case 0x1f93a: return {433, 1, "person fencing"};
		case 0x1f93c:
			if (Len >= 1) return {464, 1, "people wrestling"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {466, 4, "women wrestling"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {465, 4, "men wrestling"};
			break;
		case 0x1f93d:
			if (Len >= 1) return {467, 1, "person playing water polo"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {469, 4, "woman playing water polo"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {468, 4, "man playing water polo"};
			break;
		case 0x1f93e:
			if (Len >= 1) return {470, 1, "person playing handball"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {472, 4, "woman playing handball"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {471, 4, "man playing handball"};
			break;
		case 0x1f93f: return {1071, 1, "diving mask"};
		case 0x1f940: return {652, 1, "wilted flower"};
		case 0x1f941: return {1178, 1, "drum"};
		case 0x1f942: return {789, 1, "clinking glasses"};
		case 0x1f943: return {790, 1, "tumbler glass"};
		case 0x1f944: return {800, 1, "spoon"};
		case 0x1f945: return {1067, 1, "goal net"};
		case 0x1f947: return {1046, 1, "1st place medal"};
		case 0x1f948: return {1047, 1, "2nd place medal"};
		case 0x1f949: return {1048, 1, "3rd place medal"};
		case 0x1f94a: return {1065, 1, "boxing glove"};
		case 0x1f94b: return {1066, 1, "martial arts uniform"};
		case 0x1f94c: return {1075, 1, "curling stone"};
		case 0x1f94d: return {1062, 1, "lacrosse"};
		case 0x1f94e: return {1051, 1, "softball"};
		case 0x1f94f: return {1057, 1, "flying disc"};
		case 0x1f950: return {708, 1, "croissant"};
		case 0x1f951: return {691, 1, "avocado"};
		case 0x1f952: return {698, 1, "cucumber"};
		case 0x1f953: return {719, 1, "bacon"};
		case 0x1f954: return {693, 1, "potato"};
		case 0x1f955: return {694, 1, "carrot"};
		case 0x1f956: return {709, 1, "baguette bread"};
		case 0x1f957: return {736, 1, "green salad"};
		case 0x1f958: return {732, 1, "shallow pan of food"};
		case 0x1f959: return {728, 1, "stuffed flatbread"};
		case 0x1f95a: return {730, 1, "egg"};
		case 0x1f95b: return {778, 1, "glass of milk"};
		case 0x1f95c: return {704, 1, "peanuts"};
		case 0x1f95d: return {687, 1, "kiwi fruit"};
		case 0x1f95e: return {713, 1, "pancakes"};
		case 0x1f95f: return {755, 1, "dumpling"};
		case 0x1f960: return {756, 1, "fortune cookie"};
		case 0x1f961: return {757, 1, "takeout box"};
		case 0x1f962: return {797, 1, "chopsticks"};
		case 0x1f963: return {735, 1, "bowl with spoon"};
		case 0x1f964: return {792, 1, "cup with straw"};
		case 0x1f965: return {690, 1, "coconut"};
		case 0x1f966: return {700, 1, "broccoli"};
		case 0x1f967: return {771, 1, "pie"};
		case 0x1f968: return {711, 1, "pretzel"};
		case 0x1f969: return {718, 1, "cut of meat"};
		case 0x1f96a: return {724, 1, "sandwich"};
		case 0x1f96b: return {740, 1, "canned food"};
		case 0x1f96c: return {699, 1, "leafy green"};
		case 0x1f96d: return {679, 1, "mango"};
		case 0x1f96e: return {753, 1, "moon cake"};
		case 0x1f96f: return {712, 1, "bagel"};
		case 0x1f970: return {14, 1, "smiling face with hearts"};
		case 0x1f971: return {97, 1, "yawning face"};
		case 0x1f972: return {22, 1, "smiling face with tear"};
		case 0x1f973: return {67, 1, "partying face"};
		case 0x1f974: return {62, 1, "woozy face"};
		case 0x1f975: return {60, 1, "hot face"};
		case 0x1f976: return {61, 1, "cold face"};
		case 0x1f977: return {337, 1, "ninja"};
		case 0x1f978: return {68, 1, "disguised face"};
		case 0x1f979: return {82, 1, "face holding back tears"};
		case 0x1f97a: return {81, 1, "pleading face"};
		case 0x1f97b: return {1122, 1, "sari"};
		case 0x1f97c: return {1111, 1, "lab coat"};
		case 0x1f97d: return {1110, 1, "goggles"};
		case 0x1f97e: return {1136, 1, "hiking boot"};
		case 0x1f97f: return {1137, 1, "flat shoe"};
		case 0x1f980: return {758, 1, "crab"};
		case 0x1f981: return {543, 1, "lion"};
		case 0x1f982: return {641, 1, "scorpion"};
		case 0x1f983: return {592, 1, "turkey"};
		case 0x1f984: return {549, 1, "unicorn"};
		case 0x1f985: return {601, 1, "eagle"};
		case 0x1f986: return {602, 1, "duck"};
		case 0x1f987: return {581, 1, "bat"};
		case 0x1f988: return {626, 1, "shark"};
		case 0x1f989: return {604, 1, "owl"};
		case 0x1f98a: return {538, 1, "fox"};
		case 0x1f98b: return {631, 1, "butterfly"};
		case 0x1f98c: return {551, 1, "deer"};
		case 0x1f98d: return {530, 1, "gorilla"};
		case 0x1f98e: return {613, 1, "lizard"};
		case 0x1f98f: return {570, 1, "rhinoceros"};
		case 0x1f990: return {760, 1, "shrimp"};
		case 0x1f991: return {761, 1, "squid"};
		case 0x1f992: return {567, 1, "giraffe"};
		case 0x1f993: return {550, 1, "zebra"};
		case 0x1f994: return {580, 1, "hedgehog"};
		case 0x1f995: return {617, 1, "sauropod"};
		case 0x1f996: return {618, 1, "T-Rex"};
		case 0x1f997: return {637, 1, "cricket"};
		case 0x1f998: return {589, 1, "kangaroo"};
		case 0x1f999: return {566, 1, "llama"};
		case 0x1f99a: return {608, 1, "peacock"};
		case 0x1f99b: return {571, 1, "hippopotamus"};
		case 0x1f99c: return {609, 1, "parrot"};
		case 0x1f99d: return {539, 1, "raccoon"};
		case 0x1f99e: return {759, 1, "lobster"};
		case 0x1f99f: return {642, 1, "mosquito"};
		case 0x1f9a0: return {645, 1, "microbe"};
		case 0x1f9a1: return {590, 1, "badger"};
		case 0x1f9a2: return {603, 1, "swan"};
		case 0x1f9a3: return {569, 1, "mammoth"};
		case 0x1f9a4: return {605, 1, "dodo"};
		case 0x1f9a5: return {586, 1, "sloth"};
		case 0x1f9a6: return {587, 1, "otter"};
		case 0x1f9a7: return {531, 1, "orangutan"};
		case 0x1f9a8: return {588, 1, "skunk"};
		case 0x1f9a9: return {607, 1, "flamingo"};
		case 0x1f9aa: return {762, 1, "oyster"};
		case 0x1f9ab: return {579, 1, "beaver"};
		case 0x1f9ac: return {552, 1, "bison"};
		case 0x1f9ad: return {622, 1, "seal"};
		case 0x1f9ae: return {534, 1, "guide dog"};
		case 0x1f9af: return {1310, 1, "white cane"};
		case 0x1f9b0: return {524, 1, "red hair"};
		case 0x1f9b1: return {525, 1, "curly hair"};
		case 0x1f9b2: return {527, 1, "bald"};
		case 0x1f9b3: return {526, 1, "white hair"};
		case 0x1f9b4: return {216, 1, "bone"};
		case 0x1f9b5: return {207, 1, "leg"};
		case 0x1f9b6: return {208, 1, "foot"};
		case 0x1f9b7: return {215, 1, "tooth"};
		case 0x1f9b8:
			if (Len >= 1) return {366, 1, "superhero"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {368, 4, "woman superhero"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {367, 4, "man superhero"};
			break;
		case 0x1f9b9:
			if (Len >= 1) return {369, 1, "supervillain"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {371, 4, "woman supervillain"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {370, 4, "man supervillain"};
			break;
		case 0x1f9ba: return {1112, 1, "safety vest"};
		case 0x1f9bb: return {210, 1, "ear with hearing aid"};
		case 0x1f9bc: return {903, 1, "motorized wheelchair"};
		case 0x1f9bd: return {902, 1, "manual wheelchair"};
		case 0x1f9be: return {205, 1, "mechanical arm"};
		case 0x1f9bf: return {206, 1, "mechanical leg"};
		case 0x1f9c0: return {715, 1, "cheese wedge"};
		case 0x1f9c1: return {770, 1, "cupcake"};
		case 0x1f9c2: return {739, 1, "salt"};
		case 0x1f9c3: return {794, 1, "beverage box"};
		case 0x1f9c4: return {701, 1, "garlic"};
		case 0x1f9c5: return {702, 1, "onion"};
		case 0x1f9c6: return {729, 1, "falafel"};
		case 0x1f9c7: return {714, 1, "waffle"};
		case 0x1f9c8: return {738, 1, "butter"};
		case 0x1f9c9: return {795, 1, "mate"};
		case 0x1f9ca: return {796, 1, "ice"};
		case 0x1f9cb: return {793, 1, "bubble tea"};
		case 0x1f9cc: return {393, 1, "troll"};
		case 0x1f9cd:
			if (Len >= 1) return {403, 1, "person standing"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {405, 4, "woman standing"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {404, 4, "man standing"};
			break;
		case 0x1f9ce:
			if (Len >= 1) return {406, 1, "person kneeling"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {408, 4, "woman kneeling"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {407, 4, "man kneeling"};
			break;
		case 0x1f9cf:
			if (Len >= 1) return {268, 1, "deaf person"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {270, 4, "deaf woman"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {269, 4, "deaf man"};
			break;
		case 0x1f9d0: return {71, 1, "face with monocle"};
		case 0x1f9d1:
			if (Len >= 1) return {226, 1, "person"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2695 && Str[3]==0xfe0f) return {280, 4, "health worker"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2696 && Str[3]==0xfe0f) return {289, 4, "judge"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2708 && Str[3]==0xfe0f) return {319, 4, "pilot"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f33e) return {292, 3, "farmer"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f373) return {295, 3, "cook"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f37c) return {361, 3, "person feeding baby"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f384) return {365, 3, "mx claus"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f393) return {283, 3, "student"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f3a4) return {313, 3, "singer"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f3a8) return {316, 3, "artist"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f3eb) return {286, 3, "teacher"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f3ed) return {301, 3, "factory worker"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f4bb) return {310, 3, "technologist"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f4bc) return {304, 3, "office worker"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f527) return {298, 3, "mechanic"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f52c) return {307, 3, "scientist"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f680) return {322, 3, "astronaut"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f692) return {325, 3, "firefighter"};
			if (Len >= 5 && Str[1]==0x200d && Str[2]==0x1f91d && Str[3]==0x200d && Str[4]==0x1f9d1) return {481, 5, "people holding hands"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9af) return {409, 3, "person with white cane"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9b0) return {238, 3, "person: red hair"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9b1) return {240, 3, "person: curly hair"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9b2) return {244, 3, "person: bald"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9b3) return {242, 3, "person: white hair"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9bc) return {412, 3, "person in motorized wheelchair"};
			if (Len >= 3 && Str[1]==0x200d && Str[2]==0x1f9bd) return {415, 3, "person in manual wheelchair"};
			break;
		case 0x1f9d2: return {223, 1, "child"};
		case 0x1f9d3: return {247, 1, "older person"};
		case 0x1f9d4:
			if (Len >= 1) return {229, 1, "person: beard"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {231, 4, "woman: beard"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {230, 4, "man: beard"};
			break;
		case 0x1f9d5: return {348, 1, "woman with headscarf"};
		case 0x1f9d6:
			if (Len >= 1) return {427, 1, "person in steamy room"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {429, 4, "woman in steamy room"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {428, 4, "man in steamy room"};
			break;
		case 0x1f9d7:
			if (Len >= 1) return {430, 1, "person climbing"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {432, 4, "woman climbing"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {431, 4, "man climbing"};
			break;
		case 0x1f9d8:
			if (Len >= 1) return {476, 1, "person in lotus position"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {478, 4, "woman in lotus position"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {477, 4, "man in lotus position"};
			break;
		case 0x1f9d9:
			if (Len >= 1) return {372, 1, "mage"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {374, 4, "woman mage"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {373, 4, "man mage"};
			break;
		case 0x1f9da:
			if (Len >= 1) return {375, 1, "fairy"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {377, 4, "woman fairy"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {376, 4, "man fairy"};
			break;
		case 0x1f9db:
			if (Len >= 1) return {378, 1, "vampire"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {380, 4, "woman vampire"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {379, 4, "man vampire"};
			break;
		case 0x1f9dc:
			if (Len >= 1) return {381, 1, "merperson"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {383, 4, "mermaid"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {382, 4, "merman"};
			break;
		case 0x1f9dd:
			if (Len >= 1) return {384, 1, "elf"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {386, 4, "woman elf"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {385, 4, "man elf"};
			break;
		case 0x1f9de:
			if (Len >= 1) return {387, 1, "genie"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {389, 4, "woman genie"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {388, 4, "man genie"};
			break;
		case 0x1f9df:
			if (Len >= 1) return {390, 1, "zombie"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2640 && Str[3]==0xfe0f) return {392, 4, "woman zombie"};
			if (Len >= 4 && Str[1]==0x200d && Str[2]==0x2642 && Str[3]==0xfe0f) return {391, 4, "man zombie"};
			break;
		case 0x1f9e0: return {212, 1, "brain"};
		case 0x1f9e1: return {141, 1, "orange heart"};
		case 0x1f9e2: return {1146, 1, "billed cap"};
		case 0x1f9e3: return {1116, 1, "scarf"};
		case 0x1f9e4: return {1117, 1, "gloves"};
		case 0x1f9e5: return {1118, 1, "coat"};
		case 0x1f9e6: return {1119, 1, "socks"};
		case 0x1f9e7: return {1037, 1, "red envelope"};
		case 0x1f9e8: return {1026, 1, "firecracker"};
		case 0x1f9e9: return {1088, 1, "puzzle piece"};
		case 0x1f9ea: return {1318, 1, "test tube"};
		case 0x1f9eb: return {1319, 1, "petri dish"};
		case 0x1f9ec: return {1320, 1, "dna"};
		case 0x1f9ed: return {810, 1, "compass"};
		case 0x1f9ee: return {1199, 1, "abacus"};
		case 0x1f9ef: return {1354, 1, "fire extinguisher"};
		case 0x1f9f0: return {1314, 1, "toolbox"};
		case 0x1f9f1: return {823, 1, "brick"};
		case 0x1f9f2: return {1315, 1, "magnet"};
		case 0x1f9f3: return {943, 1, "luggage"};
		case 0x1f9f4: return {1344, 1, "lotion bottle"};
		case 0x1f9f5: return {1104, 1, "thread"};
		case 0x1f9f6: return {1106, 1, "yarn"};
		case 0x1f9f7: return {1345, 1, "safety pin"};
		case 0x1f9f8: return {1089, 1, "teddy bear"};
		case 0x1f9f9: return {1346, 1, "broom"};
		case 0x1f9fa: return {1347, 1, "basket"};
		case 0x1f9fb: return {1348, 1, "roll of paper"};
		case 0x1f9fc: return {1350, 1, "soap"};
		case 0x1f9fd: return {1353, 1, "sponge"};
		case 0x1f9fe: return {1241, 1, "receipt"};
		case 0x1f9ff: return {1082, 1, "nazar amulet"};
		case 0x1fa70: return {1140, 1, "ballet shoes"};
		case 0x1fa71: return {1123, 1, "one-piece swimsuit"};
		case 0x1fa72: return {1124, 1, "briefs"};
		case 0x1fa73: return {1125, 1, "shorts"};
		case 0x1fa74: return {1133, 1, "thong sandal"};
		case 0x1fa78: return {1325, 1, "drop of blood"};
		case 0x1fa79: return {1327, 1, "adhesive bandage"};
		case 0x1fa7a: return {1329, 1, "stethoscope"};
		case 0x1fa7b: return {1330, 1, "x-ray"};
		case 0x1fa7c: return {1328, 1, "crutch"};
		case 0x1fa80: return {1077, 1, "yo-yo"};
		case 0x1fa81: return {1078, 1, "kite"};
		case 0x1fa82: return {933, 1, "parachute"};
		case 0x1fa83: return {1300, 1, "boomerang"};
		case 0x1fa84: return {1081, 1, "magic wand"};
		case 0x1fa85: return {1090, 1, "piñata"};
		case 0x1fa86: return {1092, 1, "nesting dolls"};
		case 0x1fa90: return {991, 1, "ringed planet"};
		case 0x1fa91: return {1337, 1, "chair"};
		case 0x1fa92: return {1343, 1, "razor"};
		case 0x1fa93: return {1293, 1, "axe"};
		case 0x1fa94: return {1215, 1, "diya lamp"};
		case 0x1fa95: return {1177, 1, "banjo"};
		case 0x1fa96: return {1147, 1, "military helmet"};
		case 0x1fa97: return {1172, 1, "accordion"};
		case 0x1fa98: return {1179, 1, "long drum"};
		case 0x1fa99: return {1234, 1, "coin"};
		case 0x1fa9a: return {1303, 1, "carpentry saw"};
		case 0x1fa9b: return {1305, 1, "screwdriver"};
		case 0x1fa9c: return {1316, 1, "ladder"};
		case 0x1fa9d: return {1313, 1, "hook"};
		case 0x1fa9e: return {1333, 1, "mirror"};
		case 0x1fa9f: return {1334, 1, "window"};
		case 0x1faa0: return {1339, 1, "plunger"};
		case 0x1faa1: return {1105, 1, "sewing needle"};
		case 0x1faa2: return {1107, 1, "knot"};
		case 0x1faa3: return {1349, 1, "bucket"};
		case 0x1faa4: return {1342, 1, "mouse trap"};
		case 0x1faa5: return {1352, 1, "toothbrush"};
		case 0x1faa6: return {1358, 1, "headstone"};
		case 0x1faa7: return {1361, 1, "placard"};
		case 0x1faa8: return {824, 1, "rock"};
		case 0x1faa9: return {1091, 1, "mirror ball"};
		case 0x1faaa: return {1362, 1, "identification card"};
		case 0x1faab: return {1187, 1, "low battery"};
		case 0x1faac: return {1083, 1, "hamsa"};
		case 0x1fab0: return {643, 1, "fly"};
		case 0x1fab1: return {644, 1, "worm"};
		case 0x1fab2: return {635, 1, "beetle"};
		case 0x1fab3: return {638, 1, "cockroach"};
		case 0x1fab4: return {658, 1, "potted plant"};
		case 0x1fab5: return {825, 1, "wood"};
		case 0x1fab6: return {606, 1, "feather"};
		case 0x1fab7: return {649, 1, "lotus"};
		case 0x1fab8: return {629, 1, "coral"};
		case 0x1fab9: return {670, 1, "empty nest"};
		case 0x1faba: return {671, 1, "nest with eggs"};
		case 0x1fac0: return {213, 1, "anatomical heart"};
		case 0x1fac1: return {214, 1, "lungs"};
		case 0x1fac2: return {522, 1, "people hugging"};
		case 0x1fac3: return {356, 1, "pregnant man"};
		case 0x1fac4: return {357, 1, "pregnant person"};
		case 0x1fac5: return {341, 1, "person with crown"};
		case 0x1fad0: return {686, 1, "blueberries"};
		case 0x1fad1: return {697, 1, "bell pepper"};
		case 0x1fad2: return {689, 1, "olive"};
		case 0x1fad3: return {710, 1, "flatbread"};
		case 0x1fad4: return {727, 1, "tamale"};
		case 0x1fad5: return {734, 1, "fondue"};
		case 0x1fad6: return {780, 1, "teapot"};
		case 0x1fad7: return {791, 1, "pouring liquid"};
		case 0x1fad8: return {705, 1, "beans"};
		case 0x1fad9: return {802, 1, "jar"};
		case 0x1fae0: return {10, 1, "melting face"};
		case 0x1fae1: return {35, 1, "saluting face"};
		case 0x1fae2: return {31, 1, "face with open eyes and hand over mouth"};
		case 0x1fae3: return {32, 1, "face with peeking eye"};
		case 0x1fae4: return {73, 1, "face with diagonal mouth"};
		case 0x1fae5: return {41, 1, "dotted line face"};
		case 0x1fae6: return {221, 1, "biting lip"};
		case 0x1fae7: return {1351, 1, "bubbles"};
		case 0x1faf0: return {177, 1, "hand with index finger and thumb crossed"};
		case 0x1faf1: return {168, 1, "rightwards hand"};
		case 0x1faf2: return {169, 1, "leftwards hand"};
		case 0x1faf3: return {170, 1, "palm down hand"};
		case 0x1faf4: return {171, 1, "palm up hand"};
		case 0x1faf5: return {187, 1, "index pointing at the viewer"};
		case 0x1faf6: return {196, 1, "heart hands"};
	}

	return {-1, 0, NULL};
}

LRange EmojiRanges[2] = {
	LRange(0x203c, 0x125e),
	LRange(0x1f004, 0xaf3)
};

