'use strict'; var obsidian = require('obsidian'); /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ /* global Reflect, Promise */ var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; function __extends(d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } function __awaiter(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } function __generator(thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } } var orderedEmoji = [ "๐Ÿ˜€", "๐Ÿ˜ƒ", "๐Ÿ˜„", "๐Ÿ˜", "๐Ÿ˜†", "๐Ÿ˜…", "๐Ÿคฃ", "๐Ÿ˜‚", "๐Ÿ™‚", "๐Ÿ™ƒ", "๐Ÿ˜‰", "๐Ÿ˜Š", "๐Ÿ˜‡", "๐Ÿฅฐ", "๐Ÿ˜", "๐Ÿคฉ", "๐Ÿ˜˜", "๐Ÿ˜—", "โ˜บ๏ธ", "๐Ÿ˜š", "๐Ÿ˜™", "๐Ÿฅฒ", "๐Ÿ˜‹", "๐Ÿ˜›", "๐Ÿ˜œ", "๐Ÿคช", "๐Ÿ˜", "๐Ÿค‘", "๐Ÿค—", "๐Ÿคญ", "๐Ÿคซ", "๐Ÿค”", "๐Ÿค", "๐Ÿคจ", "๐Ÿ˜", "๐Ÿ˜‘", "๐Ÿ˜ถ", "๐Ÿ˜", "๐Ÿ˜’", "๐Ÿ™„", "๐Ÿ˜ฌ", "๐Ÿคฅ", "๐Ÿ˜Œ", "๐Ÿ˜”", "๐Ÿ˜ช", "๐Ÿคค", "๐Ÿ˜ด", "๐Ÿ˜ท", "๐Ÿค’", "๐Ÿค•", "๐Ÿคข", "๐Ÿคฎ", "๐Ÿคง", "๐Ÿฅต", "๐Ÿฅถ", "๐Ÿฅด", "๐Ÿ˜ต", "๐Ÿคฏ", "๐Ÿค ", "๐Ÿฅณ", "๐Ÿฅธ", "๐Ÿ˜Ž", "๐Ÿค“", "๐Ÿง", "๐Ÿ˜•", "๐Ÿ˜Ÿ", "๐Ÿ™", "โ˜น๏ธ", "๐Ÿ˜ฎ", "๐Ÿ˜ฏ", "๐Ÿ˜ฒ", "๐Ÿ˜ณ", "๐Ÿฅบ", "๐Ÿ˜ฆ", "๐Ÿ˜ง", "๐Ÿ˜จ", "๐Ÿ˜ฐ", "๐Ÿ˜ฅ", "๐Ÿ˜ข", "๐Ÿ˜ญ", "๐Ÿ˜ฑ", "๐Ÿ˜–", "๐Ÿ˜ฃ", "๐Ÿ˜ž", "๐Ÿ˜“", "๐Ÿ˜ฉ", "๐Ÿ˜ซ", "๐Ÿฅฑ", "๐Ÿ˜ค", "๐Ÿ˜ก", "๐Ÿ˜ ", "๐Ÿคฌ", "๐Ÿ˜ˆ", "๐Ÿ‘ฟ", "๐Ÿ’€", "โ˜ ๏ธ", "๐Ÿ’ฉ", "๐Ÿคก", "๐Ÿ‘น", "๐Ÿ‘บ", "๐Ÿ‘ป", "๐Ÿ‘ฝ", "๐Ÿ‘พ", "๐Ÿค–", "๐Ÿ˜บ", "๐Ÿ˜ธ", "๐Ÿ˜น", "๐Ÿ˜ป", "๐Ÿ˜ผ", "๐Ÿ˜ฝ", "๐Ÿ™€", "๐Ÿ˜ฟ", "๐Ÿ˜พ", "๐Ÿ™ˆ", "๐Ÿ™‰", "๐Ÿ™Š", "๐Ÿ’‹", "๐Ÿ’Œ", "๐Ÿ’˜", "๐Ÿ’", "๐Ÿ’–", "๐Ÿ’—", "๐Ÿ’“", "๐Ÿ’ž", "๐Ÿ’•", "๐Ÿ’Ÿ", "โฃ๏ธ", "๐Ÿ’”", "โค๏ธ", "๐Ÿงก", "๐Ÿ’›", "๐Ÿ’š", "๐Ÿ’™", "๐Ÿ’œ", "๐ŸคŽ", "๐Ÿ–ค", "๐Ÿค", "๐Ÿ’ฏ", "๐Ÿ’ข", "๐Ÿ’ฅ", "๐Ÿ’ซ", "๐Ÿ’ฆ", "๐Ÿ’จ", "๐Ÿ•ณ๏ธ", "๐Ÿ’ฃ", "๐Ÿ’ฌ", "๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ", "๐Ÿ—จ๏ธ", "๐Ÿ—ฏ๏ธ", "๐Ÿ’ญ", "๐Ÿ’ค", "๐Ÿ‘‹", "๐Ÿคš", "๐Ÿ–๏ธ", "โœ‹", "๐Ÿ––", "๐Ÿ‘Œ", "๐ŸคŒ", "๐Ÿค", "โœŒ๏ธ", "๐Ÿคž", "๐ŸคŸ", "๐Ÿค˜", "๐Ÿค™", "๐Ÿ‘ˆ", "๐Ÿ‘‰", "๐Ÿ‘†", "๐Ÿ–•", "๐Ÿ‘‡", "โ˜๏ธ", "๐Ÿ‘", "๐Ÿ‘Ž", "โœŠ", "๐Ÿ‘Š", "๐Ÿค›", "๐Ÿคœ", "๐Ÿ‘", "๐Ÿ™Œ", "๐Ÿ‘", "๐Ÿคฒ", "๐Ÿค", "๐Ÿ™", "โœ๏ธ", "๐Ÿ’…", "๐Ÿคณ", "๐Ÿ’ช", "๐Ÿฆพ", "๐Ÿฆฟ", "๐Ÿฆต", "๐Ÿฆถ", "๐Ÿ‘‚", "๐Ÿฆป", "๐Ÿ‘ƒ", "๐Ÿง ", "๐Ÿซ€", "๐Ÿซ", "๐Ÿฆท", "๐Ÿฆด", "๐Ÿ‘€", "๐Ÿ‘๏ธ", "๐Ÿ‘…", "๐Ÿ‘„", "๐Ÿ‘ถ", "๐Ÿง’", "๐Ÿ‘ฆ", "๐Ÿ‘ง", "๐Ÿง‘", "๐Ÿ‘ฑ", "๐Ÿ‘จ", "๐Ÿง”", "๐Ÿ‘จโ€๐Ÿฆฐ", "๐Ÿ‘จโ€๐Ÿฆฑ", "๐Ÿ‘จโ€๐Ÿฆณ", "๐Ÿ‘จโ€๐Ÿฆฒ", "๐Ÿ‘ฉ", "๐Ÿ‘ฉโ€๐Ÿฆฐ", "๐Ÿง‘โ€๐Ÿฆฐ", "๐Ÿ‘ฉโ€๐Ÿฆฑ", "๐Ÿง‘โ€๐Ÿฆฑ", "๐Ÿ‘ฉโ€๐Ÿฆณ", "๐Ÿง‘โ€๐Ÿฆณ", "๐Ÿ‘ฉโ€๐Ÿฆฒ", "๐Ÿง‘โ€๐Ÿฆฒ", "๐Ÿ‘ฑโ€โ™€๏ธ", "๐Ÿ‘ฑโ€โ™‚๏ธ", "๐Ÿง“", "๐Ÿ‘ด", "๐Ÿ‘ต", "๐Ÿ™", "๐Ÿ™โ€โ™‚๏ธ", "๐Ÿ™โ€โ™€๏ธ", "๐Ÿ™Ž", "๐Ÿ™Žโ€โ™‚๏ธ", "๐Ÿ™Žโ€โ™€๏ธ", "๐Ÿ™…", "๐Ÿ™…โ€โ™‚๏ธ", "๐Ÿ™…โ€โ™€๏ธ", "๐Ÿ™†", "๐Ÿ™†โ€โ™‚๏ธ", "๐Ÿ™†โ€โ™€๏ธ", "๐Ÿ’", "๐Ÿ’โ€โ™‚๏ธ", "๐Ÿ’โ€โ™€๏ธ", "๐Ÿ™‹", "๐Ÿ™‹โ€โ™‚๏ธ", "๐Ÿ™‹โ€โ™€๏ธ", "๐Ÿง", "๐Ÿงโ€โ™‚๏ธ", "๐Ÿงโ€โ™€๏ธ", "๐Ÿ™‡", "๐Ÿ™‡โ€โ™‚๏ธ", "๐Ÿ™‡โ€โ™€๏ธ", "๐Ÿคฆ", "๐Ÿคฆโ€โ™‚๏ธ", "๐Ÿคฆโ€โ™€๏ธ", "๐Ÿคท", "๐Ÿคทโ€โ™‚๏ธ", "๐Ÿคทโ€โ™€๏ธ", "๐Ÿง‘โ€โš•๏ธ", "๐Ÿ‘จโ€โš•๏ธ", "๐Ÿ‘ฉโ€โš•๏ธ", "๐Ÿง‘โ€๐ŸŽ“", "๐Ÿ‘จโ€๐ŸŽ“", "๐Ÿ‘ฉโ€๐ŸŽ“", "๐Ÿง‘โ€๐Ÿซ", "๐Ÿ‘จโ€๐Ÿซ", "๐Ÿ‘ฉโ€๐Ÿซ", "๐Ÿง‘โ€โš–๏ธ", "๐Ÿ‘จโ€โš–๏ธ", "๐Ÿ‘ฉโ€โš–๏ธ", "๐Ÿง‘โ€๐ŸŒพ", "๐Ÿ‘จโ€๐ŸŒพ", "๐Ÿ‘ฉโ€๐ŸŒพ", "๐Ÿง‘โ€๐Ÿณ", "๐Ÿ‘จโ€๐Ÿณ", "๐Ÿ‘ฉโ€๐Ÿณ", "๐Ÿง‘โ€๐Ÿ”ง", "๐Ÿ‘จโ€๐Ÿ”ง", "๐Ÿ‘ฉโ€๐Ÿ”ง", "๐Ÿง‘โ€๐Ÿญ", "๐Ÿ‘จโ€๐Ÿญ", "๐Ÿ‘ฉโ€๐Ÿญ", "๐Ÿง‘โ€๐Ÿ’ผ", "๐Ÿ‘จโ€๐Ÿ’ผ", "๐Ÿ‘ฉโ€๐Ÿ’ผ", "๐Ÿง‘โ€๐Ÿ”ฌ", "๐Ÿ‘จโ€๐Ÿ”ฌ", "๐Ÿ‘ฉโ€๐Ÿ”ฌ", "๐Ÿง‘โ€๐Ÿ’ป", "๐Ÿ‘จโ€๐Ÿ’ป", "๐Ÿ‘ฉโ€๐Ÿ’ป", "๐Ÿง‘โ€๐ŸŽค", "๐Ÿ‘จโ€๐ŸŽค", "๐Ÿ‘ฉโ€๐ŸŽค", "๐Ÿง‘โ€๐ŸŽจ", "๐Ÿ‘จโ€๐ŸŽจ", "๐Ÿ‘ฉโ€๐ŸŽจ", "๐Ÿง‘โ€โœˆ๏ธ", "๐Ÿ‘จโ€โœˆ๏ธ", "๐Ÿ‘ฉโ€โœˆ๏ธ", "๐Ÿง‘โ€๐Ÿš€", "๐Ÿ‘จโ€๐Ÿš€", "๐Ÿ‘ฉโ€๐Ÿš€", "๐Ÿง‘โ€๐Ÿš’", "๐Ÿ‘จโ€๐Ÿš’", "๐Ÿ‘ฉโ€๐Ÿš’", "๐Ÿ‘ฎ", "๐Ÿ‘ฎโ€โ™‚๏ธ", "๐Ÿ‘ฎโ€โ™€๏ธ", "๐Ÿ•ต๏ธ", "๐Ÿ•ต๏ธโ€โ™‚๏ธ", "๐Ÿ•ต๏ธโ€โ™€๏ธ", "๐Ÿ’‚", "๐Ÿ’‚โ€โ™‚๏ธ", "๐Ÿ’‚โ€โ™€๏ธ", "๐Ÿฅท", "๐Ÿ‘ท", "๐Ÿ‘ทโ€โ™‚๏ธ", "๐Ÿ‘ทโ€โ™€๏ธ", "๐Ÿคด", "๐Ÿ‘ธ", "๐Ÿ‘ณ", "๐Ÿ‘ณโ€โ™‚๏ธ", "๐Ÿ‘ณโ€โ™€๏ธ", "๐Ÿ‘ฒ", "๐Ÿง•", "๐Ÿคต", "๐Ÿคตโ€โ™‚๏ธ", "๐Ÿคตโ€โ™€๏ธ", "๐Ÿ‘ฐ", "๐Ÿ‘ฐโ€โ™‚๏ธ", "๐Ÿ‘ฐโ€โ™€๏ธ", "๐Ÿคฐ", "๐Ÿคฑ", "๐Ÿ‘ฉโ€๐Ÿผ", "๐Ÿ‘จโ€๐Ÿผ", "๐Ÿง‘โ€๐Ÿผ", "๐Ÿ‘ผ", "๐ŸŽ…", "๐Ÿคถ", "๐Ÿง‘โ€๐ŸŽ„", "๐Ÿฆธ", "๐Ÿฆธโ€โ™‚๏ธ", "๐Ÿฆธโ€โ™€๏ธ", "๐Ÿฆน", "๐Ÿฆนโ€โ™‚๏ธ", "๐Ÿฆนโ€โ™€๏ธ", "๐Ÿง™", "๐Ÿง™โ€โ™‚๏ธ", "๐Ÿง™โ€โ™€๏ธ", "๐Ÿงš", "๐Ÿงšโ€โ™‚๏ธ", "๐Ÿงšโ€โ™€๏ธ", "๐Ÿง›", "๐Ÿง›โ€โ™‚๏ธ", "๐Ÿง›โ€โ™€๏ธ", "๐Ÿงœ", "๐Ÿงœโ€โ™‚๏ธ", "๐Ÿงœโ€โ™€๏ธ", "๐Ÿง", "๐Ÿงโ€โ™‚๏ธ", "๐Ÿงโ€โ™€๏ธ", "๐Ÿงž", "๐Ÿงžโ€โ™‚๏ธ", "๐Ÿงžโ€โ™€๏ธ", "๐ŸงŸ", "๐ŸงŸโ€โ™‚๏ธ", "๐ŸงŸโ€โ™€๏ธ", "๐Ÿ’†", "๐Ÿ’†โ€โ™‚๏ธ", "๐Ÿ’†โ€โ™€๏ธ", "๐Ÿ’‡", "๐Ÿ’‡โ€โ™‚๏ธ", "๐Ÿ’‡โ€โ™€๏ธ", "๐Ÿšถ", "๐Ÿšถโ€โ™‚๏ธ", "๐Ÿšถโ€โ™€๏ธ", "๐Ÿง", "๐Ÿงโ€โ™‚๏ธ", "๐Ÿงโ€โ™€๏ธ", "๐ŸงŽ", "๐ŸงŽโ€โ™‚๏ธ", "๐ŸงŽโ€โ™€๏ธ", "๐Ÿง‘โ€๐Ÿฆฏ", "๐Ÿ‘จโ€๐Ÿฆฏ", "๐Ÿ‘ฉโ€๐Ÿฆฏ", "๐Ÿง‘โ€๐Ÿฆผ", "๐Ÿ‘จโ€๐Ÿฆผ", "๐Ÿ‘ฉโ€๐Ÿฆผ", "๐Ÿง‘โ€๐Ÿฆฝ", "๐Ÿ‘จโ€๐Ÿฆฝ", "๐Ÿ‘ฉโ€๐Ÿฆฝ", "๐Ÿƒ", "๐Ÿƒโ€โ™‚๏ธ", "๐Ÿƒโ€โ™€๏ธ", "๐Ÿ’ƒ", "๐Ÿ•บ", "๐Ÿ•ด๏ธ", "๐Ÿ‘ฏ", "๐Ÿ‘ฏโ€โ™‚๏ธ", "๐Ÿ‘ฏโ€โ™€๏ธ", "๐Ÿง–", "๐Ÿง–โ€โ™‚๏ธ", "๐Ÿง–โ€โ™€๏ธ", "๐Ÿง—", "๐Ÿง—โ€โ™‚๏ธ", "๐Ÿง—โ€โ™€๏ธ", "๐Ÿคบ", "๐Ÿ‡", "โ›ท๏ธ", "๐Ÿ‚", "๐ŸŒ๏ธ", "๐ŸŒ๏ธโ€โ™‚๏ธ", "๐ŸŒ๏ธโ€โ™€๏ธ", "๐Ÿ„", "๐Ÿ„โ€โ™‚๏ธ", "๐Ÿ„โ€โ™€๏ธ", "๐Ÿšฃ", "๐Ÿšฃโ€โ™‚๏ธ", "๐Ÿšฃโ€โ™€๏ธ", "๐ŸŠ", "๐ŸŠโ€โ™‚๏ธ", "๐ŸŠโ€โ™€๏ธ", "โ›น๏ธ", "โ›น๏ธโ€โ™‚๏ธ", "โ›น๏ธโ€โ™€๏ธ", "๐Ÿ‹๏ธ", "๐Ÿ‹๏ธโ€โ™‚๏ธ", "๐Ÿ‹๏ธโ€โ™€๏ธ", "๐Ÿšด", "๐Ÿšดโ€โ™‚๏ธ", "๐Ÿšดโ€โ™€๏ธ", "๐Ÿšต", "๐Ÿšตโ€โ™‚๏ธ", "๐Ÿšตโ€โ™€๏ธ", "๐Ÿคธ", "๐Ÿคธโ€โ™‚๏ธ", "๐Ÿคธโ€โ™€๏ธ", "๐Ÿคผ", "๐Ÿคผโ€โ™‚๏ธ", "๐Ÿคผโ€โ™€๏ธ", "๐Ÿคฝ", "๐Ÿคฝโ€โ™‚๏ธ", "๐Ÿคฝโ€โ™€๏ธ", "๐Ÿคพ", "๐Ÿคพโ€โ™‚๏ธ", "๐Ÿคพโ€โ™€๏ธ", "๐Ÿคน", "๐Ÿคนโ€โ™‚๏ธ", "๐Ÿคนโ€โ™€๏ธ", "๐Ÿง˜", "๐Ÿง˜โ€โ™‚๏ธ", "๐Ÿง˜โ€โ™€๏ธ", "๐Ÿ›€", "๐Ÿ›Œ", "๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘", "๐Ÿ‘ญ", "๐Ÿ‘ซ", "๐Ÿ‘ฌ", "๐Ÿ’", "๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ", "๐Ÿ‘จโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ", "๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ", "๐Ÿ’‘", "๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘จ", "๐Ÿ‘จโ€โค๏ธโ€๐Ÿ‘จ", "๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ", "๐Ÿ‘ช", "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ", "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง", "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ", "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ", "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง", "๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆ", "๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ง", "๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ", "๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ", "๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง", "๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ", "๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ง", "๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ", "๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ", "๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง", "๐Ÿ‘จโ€๐Ÿ‘ฆ", "๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ", "๐Ÿ‘จโ€๐Ÿ‘ง", "๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ", "๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง", "๐Ÿ‘ฉโ€๐Ÿ‘ฆ", "๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ", "๐Ÿ‘ฉโ€๐Ÿ‘ง", "๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ", "๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง", "๐Ÿ—ฃ๏ธ", "๐Ÿ‘ค", "๐Ÿ‘ฅ", "๐Ÿซ‚", "๐Ÿ‘ฃ", "๐Ÿต", "๐Ÿ’", "๐Ÿฆ", "๐Ÿฆง", "๐Ÿถ", "๐Ÿ•", "๐Ÿฆฎ", "๐Ÿ•โ€๐Ÿฆบ", "๐Ÿฉ", "๐Ÿบ", "๐ŸฆŠ", "๐Ÿฆ", "๐Ÿฑ", "๐Ÿˆ", "๐Ÿˆโ€โฌ›", "๐Ÿฆ", "๐Ÿฏ", "๐Ÿ…", "๐Ÿ†", "๐Ÿด", "๐ŸŽ", "๐Ÿฆ„", "๐Ÿฆ“", "๐ŸฆŒ", "๐Ÿฆฌ", "๐Ÿฎ", "๐Ÿ‚", "๐Ÿƒ", "๐Ÿ„", "๐Ÿท", "๐Ÿ–", "๐Ÿ—", "๐Ÿฝ", "๐Ÿ", "๐Ÿ‘", "๐Ÿ", "๐Ÿช", "๐Ÿซ", "๐Ÿฆ™", "๐Ÿฆ’", "๐Ÿ˜", "๐Ÿฆฃ", "๐Ÿฆ", "๐Ÿฆ›", "๐Ÿญ", "๐Ÿ", "๐Ÿ€", "๐Ÿน", "๐Ÿฐ", "๐Ÿ‡", "๐Ÿฟ๏ธ", "๐Ÿฆซ", "๐Ÿฆ”", "๐Ÿฆ‡", "๐Ÿป", "๐Ÿปโ€โ„๏ธ", "๐Ÿจ", "๐Ÿผ", "๐Ÿฆฅ", "๐Ÿฆฆ", "๐Ÿฆจ", "๐Ÿฆ˜", "๐Ÿฆก", "๐Ÿพ", "๐Ÿฆƒ", "๐Ÿ”", "๐Ÿ“", "๐Ÿฃ", "๐Ÿค", "๐Ÿฅ", "๐Ÿฆ", "๐Ÿง", "๐Ÿ•Š๏ธ", "๐Ÿฆ…", "๐Ÿฆ†", "๐Ÿฆข", "๐Ÿฆ‰", "๐Ÿฆค", "๐Ÿชถ", "๐Ÿฆฉ", "๐Ÿฆš", "๐Ÿฆœ", "๐Ÿธ", "๐ŸŠ", "๐Ÿข", "๐ŸฆŽ", "๐Ÿ", "๐Ÿฒ", "๐Ÿ‰", "๐Ÿฆ•", "๐Ÿฆ–", "๐Ÿณ", "๐Ÿ‹", "๐Ÿฌ", "๐Ÿฆญ", "๐ŸŸ", "๐Ÿ ", "๐Ÿก", "๐Ÿฆˆ", "๐Ÿ™", "๐Ÿš", "๐ŸŒ", "๐Ÿฆ‹", "๐Ÿ›", "๐Ÿœ", "๐Ÿ", "๐Ÿชฒ", "๐Ÿž", "๐Ÿฆ—", "๐Ÿชณ", "๐Ÿ•ท๏ธ", "๐Ÿ•ธ๏ธ", "๐Ÿฆ‚", "๐ŸฆŸ", "๐Ÿชฐ", "๐Ÿชฑ", "๐Ÿฆ ", "๐Ÿ’", "๐ŸŒธ", "๐Ÿ’ฎ", "๐Ÿต๏ธ", "๐ŸŒน", "๐Ÿฅ€", "๐ŸŒบ", "๐ŸŒป", "๐ŸŒผ", "๐ŸŒท", "๐ŸŒฑ", "๐Ÿชด", "๐ŸŒฒ", "๐ŸŒณ", "๐ŸŒด", "๐ŸŒต", "๐ŸŒพ", "๐ŸŒฟ", "โ˜˜๏ธ", "๐Ÿ€", "๐Ÿ", "๐Ÿ‚", "๐Ÿƒ", "๐Ÿ‡", "๐Ÿˆ", "๐Ÿ‰", "๐ŸŠ", "๐Ÿ‹", "๐ŸŒ", "๐Ÿ", "๐Ÿฅญ", "๐ŸŽ", "๐Ÿ", "๐Ÿ", "๐Ÿ‘", "๐Ÿ’", "๐Ÿ“", "๐Ÿซ", "๐Ÿฅ", "๐Ÿ…", "๐Ÿซ’", "๐Ÿฅฅ", "๐Ÿฅ‘", "๐Ÿ†", "๐Ÿฅ”", "๐Ÿฅ•", "๐ŸŒฝ", "๐ŸŒถ๏ธ", "๐Ÿซ‘", "๐Ÿฅ’", "๐Ÿฅฌ", "๐Ÿฅฆ", "๐Ÿง„", "๐Ÿง…", "๐Ÿ„", "๐Ÿฅœ", "๐ŸŒฐ", "๐Ÿž", "๐Ÿฅ", "๐Ÿฅ–", "๐Ÿซ“", "๐Ÿฅจ", "๐Ÿฅฏ", "๐Ÿฅž", "๐Ÿง‡", "๐Ÿง€", "๐Ÿ–", "๐Ÿ—", "๐Ÿฅฉ", "๐Ÿฅ“", "๐Ÿ”", "๐ŸŸ", "๐Ÿ•", "๐ŸŒญ", "๐Ÿฅช", "๐ŸŒฎ", "๐ŸŒฏ", "๐Ÿซ”", "๐Ÿฅ™", "๐Ÿง†", "๐Ÿฅš", "๐Ÿณ", "๐Ÿฅ˜", "๐Ÿฒ", "๐Ÿซ•", "๐Ÿฅฃ", "๐Ÿฅ—", "๐Ÿฟ", "๐Ÿงˆ", "๐Ÿง‚", "๐Ÿฅซ", "๐Ÿฑ", "๐Ÿ˜", "๐Ÿ™", "๐Ÿš", "๐Ÿ›", "๐Ÿœ", "๐Ÿ", "๐Ÿ ", "๐Ÿข", "๐Ÿฃ", "๐Ÿค", "๐Ÿฅ", "๐Ÿฅฎ", "๐Ÿก", "๐ŸฅŸ", "๐Ÿฅ ", "๐Ÿฅก", "๐Ÿฆ€", "๐Ÿฆž", "๐Ÿฆ", "๐Ÿฆ‘", "๐Ÿฆช", "๐Ÿฆ", "๐Ÿง", "๐Ÿจ", "๐Ÿฉ", "๐Ÿช", "๐ŸŽ‚", "๐Ÿฐ", "๐Ÿง", "๐Ÿฅง", "๐Ÿซ", "๐Ÿฌ", "๐Ÿญ", "๐Ÿฎ", "๐Ÿฏ", "๐Ÿผ", "๐Ÿฅ›", "โ˜•", "๐Ÿซ–", "๐Ÿต", "๐Ÿถ", "๐Ÿพ", "๐Ÿท", "๐Ÿธ", "๐Ÿน", "๐Ÿบ", "๐Ÿป", "๐Ÿฅ‚", "๐Ÿฅƒ", "๐Ÿฅค", "๐Ÿง‹", "๐Ÿงƒ", "๐Ÿง‰", "๐ŸงŠ", "๐Ÿฅข", "๐Ÿฝ๏ธ", "๐Ÿด", "๐Ÿฅ„", "๐Ÿ”ช", "๐Ÿบ", "๐ŸŒ", "๐ŸŒŽ", "๐ŸŒ", "๐ŸŒ", "๐Ÿ—บ๏ธ", "๐Ÿ—พ", "๐Ÿงญ", "๐Ÿ”๏ธ", "โ›ฐ๏ธ", "๐ŸŒ‹", "๐Ÿ—ป", "๐Ÿ•๏ธ", "๐Ÿ–๏ธ", "๐Ÿœ๏ธ", "๐Ÿ๏ธ", "๐Ÿž๏ธ", "๐ŸŸ๏ธ", "๐Ÿ›๏ธ", "๐Ÿ—๏ธ", "๐Ÿงฑ", "๐Ÿชจ", "๐Ÿชต", "๐Ÿ›–", "๐Ÿ˜๏ธ", "๐Ÿš๏ธ", "๐Ÿ ", "๐Ÿก", "๐Ÿข", "๐Ÿฃ", "๐Ÿค", "๐Ÿฅ", "๐Ÿฆ", "๐Ÿจ", "๐Ÿฉ", "๐Ÿช", "๐Ÿซ", "๐Ÿฌ", "๐Ÿญ", "๐Ÿฏ", "๐Ÿฐ", "๐Ÿ’’", "๐Ÿ—ผ", "๐Ÿ—ฝ", "โ›ช", "๐Ÿ•Œ", "๐Ÿ›•", "๐Ÿ•", "โ›ฉ๏ธ", "๐Ÿ•‹", "โ›ฒ", "โ›บ", "๐ŸŒ", "๐ŸŒƒ", "๐Ÿ™๏ธ", "๐ŸŒ„", "๐ŸŒ…", "๐ŸŒ†", "๐ŸŒ‡", "๐ŸŒ‰", "โ™จ๏ธ", "๐ŸŽ ", "๐ŸŽก", "๐ŸŽข", "๐Ÿ’ˆ", "๐ŸŽช", "๐Ÿš‚", "๐Ÿšƒ", "๐Ÿš„", "๐Ÿš…", "๐Ÿš†", "๐Ÿš‡", "๐Ÿšˆ", "๐Ÿš‰", "๐ŸšŠ", "๐Ÿš", "๐Ÿšž", "๐Ÿš‹", "๐ŸšŒ", "๐Ÿš", "๐ŸšŽ", "๐Ÿš", "๐Ÿš‘", "๐Ÿš’", "๐Ÿš“", "๐Ÿš”", "๐Ÿš•", "๐Ÿš–", "๐Ÿš—", "๐Ÿš˜", "๐Ÿš™", "๐Ÿ›ป", "๐Ÿšš", "๐Ÿš›", "๐Ÿšœ", "๐ŸŽ๏ธ", "๐Ÿ๏ธ", "๐Ÿ›ต", "๐Ÿฆฝ", "๐Ÿฆผ", "๐Ÿ›บ", "๐Ÿšฒ", "๐Ÿ›ด", "๐Ÿ›น", "๐Ÿ›ผ", "๐Ÿš", "๐Ÿ›ฃ๏ธ", "๐Ÿ›ค๏ธ", "๐Ÿ›ข๏ธ", "โ›ฝ", "๐Ÿšจ", "๐Ÿšฅ", "๐Ÿšฆ", "๐Ÿ›‘", "๐Ÿšง", "โš“", "โ›ต", "๐Ÿ›ถ", "๐Ÿšค", "๐Ÿ›ณ๏ธ", "โ›ด๏ธ", "๐Ÿ›ฅ๏ธ", "๐Ÿšข", "โœˆ๏ธ", "๐Ÿ›ฉ๏ธ", "๐Ÿ›ซ", "๐Ÿ›ฌ", "๐Ÿช‚", "๐Ÿ’บ", "๐Ÿš", "๐ŸšŸ", "๐Ÿš ", "๐Ÿšก", "๐Ÿ›ฐ๏ธ", "๐Ÿš€", "๐Ÿ›ธ", "๐Ÿ›Ž๏ธ", "๐Ÿงณ", "โŒ›", "โณ", "โŒš", "โฐ", "โฑ๏ธ", "โฒ๏ธ", "๐Ÿ•ฐ๏ธ", "๐Ÿ•›", "๐Ÿ•ง", "๐Ÿ•", "๐Ÿ•œ", "๐Ÿ•‘", "๐Ÿ•", "๐Ÿ•’", "๐Ÿ•ž", "๐Ÿ•“", "๐Ÿ•Ÿ", "๐Ÿ•”", "๐Ÿ• ", "๐Ÿ••", "๐Ÿ•ก", "๐Ÿ•–", "๐Ÿ•ข", "๐Ÿ•—", "๐Ÿ•ฃ", "๐Ÿ•˜", "๐Ÿ•ค", "๐Ÿ•™", "๐Ÿ•ฅ", "๐Ÿ•š", "๐Ÿ•ฆ", "๐ŸŒ‘", "๐ŸŒ’", "๐ŸŒ“", "๐ŸŒ”", "๐ŸŒ•", "๐ŸŒ–", "๐ŸŒ—", "๐ŸŒ˜", "๐ŸŒ™", "๐ŸŒš", "๐ŸŒ›", "๐ŸŒœ", "๐ŸŒก๏ธ", "โ˜€๏ธ", "๐ŸŒ", "๐ŸŒž", "๐Ÿช", "โญ", "๐ŸŒŸ", "๐ŸŒ ", "๐ŸŒŒ", "โ˜๏ธ", "โ›…", "โ›ˆ๏ธ", "๐ŸŒค๏ธ", "๐ŸŒฅ๏ธ", "๐ŸŒฆ๏ธ", "๐ŸŒง๏ธ", "๐ŸŒจ๏ธ", "๐ŸŒฉ๏ธ", "๐ŸŒช๏ธ", "๐ŸŒซ๏ธ", "๐ŸŒฌ๏ธ", "๐ŸŒ€", "๐ŸŒˆ", "๐ŸŒ‚", "โ˜‚๏ธ", "โ˜”", "โ›ฑ๏ธ", "โšก", "โ„๏ธ", "โ˜ƒ๏ธ", "โ›„", "โ˜„๏ธ", "๐Ÿ”ฅ", "๐Ÿ’ง", "๐ŸŒŠ", "๐ŸŽƒ", "๐ŸŽ„", "๐ŸŽ†", "๐ŸŽ‡", "๐Ÿงจ", "โœจ", "๐ŸŽˆ", "๐ŸŽ‰", "๐ŸŽŠ", "๐ŸŽ‹", "๐ŸŽ", "๐ŸŽŽ", "๐ŸŽ", "๐ŸŽ", "๐ŸŽ‘", "๐Ÿงง", "๐ŸŽ€", "๐ŸŽ", "๐ŸŽ—๏ธ", "๐ŸŽŸ๏ธ", "๐ŸŽซ", "๐ŸŽ–๏ธ", "๐Ÿ†", "๐Ÿ…", "๐Ÿฅ‡", "๐Ÿฅˆ", "๐Ÿฅ‰", "โšฝ", "โšพ", "๐ŸฅŽ", "๐Ÿ€", "๐Ÿ", "๐Ÿˆ", "๐Ÿ‰", "๐ŸŽพ", "๐Ÿฅ", "๐ŸŽณ", "๐Ÿ", "๐Ÿ‘", "๐Ÿ’", "๐Ÿฅ", "๐Ÿ“", "๐Ÿธ", "๐ŸฅŠ", "๐Ÿฅ‹", "๐Ÿฅ…", "โ›ณ", "โ›ธ๏ธ", "๐ŸŽฃ", "๐Ÿคฟ", "๐ŸŽฝ", "๐ŸŽฟ", "๐Ÿ›ท", "๐ŸฅŒ", "๐ŸŽฏ", "๐Ÿช€", "๐Ÿช", "๐ŸŽฑ", "๐Ÿ”ฎ", "๐Ÿช„", "๐Ÿงฟ", "๐ŸŽฎ", "๐Ÿ•น๏ธ", "๐ŸŽฐ", "๐ŸŽฒ", "๐Ÿงฉ", "๐Ÿงธ", "๐Ÿช…", "๐Ÿช†", "โ™ ๏ธ", "โ™ฅ๏ธ", "โ™ฆ๏ธ", "โ™ฃ๏ธ", "โ™Ÿ๏ธ", "๐Ÿƒ", "๐Ÿ€„", "๐ŸŽด", "๐ŸŽญ", "๐Ÿ–ผ๏ธ", "๐ŸŽจ", "๐Ÿงต", "๐Ÿชก", "๐Ÿงถ", "๐Ÿชข", "๐Ÿ‘“", "๐Ÿ•ถ๏ธ", "๐Ÿฅฝ", "๐Ÿฅผ", "๐Ÿฆบ", "๐Ÿ‘”", "๐Ÿ‘•", "๐Ÿ‘–", "๐Ÿงฃ", "๐Ÿงค", "๐Ÿงฅ", "๐Ÿงฆ", "๐Ÿ‘—", "๐Ÿ‘˜", "๐Ÿฅป", "๐Ÿฉฑ", "๐Ÿฉฒ", "๐Ÿฉณ", "๐Ÿ‘™", "๐Ÿ‘š", "๐Ÿ‘›", "๐Ÿ‘œ", "๐Ÿ‘", "๐Ÿ›๏ธ", "๐ŸŽ’", "๐Ÿฉด", "๐Ÿ‘ž", "๐Ÿ‘Ÿ", "๐Ÿฅพ", "๐Ÿฅฟ", "๐Ÿ‘ ", "๐Ÿ‘ก", "๐Ÿฉฐ", "๐Ÿ‘ข", "๐Ÿ‘‘", "๐Ÿ‘’", "๐ŸŽฉ", "๐ŸŽ“", "๐Ÿงข", "๐Ÿช–", "โ›‘๏ธ", "๐Ÿ“ฟ", "๐Ÿ’„", "๐Ÿ’", "๐Ÿ’Ž", "๐Ÿ”‡", "๐Ÿ”ˆ", "๐Ÿ”‰", "๐Ÿ”Š", "๐Ÿ“ข", "๐Ÿ“ฃ", "๐Ÿ“ฏ", "๐Ÿ””", "๐Ÿ”•", "๐ŸŽผ", "๐ŸŽต", "๐ŸŽถ", "๐ŸŽ™๏ธ", "๐ŸŽš๏ธ", "๐ŸŽ›๏ธ", "๐ŸŽค", "๐ŸŽง", "๐Ÿ“ป", "๐ŸŽท", "๐Ÿช—", "๐ŸŽธ", "๐ŸŽน", "๐ŸŽบ", "๐ŸŽป", "๐Ÿช•", "๐Ÿฅ", "๐Ÿช˜", "๐Ÿ“ฑ", "๐Ÿ“ฒ", "โ˜Ž๏ธ", "๐Ÿ“ž", "๐Ÿ“Ÿ", "๐Ÿ“ ", "๐Ÿ”‹", "๐Ÿ”Œ", "๐Ÿ’ป", "๐Ÿ–ฅ๏ธ", "๐Ÿ–จ๏ธ", "โŒจ๏ธ", "๐Ÿ–ฑ๏ธ", "๐Ÿ–ฒ๏ธ", "๐Ÿ’ฝ", "๐Ÿ’พ", "๐Ÿ’ฟ", "๐Ÿ“€", "๐Ÿงฎ", "๐ŸŽฅ", "๐ŸŽž๏ธ", "๐Ÿ“ฝ๏ธ", "๐ŸŽฌ", "๐Ÿ“บ", "๐Ÿ“ท", "๐Ÿ“ธ", "๐Ÿ“น", "๐Ÿ“ผ", "๐Ÿ”", "๐Ÿ”Ž", "๐Ÿ•ฏ๏ธ", "๐Ÿ’ก", "๐Ÿ”ฆ", "๐Ÿฎ", "๐Ÿช”", "๐Ÿ“”", "๐Ÿ“•", "๐Ÿ“–", "๐Ÿ“—", "๐Ÿ“˜", "๐Ÿ“™", "๐Ÿ“š", "๐Ÿ““", "๐Ÿ“’", "๐Ÿ“ƒ", "๐Ÿ“œ", "๐Ÿ“„", "๐Ÿ“ฐ", "๐Ÿ—ž๏ธ", "๐Ÿ“‘", "๐Ÿ”–", "๐Ÿท๏ธ", "๐Ÿ’ฐ", "๐Ÿช™", "๐Ÿ’ด", "๐Ÿ’ต", "๐Ÿ’ถ", "๐Ÿ’ท", "๐Ÿ’ธ", "๐Ÿ’ณ", "๐Ÿงพ", "๐Ÿ’น", "โœ‰๏ธ", "๐Ÿ“ง", "๐Ÿ“จ", "๐Ÿ“ฉ", "๐Ÿ“ค", "๐Ÿ“ฅ", "๐Ÿ“ฆ", "๐Ÿ“ซ", "๐Ÿ“ช", "๐Ÿ“ฌ", "๐Ÿ“ญ", "๐Ÿ“ฎ", "๐Ÿ—ณ๏ธ", "โœ๏ธ", "โœ’๏ธ", "๐Ÿ–‹๏ธ", "๐Ÿ–Š๏ธ", "๐Ÿ–Œ๏ธ", "๐Ÿ–๏ธ", "๐Ÿ“", "๐Ÿ’ผ", "๐Ÿ“", "๐Ÿ“‚", "๐Ÿ—‚๏ธ", "๐Ÿ“…", "๐Ÿ“†", "๐Ÿ—’๏ธ", "๐Ÿ—“๏ธ", "๐Ÿ“‡", "๐Ÿ“ˆ", "๐Ÿ“‰", "๐Ÿ“Š", "๐Ÿ“‹", "๐Ÿ“Œ", "๐Ÿ“", "๐Ÿ“Ž", "๐Ÿ–‡๏ธ", "๐Ÿ“", "๐Ÿ“", "โœ‚๏ธ", "๐Ÿ—ƒ๏ธ", "๐Ÿ—„๏ธ", "๐Ÿ—‘๏ธ", "๐Ÿ”’", "๐Ÿ”“", "๐Ÿ”", "๐Ÿ”", "๐Ÿ”‘", "๐Ÿ—๏ธ", "๐Ÿ”จ", "๐Ÿช“", "โ›๏ธ", "โš’๏ธ", "๐Ÿ› ๏ธ", "๐Ÿ—ก๏ธ", "โš”๏ธ", "๐Ÿ”ซ", "๐Ÿชƒ", "๐Ÿน", "๐Ÿ›ก๏ธ", "๐Ÿชš", "๐Ÿ”ง", "๐Ÿช›", "๐Ÿ”ฉ", "โš™๏ธ", "๐Ÿ—œ๏ธ", "โš–๏ธ", "๐Ÿฆฏ", "๐Ÿ”—", "โ›“๏ธ", "๐Ÿช", "๐Ÿงฐ", "๐Ÿงฒ", "๐Ÿชœ", "โš—๏ธ", "๐Ÿงช", "๐Ÿงซ", "๐Ÿงฌ", "๐Ÿ”ฌ", "๐Ÿ”ญ", "๐Ÿ“ก", "๐Ÿ’‰", "๐Ÿฉธ", "๐Ÿ’Š", "๐Ÿฉน", "๐Ÿฉบ", "๐Ÿšช", "๐Ÿ›—", "๐Ÿชž", "๐ŸชŸ", "๐Ÿ›๏ธ", "๐Ÿ›‹๏ธ", "๐Ÿช‘", "๐Ÿšฝ", "๐Ÿช ", "๐Ÿšฟ", "๐Ÿ›", "๐Ÿชค", "๐Ÿช’", "๐Ÿงด", "๐Ÿงท", "๐Ÿงน", "๐Ÿงบ", "๐Ÿงป", "๐Ÿชฃ", "๐Ÿงผ", "๐Ÿชฅ", "๐Ÿงฝ", "๐Ÿงฏ", "๐Ÿ›’", "๐Ÿšฌ", "โšฐ๏ธ", "๐Ÿชฆ", "โšฑ๏ธ", "๐Ÿ—ฟ", "๐Ÿชง", "๐Ÿง", "๐Ÿšฎ", "๐Ÿšฐ", "โ™ฟ", "๐Ÿšน", "๐Ÿšบ", "๐Ÿšป", "๐Ÿšผ", "๐Ÿšพ", "๐Ÿ›‚", "๐Ÿ›ƒ", "๐Ÿ›„", "๐Ÿ›…", "โš ๏ธ", "๐Ÿšธ", "โ›”", "๐Ÿšซ", "๐Ÿšณ", "๐Ÿšญ", "๐Ÿšฏ", "๐Ÿšฑ", "๐Ÿšท", "๐Ÿ“ต", "๐Ÿ”ž", "โ˜ข๏ธ", "โ˜ฃ๏ธ", "โฌ†๏ธ", "โ†—๏ธ", "โžก๏ธ", "โ†˜๏ธ", "โฌ‡๏ธ", "โ†™๏ธ", "โฌ…๏ธ", "โ†–๏ธ", "โ†•๏ธ", "โ†”๏ธ", "โ†ฉ๏ธ", "โ†ช๏ธ", "โคด๏ธ", "โคต๏ธ", "๐Ÿ”ƒ", "๐Ÿ”„", "๐Ÿ”™", "๐Ÿ”š", "๐Ÿ”›", "๐Ÿ”œ", "๐Ÿ”", "๐Ÿ›", "โš›๏ธ", "๐Ÿ•‰๏ธ", "โœก๏ธ", "โ˜ธ๏ธ", "โ˜ฏ๏ธ", "โœ๏ธ", "โ˜ฆ๏ธ", "โ˜ช๏ธ", "โ˜ฎ๏ธ", "๐Ÿ•Ž", "๐Ÿ”ฏ", "โ™ˆ", "โ™‰", "โ™Š", "โ™‹", "โ™Œ", "โ™", "โ™Ž", "โ™", "โ™", "โ™‘", "โ™’", "โ™“", "โ›Ž", "๐Ÿ”€", "๐Ÿ”", "๐Ÿ”‚", "โ–ถ๏ธ", "โฉ", "โญ๏ธ", "โฏ๏ธ", "โ—€๏ธ", "โช", "โฎ๏ธ", "๐Ÿ”ผ", "โซ", "๐Ÿ”ฝ", "โฌ", "โธ๏ธ", "โน๏ธ", "โบ๏ธ", "โ๏ธ", "๐ŸŽฆ", "๐Ÿ”…", "๐Ÿ”†", "๐Ÿ“ถ", "๐Ÿ“ณ", "๐Ÿ“ด", "โ™€๏ธ", "โ™‚๏ธ", "โšง๏ธ", "โœ–๏ธ", "โž•", "โž–", "โž—", "โ™พ๏ธ", "โ€ผ๏ธ", "โ‰๏ธ", "โ“", "โ”", "โ•", "โ—", "ใ€ฐ๏ธ", "๐Ÿ’ฑ", "๐Ÿ’ฒ", "โš•๏ธ", "โ™ป๏ธ", "โšœ๏ธ", "๐Ÿ”ฑ", "๐Ÿ“›", "๐Ÿ”ฐ", "โญ•", "โœ…", "โ˜‘๏ธ", "โœ”๏ธ", "โŒ", "โŽ", "โžฐ", "โžฟ", "ใ€ฝ๏ธ", "โœณ๏ธ", "โœด๏ธ", "โ‡๏ธ", "ยฉ๏ธ", "ยฎ๏ธ", "โ„ข๏ธ", "#๏ธโƒฃ", "*๏ธโƒฃ", "0๏ธโƒฃ", "1๏ธโƒฃ", "2๏ธโƒฃ", "3๏ธโƒฃ", "4๏ธโƒฃ", "5๏ธโƒฃ", "6๏ธโƒฃ", "7๏ธโƒฃ", "8๏ธโƒฃ", "9๏ธโƒฃ", "๐Ÿ”Ÿ", "๐Ÿ” ", "๐Ÿ”ก", "๐Ÿ”ข", "๐Ÿ”ฃ", "๐Ÿ”ค", "๐Ÿ…ฐ๏ธ", "๐Ÿ†Ž", "๐Ÿ…ฑ๏ธ", "๐Ÿ†‘", "๐Ÿ†’", "๐Ÿ†“", "โ„น๏ธ", "๐Ÿ†”", "โ“‚๏ธ", "๐Ÿ†•", "๐Ÿ†–", "๐Ÿ…พ๏ธ", "๐Ÿ†—", "๐Ÿ…ฟ๏ธ", "๐Ÿ†˜", "๐Ÿ†™", "๐Ÿ†š", "๐Ÿˆ", "๐Ÿˆ‚๏ธ", "๐Ÿˆท๏ธ", "๐Ÿˆถ", "๐Ÿˆฏ", "๐Ÿ‰", "๐Ÿˆน", "๐Ÿˆš", "๐Ÿˆฒ", "๐Ÿ‰‘", "๐Ÿˆธ", "๐Ÿˆด", "๐Ÿˆณ", "ใŠ—๏ธ", "ใŠ™๏ธ", "๐Ÿˆบ", "๐Ÿˆต", "๐Ÿ”ด", "๐ŸŸ ", "๐ŸŸก", "๐ŸŸข", "๐Ÿ”ต", "๐ŸŸฃ", "๐ŸŸค", "โšซ", "โšช", "๐ŸŸฅ", "๐ŸŸง", "๐ŸŸจ", "๐ŸŸฉ", "๐ŸŸฆ", "๐ŸŸช", "๐ŸŸซ", "โฌ›", "โฌœ", "โ—ผ๏ธ", "โ—ป๏ธ", "โ—พ", "โ—ฝ", "โ–ช๏ธ", "โ–ซ๏ธ", "๐Ÿ”ถ", "๐Ÿ”ท", "๐Ÿ”ธ", "๐Ÿ”น", "๐Ÿ”บ", "๐Ÿ”ป", "๐Ÿ’ ", "๐Ÿ”˜", "๐Ÿ”ณ", "๐Ÿ”ฒ", "๐Ÿ", "๐Ÿšฉ", "๐ŸŽŒ", "๐Ÿด", "๐Ÿณ๏ธ", "๐Ÿณ๏ธโ€๐ŸŒˆ", "๐Ÿณ๏ธโ€โšง๏ธ", "๐Ÿดโ€โ˜ ๏ธ", "๐Ÿ‡ฆ๐Ÿ‡จ", "๐Ÿ‡ฆ๐Ÿ‡ฉ", "๐Ÿ‡ฆ๐Ÿ‡ช", "๐Ÿ‡ฆ๐Ÿ‡ซ", "๐Ÿ‡ฆ๐Ÿ‡ฌ", "๐Ÿ‡ฆ๐Ÿ‡ฎ", "๐Ÿ‡ฆ๐Ÿ‡ฑ", "๐Ÿ‡ฆ๐Ÿ‡ฒ", "๐Ÿ‡ฆ๐Ÿ‡ด", "๐Ÿ‡ฆ๐Ÿ‡ถ", "๐Ÿ‡ฆ๐Ÿ‡ท", "๐Ÿ‡ฆ๐Ÿ‡ธ", "๐Ÿ‡ฆ๐Ÿ‡น", "๐Ÿ‡ฆ๐Ÿ‡บ", "๐Ÿ‡ฆ๐Ÿ‡ผ", "๐Ÿ‡ฆ๐Ÿ‡ฝ", "๐Ÿ‡ฆ๐Ÿ‡ฟ", "๐Ÿ‡ง๐Ÿ‡ฆ", "๐Ÿ‡ง๐Ÿ‡ง", "๐Ÿ‡ง๐Ÿ‡ฉ", "๐Ÿ‡ง๐Ÿ‡ช", "๐Ÿ‡ง๐Ÿ‡ซ", "๐Ÿ‡ง๐Ÿ‡ฌ", "๐Ÿ‡ง๐Ÿ‡ญ", "๐Ÿ‡ง๐Ÿ‡ฎ", "๐Ÿ‡ง๐Ÿ‡ฏ", "๐Ÿ‡ง๐Ÿ‡ฑ", "๐Ÿ‡ง๐Ÿ‡ฒ", "๐Ÿ‡ง๐Ÿ‡ณ", "๐Ÿ‡ง๐Ÿ‡ด", "๐Ÿ‡ง๐Ÿ‡ถ", "๐Ÿ‡ง๐Ÿ‡ท", "๐Ÿ‡ง๐Ÿ‡ธ", "๐Ÿ‡ง๐Ÿ‡น", "๐Ÿ‡ง๐Ÿ‡ป", "๐Ÿ‡ง๐Ÿ‡ผ", "๐Ÿ‡ง๐Ÿ‡พ", "๐Ÿ‡ง๐Ÿ‡ฟ", "๐Ÿ‡จ๐Ÿ‡ฆ", "๐Ÿ‡จ๐Ÿ‡จ", "๐Ÿ‡จ๐Ÿ‡ฉ", "๐Ÿ‡จ๐Ÿ‡ซ", "๐Ÿ‡จ๐Ÿ‡ฌ", "๐Ÿ‡จ๐Ÿ‡ญ", "๐Ÿ‡จ๐Ÿ‡ฎ", "๐Ÿ‡จ๐Ÿ‡ฐ", "๐Ÿ‡จ๐Ÿ‡ฑ", "๐Ÿ‡จ๐Ÿ‡ฒ", "๐Ÿ‡จ๐Ÿ‡ณ", "๐Ÿ‡จ๐Ÿ‡ด", "๐Ÿ‡จ๐Ÿ‡ต", "๐Ÿ‡จ๐Ÿ‡ท", "๐Ÿ‡จ๐Ÿ‡บ", "๐Ÿ‡จ๐Ÿ‡ป", "๐Ÿ‡จ๐Ÿ‡ผ", "๐Ÿ‡จ๐Ÿ‡ฝ", "๐Ÿ‡จ๐Ÿ‡พ", "๐Ÿ‡จ๐Ÿ‡ฟ", "๐Ÿ‡ฉ๐Ÿ‡ช", "๐Ÿ‡ฉ๐Ÿ‡ฌ", "๐Ÿ‡ฉ๐Ÿ‡ฏ", "๐Ÿ‡ฉ๐Ÿ‡ฐ", "๐Ÿ‡ฉ๐Ÿ‡ฒ", "๐Ÿ‡ฉ๐Ÿ‡ด", "๐Ÿ‡ฉ๐Ÿ‡ฟ", "๐Ÿ‡ช๐Ÿ‡ฆ", "๐Ÿ‡ช๐Ÿ‡จ", "๐Ÿ‡ช๐Ÿ‡ช", "๐Ÿ‡ช๐Ÿ‡ฌ", "๐Ÿ‡ช๐Ÿ‡ญ", "๐Ÿ‡ช๐Ÿ‡ท", "๐Ÿ‡ช๐Ÿ‡ธ", "๐Ÿ‡ช๐Ÿ‡น", "๐Ÿ‡ช๐Ÿ‡บ", "๐Ÿ‡ซ๐Ÿ‡ฎ", "๐Ÿ‡ซ๐Ÿ‡ฏ", "๐Ÿ‡ซ๐Ÿ‡ฐ", "๐Ÿ‡ซ๐Ÿ‡ฒ", "๐Ÿ‡ซ๐Ÿ‡ด", "๐Ÿ‡ซ๐Ÿ‡ท", "๐Ÿ‡ฌ๐Ÿ‡ฆ", "๐Ÿ‡ฌ๐Ÿ‡ง", "๐Ÿ‡ฌ๐Ÿ‡ฉ", "๐Ÿ‡ฌ๐Ÿ‡ช", "๐Ÿ‡ฌ๐Ÿ‡ซ", "๐Ÿ‡ฌ๐Ÿ‡ฌ", "๐Ÿ‡ฌ๐Ÿ‡ญ", "๐Ÿ‡ฌ๐Ÿ‡ฎ", "๐Ÿ‡ฌ๐Ÿ‡ฑ", "๐Ÿ‡ฌ๐Ÿ‡ฒ", "๐Ÿ‡ฌ๐Ÿ‡ณ", "๐Ÿ‡ฌ๐Ÿ‡ต", "๐Ÿ‡ฌ๐Ÿ‡ถ", "๐Ÿ‡ฌ๐Ÿ‡ท", "๐Ÿ‡ฌ๐Ÿ‡ธ", "๐Ÿ‡ฌ๐Ÿ‡น", "๐Ÿ‡ฌ๐Ÿ‡บ", "๐Ÿ‡ฌ๐Ÿ‡ผ", "๐Ÿ‡ฌ๐Ÿ‡พ", "๐Ÿ‡ญ๐Ÿ‡ฐ", "๐Ÿ‡ญ๐Ÿ‡ฒ", "๐Ÿ‡ญ๐Ÿ‡ณ", "๐Ÿ‡ญ๐Ÿ‡ท", "๐Ÿ‡ญ๐Ÿ‡น", "๐Ÿ‡ญ๐Ÿ‡บ", "๐Ÿ‡ฎ๐Ÿ‡จ", "๐Ÿ‡ฎ๐Ÿ‡ฉ", "๐Ÿ‡ฎ๐Ÿ‡ช", "๐Ÿ‡ฎ๐Ÿ‡ฑ", "๐Ÿ‡ฎ๐Ÿ‡ฒ", "๐Ÿ‡ฎ๐Ÿ‡ณ", "๐Ÿ‡ฎ๐Ÿ‡ด", "๐Ÿ‡ฎ๐Ÿ‡ถ", "๐Ÿ‡ฎ๐Ÿ‡ท", "๐Ÿ‡ฎ๐Ÿ‡ธ", "๐Ÿ‡ฎ๐Ÿ‡น", "๐Ÿ‡ฏ๐Ÿ‡ช", "๐Ÿ‡ฏ๐Ÿ‡ฒ", "๐Ÿ‡ฏ๐Ÿ‡ด", "๐Ÿ‡ฏ๐Ÿ‡ต", "๐Ÿ‡ฐ๐Ÿ‡ช", "๐Ÿ‡ฐ๐Ÿ‡ฌ", "๐Ÿ‡ฐ๐Ÿ‡ญ", "๐Ÿ‡ฐ๐Ÿ‡ฎ", "๐Ÿ‡ฐ๐Ÿ‡ฒ", "๐Ÿ‡ฐ๐Ÿ‡ณ", "๐Ÿ‡ฐ๐Ÿ‡ต", "๐Ÿ‡ฐ๐Ÿ‡ท", "๐Ÿ‡ฐ๐Ÿ‡ผ", "๐Ÿ‡ฐ๐Ÿ‡พ", "๐Ÿ‡ฐ๐Ÿ‡ฟ", "๐Ÿ‡ฑ๐Ÿ‡ฆ", "๐Ÿ‡ฑ๐Ÿ‡ง", "๐Ÿ‡ฑ๐Ÿ‡จ", "๐Ÿ‡ฑ๐Ÿ‡ฎ", "๐Ÿ‡ฑ๐Ÿ‡ฐ", "๐Ÿ‡ฑ๐Ÿ‡ท", "๐Ÿ‡ฑ๐Ÿ‡ธ", "๐Ÿ‡ฑ๐Ÿ‡น", "๐Ÿ‡ฑ๐Ÿ‡บ", "๐Ÿ‡ฑ๐Ÿ‡ป", "๐Ÿ‡ฑ๐Ÿ‡พ", "๐Ÿ‡ฒ๐Ÿ‡ฆ", "๐Ÿ‡ฒ๐Ÿ‡จ", "๐Ÿ‡ฒ๐Ÿ‡ฉ", "๐Ÿ‡ฒ๐Ÿ‡ช", "๐Ÿ‡ฒ๐Ÿ‡ซ", "๐Ÿ‡ฒ๐Ÿ‡ฌ", "๐Ÿ‡ฒ๐Ÿ‡ญ", "๐Ÿ‡ฒ๐Ÿ‡ฐ", "๐Ÿ‡ฒ๐Ÿ‡ฑ", "๐Ÿ‡ฒ๐Ÿ‡ฒ", "๐Ÿ‡ฒ๐Ÿ‡ณ", "๐Ÿ‡ฒ๐Ÿ‡ด", "๐Ÿ‡ฒ๐Ÿ‡ต", "๐Ÿ‡ฒ๐Ÿ‡ถ", "๐Ÿ‡ฒ๐Ÿ‡ท", "๐Ÿ‡ฒ๐Ÿ‡ธ", "๐Ÿ‡ฒ๐Ÿ‡น", "๐Ÿ‡ฒ๐Ÿ‡บ", "๐Ÿ‡ฒ๐Ÿ‡ป", "๐Ÿ‡ฒ๐Ÿ‡ผ", "๐Ÿ‡ฒ๐Ÿ‡ฝ", "๐Ÿ‡ฒ๐Ÿ‡พ", "๐Ÿ‡ฒ๐Ÿ‡ฟ", "๐Ÿ‡ณ๐Ÿ‡ฆ", "๐Ÿ‡ณ๐Ÿ‡จ", "๐Ÿ‡ณ๐Ÿ‡ช", "๐Ÿ‡ณ๐Ÿ‡ซ", "๐Ÿ‡ณ๐Ÿ‡ฌ", "๐Ÿ‡ณ๐Ÿ‡ฎ", "๐Ÿ‡ณ๐Ÿ‡ฑ", "๐Ÿ‡ณ๐Ÿ‡ด", "๐Ÿ‡ณ๐Ÿ‡ต", "๐Ÿ‡ณ๐Ÿ‡ท", "๐Ÿ‡ณ๐Ÿ‡บ", "๐Ÿ‡ณ๐Ÿ‡ฟ", "๐Ÿ‡ด๐Ÿ‡ฒ", "๐Ÿ‡ต๐Ÿ‡ฆ", "๐Ÿ‡ต๐Ÿ‡ช", "๐Ÿ‡ต๐Ÿ‡ซ", "๐Ÿ‡ต๐Ÿ‡ฌ", "๐Ÿ‡ต๐Ÿ‡ญ", "๐Ÿ‡ต๐Ÿ‡ฐ", "๐Ÿ‡ต๐Ÿ‡ฑ", "๐Ÿ‡ต๐Ÿ‡ฒ", "๐Ÿ‡ต๐Ÿ‡ณ", "๐Ÿ‡ต๐Ÿ‡ท", "๐Ÿ‡ต๐Ÿ‡ธ", "๐Ÿ‡ต๐Ÿ‡น", "๐Ÿ‡ต๐Ÿ‡ผ", "๐Ÿ‡ต๐Ÿ‡พ", "๐Ÿ‡ถ๐Ÿ‡ฆ", "๐Ÿ‡ท๐Ÿ‡ช", "๐Ÿ‡ท๐Ÿ‡ด", "๐Ÿ‡ท๐Ÿ‡ธ", "๐Ÿ‡ท๐Ÿ‡บ", "๐Ÿ‡ท๐Ÿ‡ผ", "๐Ÿ‡ธ๐Ÿ‡ฆ", "๐Ÿ‡ธ๐Ÿ‡ง", "๐Ÿ‡ธ๐Ÿ‡จ", "๐Ÿ‡ธ๐Ÿ‡ฉ", "๐Ÿ‡ธ๐Ÿ‡ช", "๐Ÿ‡ธ๐Ÿ‡ฌ", "๐Ÿ‡ธ๐Ÿ‡ญ", "๐Ÿ‡ธ๐Ÿ‡ฎ", "๐Ÿ‡ธ๐Ÿ‡ฏ", "๐Ÿ‡ธ๐Ÿ‡ฐ", "๐Ÿ‡ธ๐Ÿ‡ฑ", "๐Ÿ‡ธ๐Ÿ‡ฒ", "๐Ÿ‡ธ๐Ÿ‡ณ", "๐Ÿ‡ธ๐Ÿ‡ด", "๐Ÿ‡ธ๐Ÿ‡ท", "๐Ÿ‡ธ๐Ÿ‡ธ", "๐Ÿ‡ธ๐Ÿ‡น", "๐Ÿ‡ธ๐Ÿ‡ป", "๐Ÿ‡ธ๐Ÿ‡ฝ", "๐Ÿ‡ธ๐Ÿ‡พ", "๐Ÿ‡ธ๐Ÿ‡ฟ", "๐Ÿ‡น๐Ÿ‡ฆ", "๐Ÿ‡น๐Ÿ‡จ", "๐Ÿ‡น๐Ÿ‡ฉ", "๐Ÿ‡น๐Ÿ‡ซ", "๐Ÿ‡น๐Ÿ‡ฌ", "๐Ÿ‡น๐Ÿ‡ญ", "๐Ÿ‡น๐Ÿ‡ฏ", "๐Ÿ‡น๐Ÿ‡ฐ", "๐Ÿ‡น๐Ÿ‡ฑ", "๐Ÿ‡น๐Ÿ‡ฒ", "๐Ÿ‡น๐Ÿ‡ณ", "๐Ÿ‡น๐Ÿ‡ด", "๐Ÿ‡น๐Ÿ‡ท", "๐Ÿ‡น๐Ÿ‡น", "๐Ÿ‡น๐Ÿ‡ป", "๐Ÿ‡น๐Ÿ‡ผ", "๐Ÿ‡น๐Ÿ‡ฟ", "๐Ÿ‡บ๐Ÿ‡ฆ", "๐Ÿ‡บ๐Ÿ‡ฌ", "๐Ÿ‡บ๐Ÿ‡ฒ", "๐Ÿ‡บ๐Ÿ‡ณ", "๐Ÿ‡บ๐Ÿ‡ธ", "๐Ÿ‡บ๐Ÿ‡พ", "๐Ÿ‡บ๐Ÿ‡ฟ", "๐Ÿ‡ป๐Ÿ‡ฆ", "๐Ÿ‡ป๐Ÿ‡จ", "๐Ÿ‡ป๐Ÿ‡ช", "๐Ÿ‡ป๐Ÿ‡ฌ", "๐Ÿ‡ป๐Ÿ‡ฎ", "๐Ÿ‡ป๐Ÿ‡ณ", "๐Ÿ‡ป๐Ÿ‡บ", "๐Ÿ‡ผ๐Ÿ‡ซ", "๐Ÿ‡ผ๐Ÿ‡ธ", "๐Ÿ‡ฝ๐Ÿ‡ฐ", "๐Ÿ‡พ๐Ÿ‡ช", "๐Ÿ‡พ๐Ÿ‡น", "๐Ÿ‡ฟ๐Ÿ‡ฆ", "๐Ÿ‡ฟ๐Ÿ‡ฒ", "๐Ÿ‡ฟ๐Ÿ‡ผ", "๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ", "๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ", "๐Ÿด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ" ]; var emojiNames = { "๐Ÿ˜€": { name: "grinning face", slug: "grinning_face", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ˜ƒ": { name: "grinning face with big eyes", slug: "grinning_face_with_big_eyes", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜„": { name: "grinning face with smiling eyes", slug: "grinning_face_with_smiling_eyes", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜": { name: "beaming face with smiling eyes", slug: "beaming_face_with_smiling_eyes", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜†": { name: "grinning squinting face", slug: "grinning_squinting_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜…": { name: "grinning face with sweat", slug: "grinning_face_with_sweat", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿคฃ": { name: "rolling on the floor laughing", slug: "rolling_on_the_floor_laughing", group: "Smileys & Emotion", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿ˜‚": { name: "face with tears of joy", slug: "face_with_tears_of_joy", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ™‚": { name: "slightly smiling face", slug: "slightly_smiling_face", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ™ƒ": { name: "upside-down face", slug: "upside_down_face", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ˜‰": { name: "winking face", slug: "winking_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜Š": { name: "smiling face with smiling eyes", slug: "smiling_face_with_smiling_eyes", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜‡": { name: "smiling face with halo", slug: "smiling_face_with_halo", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿฅฐ": { name: "smiling face with hearts", slug: "smiling_face_with_hearts", group: "Smileys & Emotion", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿ˜": { name: "smiling face with heart-eyes", slug: "smiling_face_with_heart_eyes", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿคฉ": { name: "star-struck", slug: "star_struck", group: "Smileys & Emotion", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿ˜˜": { name: "face blowing a kiss", slug: "face_blowing_a_kiss", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜—": { name: "kissing face", slug: "kissing_face", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "โ˜บ๏ธ": { name: "smiling face", slug: "smiling_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜š": { name: "kissing face with closed eyes", slug: "kissing_face_with_closed_eyes", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜™": { name: "kissing face with smiling eyes", slug: "kissing_face_with_smiling_eyes", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿฅฒ": { name: "smiling face with tear", slug: "smiling_face_with_tear", group: "Smileys & Emotion", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿ˜‹": { name: "face savoring food", slug: "face_savoring_food", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜›": { name: "face with tongue", slug: "face_with_tongue", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ˜œ": { name: "winking face with tongue", slug: "winking_face_with_tongue", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿคช": { name: "zany face", slug: "zany_face", group: "Smileys & Emotion", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿ˜": { name: "squinting face with tongue", slug: "squinting_face_with_tongue", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿค‘": { name: "money-mouth face", slug: "money_mouth_face", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿค—": { name: "hugging face", slug: "hugging_face", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿคญ": { name: "face with hand over mouth", slug: "face_with_hand_over_mouth", group: "Smileys & Emotion", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿคซ": { name: "shushing face", slug: "shushing_face", group: "Smileys & Emotion", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿค”": { name: "thinking face", slug: "thinking_face", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿค": { name: "zipper-mouth face", slug: "zipper_mouth_face", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿคจ": { name: "face with raised eyebrow", slug: "face_with_raised_eyebrow", group: "Smileys & Emotion", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿ˜": { name: "neutral face", slug: "neutral_face", group: "Smileys & Emotion", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ˜‘": { name: "expressionless face", slug: "expressionless_face", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ˜ถ": { name: "face without mouth", slug: "face_without_mouth", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ˜": { name: "smirking face", slug: "smirking_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜’": { name: "unamused face", slug: "unamused_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ™„": { name: "face with rolling eyes", slug: "face_with_rolling_eyes", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ˜ฌ": { name: "grimacing face", slug: "grimacing_face", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿคฅ": { name: "lying face", slug: "lying_face", group: "Smileys & Emotion", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿ˜Œ": { name: "relieved face", slug: "relieved_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜”": { name: "pensive face", slug: "pensive_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ช": { name: "sleepy face", slug: "sleepy_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿคค": { name: "drooling face", slug: "drooling_face", group: "Smileys & Emotion", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿ˜ด": { name: "sleeping face", slug: "sleeping_face", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ˜ท": { name: "face with medical mask", slug: "face_with_medical_mask", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿค’": { name: "face with thermometer", slug: "face_with_thermometer", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿค•": { name: "face with head-bandage", slug: "face_with_head_bandage", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿคข": { name: "nauseated face", slug: "nauseated_face", group: "Smileys & Emotion", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿคฎ": { name: "face vomiting", slug: "face_vomiting", group: "Smileys & Emotion", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿคง": { name: "sneezing face", slug: "sneezing_face", group: "Smileys & Emotion", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฅต": { name: "hot face", slug: "hot_face", group: "Smileys & Emotion", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿฅถ": { name: "cold face", slug: "cold_face", group: "Smileys & Emotion", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿฅด": { name: "woozy face", slug: "woozy_face", group: "Smileys & Emotion", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿ˜ต": { name: "knocked-out face", slug: "knocked_out_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿคฏ": { name: "exploding head", slug: "exploding_head", group: "Smileys & Emotion", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿค ": { name: "cowboy hat face", slug: "cowboy_hat_face", group: "Smileys & Emotion", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฅณ": { name: "partying face", slug: "partying_face", group: "Smileys & Emotion", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿฅธ": { name: "disguised face", slug: "disguised_face", group: "Smileys & Emotion", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿ˜Ž": { name: "smiling face with sunglasses", slug: "smiling_face_with_sunglasses", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿค“": { name: "nerd face", slug: "nerd_face", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿง": { name: "face with monocle", slug: "face_with_monocle", group: "Smileys & Emotion", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿ˜•": { name: "confused face", slug: "confused_face", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ˜Ÿ": { name: "worried face", slug: "worried_face", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ™": { name: "slightly frowning face", slug: "slightly_frowning_face", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "โ˜น๏ธ": { name: "frowning face", slug: "frowning_face", group: "Smileys & Emotion", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ˜ฎ": { name: "face with open mouth", slug: "face_with_open_mouth", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ˜ฏ": { name: "hushed face", slug: "hushed_face", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ˜ฒ": { name: "astonished face", slug: "astonished_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ณ": { name: "flushed face", slug: "flushed_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฅบ": { name: "pleading face", slug: "pleading_face", group: "Smileys & Emotion", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿ˜ฆ": { name: "frowning face with open mouth", slug: "frowning_face_with_open_mouth", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ˜ง": { name: "anguished face", slug: "anguished_face", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ˜จ": { name: "fearful face", slug: "fearful_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ฐ": { name: "anxious face with sweat", slug: "anxious_face_with_sweat", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ฅ": { name: "sad but relieved face", slug: "sad_but_relieved_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ข": { name: "crying face", slug: "crying_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ญ": { name: "loudly crying face", slug: "loudly_crying_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ฑ": { name: "face screaming in fear", slug: "face_screaming_in_fear", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜–": { name: "confounded face", slug: "confounded_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ฃ": { name: "persevering face", slug: "persevering_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ž": { name: "disappointed face", slug: "disappointed_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜“": { name: "downcast face with sweat", slug: "downcast_face_with_sweat", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ฉ": { name: "weary face", slug: "weary_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ซ": { name: "tired face", slug: "tired_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฅฑ": { name: "yawning face", slug: "yawning_face", group: "Smileys & Emotion", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿ˜ค": { name: "face with steam from nose", slug: "face_with_steam_from_nose", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ก": { name: "pouting face", slug: "pouting_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ ": { name: "angry face", slug: "angry_face", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿคฌ": { name: "face with symbols on mouth", slug: "face_with_symbols_on_mouth", group: "Smileys & Emotion", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿ˜ˆ": { name: "smiling face with horns", slug: "smiling_face_with_horns", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ‘ฟ": { name: "angry face with horns", slug: "angry_face_with_horns", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’€": { name: "skull", slug: "skull", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ˜ ๏ธ": { name: "skull and crossbones", slug: "skull_and_crossbones", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ’ฉ": { name: "pile of poo", slug: "pile_of_poo", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿคก": { name: "clown face", slug: "clown_face", group: "Smileys & Emotion", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿ‘น": { name: "ogre", slug: "ogre", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘บ": { name: "goblin", slug: "goblin", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘ป": { name: "ghost", slug: "ghost", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘ฝ": { name: "alien", slug: "alien", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘พ": { name: "alien monster", slug: "alien_monster", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿค–": { name: "robot", slug: "robot", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ˜บ": { name: "grinning cat", slug: "grinning_cat", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ธ": { name: "grinning cat with smiling eyes", slug: "grinning_cat_with_smiling_eyes", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜น": { name: "cat with tears of joy", slug: "cat_with_tears_of_joy", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ป": { name: "smiling cat with heart-eyes", slug: "smiling_cat_with_heart_eyes", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ผ": { name: "cat with wry smile", slug: "cat_with_wry_smile", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ฝ": { name: "kissing cat", slug: "kissing_cat", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ™€": { name: "weary cat", slug: "weary_cat", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜ฟ": { name: "crying cat", slug: "crying_cat", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜พ": { name: "pouting cat", slug: "pouting_cat", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ™ˆ": { name: "see-no-evil monkey", slug: "see_no_evil_monkey", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ™‰": { name: "hear-no-evil monkey", slug: "hear_no_evil_monkey", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ™Š": { name: "speak-no-evil monkey", slug: "speak_no_evil_monkey", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’‹": { name: "kiss mark", slug: "kiss_mark", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’Œ": { name: "love letter", slug: "love_letter", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’˜": { name: "heart with arrow", slug: "heart_with_arrow", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’": { name: "heart with ribbon", slug: "heart_with_ribbon", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’–": { name: "sparkling heart", slug: "sparkling_heart", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’—": { name: "growing heart", slug: "growing_heart", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’“": { name: "beating heart", slug: "beating_heart", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ž": { name: "revolving hearts", slug: "revolving_hearts", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’•": { name: "two hearts", slug: "two_hearts", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’Ÿ": { name: "heart decoration", slug: "heart_decoration", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โฃ๏ธ": { name: "heart exclamation", slug: "heart_exclamation", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ’”": { name: "broken heart", slug: "broken_heart", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โค๏ธ": { name: "red heart", slug: "red_heart", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿงก": { name: "orange heart", slug: "orange_heart", group: "Smileys & Emotion", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿ’›": { name: "yellow heart", slug: "yellow_heart", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’š": { name: "green heart", slug: "green_heart", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’™": { name: "blue heart", slug: "blue_heart", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’œ": { name: "purple heart", slug: "purple_heart", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸคŽ": { name: "brown heart", slug: "brown_heart", group: "Smileys & Emotion", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿ–ค": { name: "black heart", slug: "black_heart", group: "Smileys & Emotion", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿค": { name: "white heart", slug: "white_heart", group: "Smileys & Emotion", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿ’ฏ": { name: "hundred points", slug: "hundred_points", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ข": { name: "anger symbol", slug: "anger_symbol", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ฅ": { name: "collision", slug: "collision", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ซ": { name: "dizzy", slug: "dizzy", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ฆ": { name: "sweat droplets", slug: "sweat_droplets", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’จ": { name: "dashing away", slug: "dashing_away", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•ณ๏ธ": { name: "hole", slug: "hole", group: "Smileys & Emotion", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ’ฃ": { name: "bomb", slug: "bomb", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ฌ": { name: "speech balloon", slug: "speech_balloon", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ": { name: "eye in speech bubble", slug: "eye_in_speech_bubble", group: "Smileys & Emotion", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ—จ๏ธ": { name: "left speech bubble", slug: "left_speech_bubble", group: "Smileys & Emotion", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ—ฏ๏ธ": { name: "right anger bubble", slug: "right_anger_bubble", group: "Smileys & Emotion", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ’ญ": { name: "thought balloon", slug: "thought_balloon", group: "Smileys & Emotion", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ’ค": { name: "zzz", slug: "zzz", group: "Smileys & Emotion", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘‹": { name: "waving hand", slug: "waving_hand", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿคš": { name: "raised back of hand", slug: "raised_back_of_hand", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: true, skin_tone_support_unicode_version: "3.0" }, "๐Ÿ–๏ธ": { name: "hand with fingers splayed", slug: "hand_with_fingers_splayed", group: "People & Body", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "โœ‹": { name: "raised hand", slug: "raised_hand", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ––": { name: "vulcan salute", slug: "vulcan_salute", group: "People & Body", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ‘Œ": { name: "OK hand", slug: "ok_hand", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐ŸคŒ": { name: "pinched fingers", slug: "pinched_fingers", group: "People & Body", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: true, skin_tone_support_unicode_version: "13.0" }, "๐Ÿค": { name: "pinching hand", slug: "pinching_hand", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "โœŒ๏ธ": { name: "victory hand", slug: "victory_hand", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿคž": { name: "crossed fingers", slug: "crossed_fingers", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: true, skin_tone_support_unicode_version: "3.0" }, "๐ŸคŸ": { name: "love-you gesture", slug: "love_you_gesture", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿค˜": { name: "sign of the horns", slug: "sign_of_the_horns", group: "People & Body", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿค™": { name: "call me hand", slug: "call_me_hand", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: true, skin_tone_support_unicode_version: "3.0" }, "๐Ÿ‘ˆ": { name: "backhand index pointing left", slug: "backhand_index_pointing_left", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ‘‰": { name: "backhand index pointing right", slug: "backhand_index_pointing_right", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ‘†": { name: "backhand index pointing up", slug: "backhand_index_pointing_up", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ–•": { name: "middle finger", slug: "middle_finger", group: "People & Body", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ‘‡": { name: "backhand index pointing down", slug: "backhand_index_pointing_down", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "โ˜๏ธ": { name: "index pointing up", slug: "index_pointing_up", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ‘": { name: "thumbs up", slug: "thumbs_up", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ‘Ž": { name: "thumbs down", slug: "thumbs_down", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "โœŠ": { name: "raised fist", slug: "raised_fist", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ‘Š": { name: "oncoming fist", slug: "oncoming_fist", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿค›": { name: "left-facing fist", slug: "left_facing_fist", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: true, skin_tone_support_unicode_version: "3.0" }, "๐Ÿคœ": { name: "right-facing fist", slug: "right_facing_fist", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: true, skin_tone_support_unicode_version: "3.0" }, "๐Ÿ‘": { name: "clapping hands", slug: "clapping_hands", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ™Œ": { name: "raising hands", slug: "raising_hands", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ‘": { name: "open hands", slug: "open_hands", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿคฒ": { name: "palms up together", slug: "palms_up_together", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿค": { name: "handshake", slug: "handshake", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿ™": { name: "folded hands", slug: "folded_hands", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "โœ๏ธ": { name: "writing hand", slug: "writing_hand", group: "People & Body", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ’…": { name: "nail polish", slug: "nail_polish", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿคณ": { name: "selfie", slug: "selfie", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: true, skin_tone_support_unicode_version: "3.0" }, "๐Ÿ’ช": { name: "flexed biceps", slug: "flexed_biceps", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿฆพ": { name: "mechanical arm", slug: "mechanical_arm", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿฆฟ": { name: "mechanical leg", slug: "mechanical_leg", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿฆต": { name: "leg", slug: "leg", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: true, skin_tone_support_unicode_version: "11.0" }, "๐Ÿฆถ": { name: "foot", slug: "foot", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: true, skin_tone_support_unicode_version: "11.0" }, "๐Ÿ‘‚": { name: "ear", slug: "ear", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿฆป": { name: "ear with hearing aid", slug: "ear_with_hearing_aid", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐Ÿ‘ƒ": { name: "nose", slug: "nose", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿง ": { name: "brain", slug: "brain", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿซ€": { name: "anatomical heart", slug: "anatomical_heart", group: "People & Body", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿซ": { name: "lungs", slug: "lungs", group: "People & Body", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿฆท": { name: "tooth", slug: "tooth", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿฆด": { name: "bone", slug: "bone", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿ‘€": { name: "eyes", slug: "eyes", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘๏ธ": { name: "eye", slug: "eye", group: "People & Body", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ‘…": { name: "tongue", slug: "tongue", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘„": { name: "mouth", slug: "mouth", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘ถ": { name: "baby", slug: "baby", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿง’": { name: "child", slug: "child", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿ‘ฆ": { name: "boy", slug: "boy", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ‘ง": { name: "girl", slug: "girl", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿง‘": { name: "person", slug: "person", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿ‘ฑ": { name: "person blond hair", slug: "person_blond_hair", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ‘จ": { name: "man", slug: "man", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿง”": { name: "person beard", slug: "person_beard", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿ‘จโ€๐Ÿฆฐ": { name: "man red hair", slug: "man_red_hair", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: true, skin_tone_support_unicode_version: "11.0" }, "๐Ÿ‘จโ€๐Ÿฆฑ": { name: "man curly hair", slug: "man_curly_hair", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: true, skin_tone_support_unicode_version: "11.0" }, "๐Ÿ‘จโ€๐Ÿฆณ": { name: "man white hair", slug: "man_white_hair", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: true, skin_tone_support_unicode_version: "11.0" }, "๐Ÿ‘จโ€๐Ÿฆฒ": { name: "man bald", slug: "man_bald", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: true, skin_tone_support_unicode_version: "11.0" }, "๐Ÿ‘ฉ": { name: "woman", slug: "woman", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ‘ฉโ€๐Ÿฆฐ": { name: "woman red hair", slug: "woman_red_hair", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: true, skin_tone_support_unicode_version: "11.0" }, "๐Ÿง‘โ€๐Ÿฆฐ": { name: "person red hair", slug: "person_red_hair", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘ฉโ€๐Ÿฆฑ": { name: "woman curly hair", slug: "woman_curly_hair", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: true, skin_tone_support_unicode_version: "11.0" }, "๐Ÿง‘โ€๐Ÿฆฑ": { name: "person curly hair", slug: "person_curly_hair", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘ฉโ€๐Ÿฆณ": { name: "woman white hair", slug: "woman_white_hair", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: true, skin_tone_support_unicode_version: "11.0" }, "๐Ÿง‘โ€๐Ÿฆณ": { name: "person white hair", slug: "person_white_hair", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘ฉโ€๐Ÿฆฒ": { name: "woman bald", slug: "woman_bald", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: true, skin_tone_support_unicode_version: "11.0" }, "๐Ÿง‘โ€๐Ÿฆฒ": { name: "person bald", slug: "person_bald", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘ฑโ€โ™€๏ธ": { name: "woman blond hair", slug: "woman_blond_hair", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฑโ€โ™‚๏ธ": { name: "man blond hair", slug: "man_blond_hair", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง“": { name: "older person", slug: "older_person", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿ‘ด": { name: "old man", slug: "old_man", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ‘ต": { name: "old woman", slug: "old_woman", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ™": { name: "person frowning", slug: "person_frowning", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ™โ€โ™‚๏ธ": { name: "man frowning", slug: "man_frowning", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ™โ€โ™€๏ธ": { name: "woman frowning", slug: "woman_frowning", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ™Ž": { name: "person pouting", slug: "person_pouting", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ™Žโ€โ™‚๏ธ": { name: "man pouting", slug: "man_pouting", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ™Žโ€โ™€๏ธ": { name: "woman pouting", slug: "woman_pouting", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ™…": { name: "person gesturing NO", slug: "person_gesturing_no", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ™…โ€โ™‚๏ธ": { name: "man gesturing NO", slug: "man_gesturing_no", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ™…โ€โ™€๏ธ": { name: "woman gesturing NO", slug: "woman_gesturing_no", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ™†": { name: "person gesturing OK", slug: "person_gesturing_ok", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ™†โ€โ™‚๏ธ": { name: "man gesturing OK", slug: "man_gesturing_ok", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ™†โ€โ™€๏ธ": { name: "woman gesturing OK", slug: "woman_gesturing_ok", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ’": { name: "person tipping hand", slug: "person_tipping_hand", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ’โ€โ™‚๏ธ": { name: "man tipping hand", slug: "man_tipping_hand", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ’โ€โ™€๏ธ": { name: "woman tipping hand", slug: "woman_tipping_hand", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ™‹": { name: "person raising hand", slug: "person_raising_hand", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ™‹โ€โ™‚๏ธ": { name: "man raising hand", slug: "man_raising_hand", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ™‹โ€โ™€๏ธ": { name: "woman raising hand", slug: "woman_raising_hand", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง": { name: "deaf person", slug: "deaf_person", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐Ÿงโ€โ™‚๏ธ": { name: "deaf man", slug: "deaf_man", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐Ÿงโ€โ™€๏ธ": { name: "deaf woman", slug: "deaf_woman", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐Ÿ™‡": { name: "person bowing", slug: "person_bowing", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ™‡โ€โ™‚๏ธ": { name: "man bowing", slug: "man_bowing", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ™‡โ€โ™€๏ธ": { name: "woman bowing", slug: "woman_bowing", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿคฆ": { name: "person facepalming", slug: "person_facepalming", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: true, skin_tone_support_unicode_version: "3.0" }, "๐Ÿคฆโ€โ™‚๏ธ": { name: "man facepalming", slug: "man_facepalming", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿคฆโ€โ™€๏ธ": { name: "woman facepalming", slug: "woman_facepalming", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿคท": { name: "person shrugging", slug: "person_shrugging", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: true, skin_tone_support_unicode_version: "3.0" }, "๐Ÿคทโ€โ™‚๏ธ": { name: "man shrugging", slug: "man_shrugging", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿคทโ€โ™€๏ธ": { name: "woman shrugging", slug: "woman_shrugging", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง‘โ€โš•๏ธ": { name: "health worker", slug: "health_worker", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€โš•๏ธ": { name: "man health worker", slug: "man_health_worker", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฉโ€โš•๏ธ": { name: "woman health worker", slug: "woman_health_worker", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง‘โ€๐ŸŽ“": { name: "student", slug: "student", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€๐ŸŽ“": { name: "man student", slug: "man_student", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฉโ€๐ŸŽ“": { name: "woman student", slug: "woman_student", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง‘โ€๐Ÿซ": { name: "teacher", slug: "teacher", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€๐Ÿซ": { name: "man teacher", slug: "man_teacher", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฉโ€๐Ÿซ": { name: "woman teacher", slug: "woman_teacher", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง‘โ€โš–๏ธ": { name: "judge", slug: "judge", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€โš–๏ธ": { name: "man judge", slug: "man_judge", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฉโ€โš–๏ธ": { name: "woman judge", slug: "woman_judge", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง‘โ€๐ŸŒพ": { name: "farmer", slug: "farmer", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€๐ŸŒพ": { name: "man farmer", slug: "man_farmer", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฉโ€๐ŸŒพ": { name: "woman farmer", slug: "woman_farmer", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง‘โ€๐Ÿณ": { name: "cook", slug: "cook", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€๐Ÿณ": { name: "man cook", slug: "man_cook", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฉโ€๐Ÿณ": { name: "woman cook", slug: "woman_cook", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง‘โ€๐Ÿ”ง": { name: "mechanic", slug: "mechanic", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€๐Ÿ”ง": { name: "man mechanic", slug: "man_mechanic", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฉโ€๐Ÿ”ง": { name: "woman mechanic", slug: "woman_mechanic", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง‘โ€๐Ÿญ": { name: "factory worker", slug: "factory_worker", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€๐Ÿญ": { name: "man factory worker", slug: "man_factory_worker", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฉโ€๐Ÿญ": { name: "woman factory worker", slug: "woman_factory_worker", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง‘โ€๐Ÿ’ผ": { name: "office worker", slug: "office_worker", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€๐Ÿ’ผ": { name: "man office worker", slug: "man_office_worker", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฉโ€๐Ÿ’ผ": { name: "woman office worker", slug: "woman_office_worker", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง‘โ€๐Ÿ”ฌ": { name: "scientist", slug: "scientist", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€๐Ÿ”ฌ": { name: "man scientist", slug: "man_scientist", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฉโ€๐Ÿ”ฌ": { name: "woman scientist", slug: "woman_scientist", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง‘โ€๐Ÿ’ป": { name: "technologist", slug: "technologist", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€๐Ÿ’ป": { name: "man technologist", slug: "man_technologist", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฉโ€๐Ÿ’ป": { name: "woman technologist", slug: "woman_technologist", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง‘โ€๐ŸŽค": { name: "singer", slug: "singer", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€๐ŸŽค": { name: "man singer", slug: "man_singer", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฉโ€๐ŸŽค": { name: "woman singer", slug: "woman_singer", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง‘โ€๐ŸŽจ": { name: "artist", slug: "artist", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€๐ŸŽจ": { name: "man artist", slug: "man_artist", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฉโ€๐ŸŽจ": { name: "woman artist", slug: "woman_artist", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง‘โ€โœˆ๏ธ": { name: "pilot", slug: "pilot", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€โœˆ๏ธ": { name: "man pilot", slug: "man_pilot", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฉโ€โœˆ๏ธ": { name: "woman pilot", slug: "woman_pilot", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง‘โ€๐Ÿš€": { name: "astronaut", slug: "astronaut", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€๐Ÿš€": { name: "man astronaut", slug: "man_astronaut", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฉโ€๐Ÿš€": { name: "woman astronaut", slug: "woman_astronaut", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง‘โ€๐Ÿš’": { name: "firefighter", slug: "firefighter", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€๐Ÿš’": { name: "man firefighter", slug: "man_firefighter", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฉโ€๐Ÿš’": { name: "woman firefighter", slug: "woman_firefighter", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฎ": { name: "police officer", slug: "police_officer", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ‘ฎโ€โ™‚๏ธ": { name: "man police officer", slug: "man_police_officer", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฎโ€โ™€๏ธ": { name: "woman police officer", slug: "woman_police_officer", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ•ต๏ธ": { name: "detective", slug: "detective", group: "People & Body", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: true, skin_tone_support_unicode_version: "2.0" }, "๐Ÿ•ต๏ธโ€โ™‚๏ธ": { name: "man detective", slug: "man_detective", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ•ต๏ธโ€โ™€๏ธ": { name: "woman detective", slug: "woman_detective", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ’‚": { name: "guard", slug: "guard", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ’‚โ€โ™‚๏ธ": { name: "man guard", slug: "man_guard", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ’‚โ€โ™€๏ธ": { name: "woman guard", slug: "woman_guard", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿฅท": { name: "ninja", slug: "ninja", group: "People & Body", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: true, skin_tone_support_unicode_version: "13.0" }, "๐Ÿ‘ท": { name: "construction worker", slug: "construction_worker", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ‘ทโ€โ™‚๏ธ": { name: "man construction worker", slug: "man_construction_worker", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ทโ€โ™€๏ธ": { name: "woman construction worker", slug: "woman_construction_worker", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿคด": { name: "prince", slug: "prince", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: true, skin_tone_support_unicode_version: "3.0" }, "๐Ÿ‘ธ": { name: "princess", slug: "princess", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ‘ณ": { name: "person wearing turban", slug: "person_wearing_turban", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ‘ณโ€โ™‚๏ธ": { name: "man wearing turban", slug: "man_wearing_turban", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ณโ€โ™€๏ธ": { name: "woman wearing turban", slug: "woman_wearing_turban", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฒ": { name: "person with skullcap", slug: "person_with_skullcap", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿง•": { name: "woman with headscarf", slug: "woman_with_headscarf", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿคต": { name: "person in tuxedo", slug: "person_in_tuxedo", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: true, skin_tone_support_unicode_version: "3.0" }, "๐Ÿคตโ€โ™‚๏ธ": { name: "man in tuxedo", slug: "man_in_tuxedo", group: "People & Body", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: true, skin_tone_support_unicode_version: "13.0" }, "๐Ÿคตโ€โ™€๏ธ": { name: "woman in tuxedo", slug: "woman_in_tuxedo", group: "People & Body", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: true, skin_tone_support_unicode_version: "13.0" }, "๐Ÿ‘ฐ": { name: "person with veil", slug: "person_with_veil", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ‘ฐโ€โ™‚๏ธ": { name: "man with veil", slug: "man_with_veil", group: "People & Body", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: true, skin_tone_support_unicode_version: "13.0" }, "๐Ÿ‘ฐโ€โ™€๏ธ": { name: "woman with veil", slug: "woman_with_veil", group: "People & Body", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: true, skin_tone_support_unicode_version: "13.0" }, "๐Ÿคฐ": { name: "pregnant woman", slug: "pregnant_woman", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: true, skin_tone_support_unicode_version: "3.0" }, "๐Ÿคฑ": { name: "breast-feeding", slug: "breast_feeding", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿ‘ฉโ€๐Ÿผ": { name: "woman feeding baby", slug: "woman_feeding_baby", group: "People & Body", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: true, skin_tone_support_unicode_version: "13.0" }, "๐Ÿ‘จโ€๐Ÿผ": { name: "man feeding baby", slug: "man_feeding_baby", group: "People & Body", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: true, skin_tone_support_unicode_version: "13.0" }, "๐Ÿง‘โ€๐Ÿผ": { name: "person feeding baby", slug: "person_feeding_baby", group: "People & Body", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: true, skin_tone_support_unicode_version: "13.0" }, "๐Ÿ‘ผ": { name: "baby angel", slug: "baby_angel", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐ŸŽ…": { name: "Santa Claus", slug: "santa_claus", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿคถ": { name: "Mrs. Claus", slug: "mrs_claus", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: true, skin_tone_support_unicode_version: "3.0" }, "๐Ÿง‘โ€๐ŸŽ„": { name: "mx claus", slug: "mx_claus", group: "People & Body", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: true, skin_tone_support_unicode_version: "13.0" }, "๐Ÿฆธ": { name: "superhero", slug: "superhero", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: true, skin_tone_support_unicode_version: "11.0" }, "๐Ÿฆธโ€โ™‚๏ธ": { name: "man superhero", slug: "man_superhero", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: true, skin_tone_support_unicode_version: "11.0" }, "๐Ÿฆธโ€โ™€๏ธ": { name: "woman superhero", slug: "woman_superhero", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: true, skin_tone_support_unicode_version: "11.0" }, "๐Ÿฆน": { name: "supervillain", slug: "supervillain", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: true, skin_tone_support_unicode_version: "11.0" }, "๐Ÿฆนโ€โ™‚๏ธ": { name: "man supervillain", slug: "man_supervillain", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: true, skin_tone_support_unicode_version: "11.0" }, "๐Ÿฆนโ€โ™€๏ธ": { name: "woman supervillain", slug: "woman_supervillain", group: "People & Body", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: true, skin_tone_support_unicode_version: "11.0" }, "๐Ÿง™": { name: "mage", slug: "mage", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿง™โ€โ™‚๏ธ": { name: "man mage", slug: "man_mage", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿง™โ€โ™€๏ธ": { name: "woman mage", slug: "woman_mage", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿงš": { name: "fairy", slug: "fairy", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿงšโ€โ™‚๏ธ": { name: "man fairy", slug: "man_fairy", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿงšโ€โ™€๏ธ": { name: "woman fairy", slug: "woman_fairy", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿง›": { name: "vampire", slug: "vampire", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿง›โ€โ™‚๏ธ": { name: "man vampire", slug: "man_vampire", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿง›โ€โ™€๏ธ": { name: "woman vampire", slug: "woman_vampire", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿงœ": { name: "merperson", slug: "merperson", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿงœโ€โ™‚๏ธ": { name: "merman", slug: "merman", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿงœโ€โ™€๏ธ": { name: "mermaid", slug: "mermaid", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿง": { name: "elf", slug: "elf", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿงโ€โ™‚๏ธ": { name: "man elf", slug: "man_elf", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿงโ€โ™€๏ธ": { name: "woman elf", slug: "woman_elf", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿงž": { name: "genie", slug: "genie", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿงžโ€โ™‚๏ธ": { name: "man genie", slug: "man_genie", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿงžโ€โ™€๏ธ": { name: "woman genie", slug: "woman_genie", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐ŸงŸ": { name: "zombie", slug: "zombie", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐ŸงŸโ€โ™‚๏ธ": { name: "man zombie", slug: "man_zombie", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐ŸงŸโ€โ™€๏ธ": { name: "woman zombie", slug: "woman_zombie", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿ’†": { name: "person getting massage", slug: "person_getting_massage", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ’†โ€โ™‚๏ธ": { name: "man getting massage", slug: "man_getting_massage", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ’†โ€โ™€๏ธ": { name: "woman getting massage", slug: "woman_getting_massage", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ’‡": { name: "person getting haircut", slug: "person_getting_haircut", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ’‡โ€โ™‚๏ธ": { name: "man getting haircut", slug: "man_getting_haircut", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ’‡โ€โ™€๏ธ": { name: "woman getting haircut", slug: "woman_getting_haircut", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿšถ": { name: "person walking", slug: "person_walking", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿšถโ€โ™‚๏ธ": { name: "man walking", slug: "man_walking", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿšถโ€โ™€๏ธ": { name: "woman walking", slug: "woman_walking", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง": { name: "person standing", slug: "person_standing", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐Ÿงโ€โ™‚๏ธ": { name: "man standing", slug: "man_standing", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐Ÿงโ€โ™€๏ธ": { name: "woman standing", slug: "woman_standing", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐ŸงŽ": { name: "person kneeling", slug: "person_kneeling", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐ŸงŽโ€โ™‚๏ธ": { name: "man kneeling", slug: "man_kneeling", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐ŸงŽโ€โ™€๏ธ": { name: "woman kneeling", slug: "woman_kneeling", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐Ÿง‘โ€๐Ÿฆฏ": { name: "person with white cane", slug: "person_with_white_cane", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€๐Ÿฆฏ": { name: "man with white cane", slug: "man_with_white_cane", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐Ÿ‘ฉโ€๐Ÿฆฏ": { name: "woman with white cane", slug: "woman_with_white_cane", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐Ÿง‘โ€๐Ÿฆผ": { name: "person in motorized wheelchair", slug: "person_in_motorized_wheelchair", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€๐Ÿฆผ": { name: "man in motorized wheelchair", slug: "man_in_motorized_wheelchair", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐Ÿ‘ฉโ€๐Ÿฆผ": { name: "woman in motorized wheelchair", slug: "woman_in_motorized_wheelchair", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐Ÿง‘โ€๐Ÿฆฝ": { name: "person in manual wheelchair", slug: "person_in_manual_wheelchair", group: "People & Body", emoji_version: "12.1", unicode_version: "12.1", skin_tone_support: true, skin_tone_support_unicode_version: "12.1" }, "๐Ÿ‘จโ€๐Ÿฆฝ": { name: "man in manual wheelchair", slug: "man_in_manual_wheelchair", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐Ÿ‘ฉโ€๐Ÿฆฝ": { name: "woman in manual wheelchair", slug: "woman_in_manual_wheelchair", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐Ÿƒ": { name: "person running", slug: "person_running", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿƒโ€โ™‚๏ธ": { name: "man running", slug: "man_running", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿƒโ€โ™€๏ธ": { name: "woman running", slug: "woman_running", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ’ƒ": { name: "woman dancing", slug: "woman_dancing", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ•บ": { name: "man dancing", slug: "man_dancing", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: true, skin_tone_support_unicode_version: "3.0" }, "๐Ÿ•ด๏ธ": { name: "person in suit levitating", slug: "person_in_suit_levitating", group: "People & Body", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‘ฏ": { name: "people with bunny ears", slug: "people_with_bunny_ears", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘ฏโ€โ™‚๏ธ": { name: "men with bunny ears", slug: "men_with_bunny_ears", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "๐Ÿ‘ฏโ€โ™€๏ธ": { name: "women with bunny ears", slug: "women_with_bunny_ears", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "๐Ÿง–": { name: "person in steamy room", slug: "person_in_steamy_room", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿง–โ€โ™‚๏ธ": { name: "man in steamy room", slug: "man_in_steamy_room", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿง–โ€โ™€๏ธ": { name: "woman in steamy room", slug: "woman_in_steamy_room", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿง—": { name: "person climbing", slug: "person_climbing", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿง—โ€โ™‚๏ธ": { name: "man climbing", slug: "man_climbing", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿง—โ€โ™€๏ธ": { name: "woman climbing", slug: "woman_climbing", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿคบ": { name: "person fencing", slug: "person_fencing", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿ‡": { name: "horse racing", slug: "horse_racing", group: "People & Body", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "โ›ท๏ธ": { name: "skier", slug: "skier", group: "People & Body", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ‚": { name: "snowboarder", slug: "snowboarder", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐ŸŒ๏ธ": { name: "person golfing", slug: "person_golfing", group: "People & Body", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐ŸŒ๏ธโ€โ™‚๏ธ": { name: "man golfing", slug: "man_golfing", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐ŸŒ๏ธโ€โ™€๏ธ": { name: "woman golfing", slug: "woman_golfing", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ„": { name: "person surfing", slug: "person_surfing", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ„โ€โ™‚๏ธ": { name: "man surfing", slug: "man_surfing", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ„โ€โ™€๏ธ": { name: "woman surfing", slug: "woman_surfing", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿšฃ": { name: "person rowing boat", slug: "person_rowing_boat", group: "People & Body", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿšฃโ€โ™‚๏ธ": { name: "man rowing boat", slug: "man_rowing_boat", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿšฃโ€โ™€๏ธ": { name: "woman rowing boat", slug: "woman_rowing_boat", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐ŸŠ": { name: "person swimming", slug: "person_swimming", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐ŸŠโ€โ™‚๏ธ": { name: "man swimming", slug: "man_swimming", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐ŸŠโ€โ™€๏ธ": { name: "woman swimming", slug: "woman_swimming", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "โ›น๏ธ": { name: "person bouncing ball", slug: "person_bouncing_ball", group: "People & Body", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: true, skin_tone_support_unicode_version: "2.0" }, "โ›น๏ธโ€โ™‚๏ธ": { name: "man bouncing ball", slug: "man_bouncing_ball", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "โ›น๏ธโ€โ™€๏ธ": { name: "woman bouncing ball", slug: "woman_bouncing_ball", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‹๏ธ": { name: "person lifting weights", slug: "person_lifting_weights", group: "People & Body", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: true, skin_tone_support_unicode_version: "2.0" }, "๐Ÿ‹๏ธโ€โ™‚๏ธ": { name: "man lifting weights", slug: "man_lifting_weights", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿ‹๏ธโ€โ™€๏ธ": { name: "woman lifting weights", slug: "woman_lifting_weights", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿšด": { name: "person biking", slug: "person_biking", group: "People & Body", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿšดโ€โ™‚๏ธ": { name: "man biking", slug: "man_biking", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿšดโ€โ™€๏ธ": { name: "woman biking", slug: "woman_biking", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿšต": { name: "person mountain biking", slug: "person_mountain_biking", group: "People & Body", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿšตโ€โ™‚๏ธ": { name: "man mountain biking", slug: "man_mountain_biking", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿšตโ€โ™€๏ธ": { name: "woman mountain biking", slug: "woman_mountain_biking", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿคธ": { name: "person cartwheeling", slug: "person_cartwheeling", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: true, skin_tone_support_unicode_version: "3.0" }, "๐Ÿคธโ€โ™‚๏ธ": { name: "man cartwheeling", slug: "man_cartwheeling", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿคธโ€โ™€๏ธ": { name: "woman cartwheeling", slug: "woman_cartwheeling", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿคผ": { name: "people wrestling", slug: "people_wrestling", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿคผโ€โ™‚๏ธ": { name: "men wrestling", slug: "men_wrestling", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "๐Ÿคผโ€โ™€๏ธ": { name: "women wrestling", slug: "women_wrestling", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "๐Ÿคฝ": { name: "person playing water polo", slug: "person_playing_water_polo", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: true, skin_tone_support_unicode_version: "3.0" }, "๐Ÿคฝโ€โ™‚๏ธ": { name: "man playing water polo", slug: "man_playing_water_polo", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿคฝโ€โ™€๏ธ": { name: "woman playing water polo", slug: "woman_playing_water_polo", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿคพ": { name: "person playing handball", slug: "person_playing_handball", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: true, skin_tone_support_unicode_version: "3.0" }, "๐Ÿคพโ€โ™‚๏ธ": { name: "man playing handball", slug: "man_playing_handball", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿคพโ€โ™€๏ธ": { name: "woman playing handball", slug: "woman_playing_handball", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿคน": { name: "person juggling", slug: "person_juggling", group: "People & Body", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: true, skin_tone_support_unicode_version: "3.0" }, "๐Ÿคนโ€โ™‚๏ธ": { name: "man juggling", slug: "man_juggling", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿคนโ€โ™€๏ธ": { name: "woman juggling", slug: "woman_juggling", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง˜": { name: "person in lotus position", slug: "person_in_lotus_position", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿง˜โ€โ™‚๏ธ": { name: "man in lotus position", slug: "man_in_lotus_position", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿง˜โ€โ™€๏ธ": { name: "woman in lotus position", slug: "woman_in_lotus_position", group: "People & Body", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: true, skin_tone_support_unicode_version: "5.0" }, "๐Ÿ›€": { name: "person taking bath", slug: "person_taking_bath", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "1.0" }, "๐Ÿ›Œ": { name: "person in bed", slug: "person_in_bed", group: "People & Body", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: true, skin_tone_support_unicode_version: "4.0" }, "๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘": { name: "people holding hands", slug: "people_holding_hands", group: "People & Body", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐Ÿ‘ญ": { name: "women holding hands", slug: "women_holding_hands", group: "People & Body", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐Ÿ‘ซ": { name: "woman and man holding hands", slug: "woman_and_man_holding_hands", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐Ÿ‘ฌ": { name: "men holding hands", slug: "men_holding_hands", group: "People & Body", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: true, skin_tone_support_unicode_version: "12.0" }, "๐Ÿ’": { name: "kiss", slug: "kiss", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ": { name: "kiss woman, man", slug: "kiss_woman_man", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘จโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ": { name: "kiss man, man", slug: "kiss_man_man", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ": { name: "kiss woman, woman", slug: "kiss_woman_woman", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ’‘": { name: "couple with heart", slug: "couple_with_heart", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘จ": { name: "couple with heart woman, man", slug: "couple_with_heart_woman_man", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘จโ€โค๏ธโ€๐Ÿ‘จ": { name: "couple with heart man, man", slug: "couple_with_heart_man_man", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ": { name: "couple with heart woman, woman", slug: "couple_with_heart_woman_woman", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘ช": { name: "family", slug: "family", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ": { name: "family man, woman, boy", slug: "family_man_woman_boy", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง": { name: "family man, woman, girl", slug: "family_man_woman_girl", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ": { name: "family man, woman, girl, boy", slug: "family_man_woman_girl_boy", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ": { name: "family man, woman, boy, boy", slug: "family_man_woman_boy_boy", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง": { name: "family man, woman, girl, girl", slug: "family_man_woman_girl_girl", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆ": { name: "family man, man, boy", slug: "family_man_man_boy", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ง": { name: "family man, man, girl", slug: "family_man_man_girl", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ": { name: "family man, man, girl, boy", slug: "family_man_man_girl_boy", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ": { name: "family man, man, boy, boy", slug: "family_man_man_boy_boy", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง": { name: "family man, man, girl, girl", slug: "family_man_man_girl_girl", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ": { name: "family woman, woman, boy", slug: "family_woman_woman_boy", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ง": { name: "family woman, woman, girl", slug: "family_woman_woman_girl", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ": { name: "family woman, woman, girl, boy", slug: "family_woman_woman_girl_boy", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ": { name: "family woman, woman, boy, boy", slug: "family_woman_woman_boy_boy", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง": { name: "family woman, woman, girl, girl", slug: "family_woman_woman_girl_girl", group: "People & Body", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‘จโ€๐Ÿ‘ฆ": { name: "family man, boy", slug: "family_man_boy", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ": { name: "family man, boy, boy", slug: "family_man_boy_boy", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "๐Ÿ‘จโ€๐Ÿ‘ง": { name: "family man, girl", slug: "family_man_girl", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ": { name: "family man, girl, boy", slug: "family_man_girl_boy", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง": { name: "family man, girl, girl", slug: "family_man_girl_girl", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "๐Ÿ‘ฉโ€๐Ÿ‘ฆ": { name: "family woman, boy", slug: "family_woman_boy", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ": { name: "family woman, boy, boy", slug: "family_woman_boy_boy", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "๐Ÿ‘ฉโ€๐Ÿ‘ง": { name: "family woman, girl", slug: "family_woman_girl", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ": { name: "family woman, girl, boy", slug: "family_woman_girl_boy", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง": { name: "family woman, girl, girl", slug: "family_woman_girl_girl", group: "People & Body", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "๐Ÿ—ฃ๏ธ": { name: "speaking head", slug: "speaking_head", group: "People & Body", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ‘ค": { name: "bust in silhouette", slug: "bust_in_silhouette", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘ฅ": { name: "busts in silhouette", slug: "busts_in_silhouette", group: "People & Body", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿซ‚": { name: "people hugging", slug: "people_hugging", group: "People & Body", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿ‘ฃ": { name: "footprints", slug: "footprints", group: "People & Body", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿต": { name: "monkey face", slug: "monkey_face", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’": { name: "monkey", slug: "monkey", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฆ": { name: "gorilla", slug: "gorilla", group: "Animals & Nature", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฆง": { name: "orangutan", slug: "orangutan", group: "Animals & Nature", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿถ": { name: "dog face", slug: "dog_face", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•": { name: "dog", slug: "dog", group: "Animals & Nature", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿฆฎ": { name: "guide dog", slug: "guide_dog", group: "Animals & Nature", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿ•โ€๐Ÿฆบ": { name: "service dog", slug: "service_dog", group: "Animals & Nature", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿฉ": { name: "poodle", slug: "poodle", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿบ": { name: "wolf", slug: "wolf", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸฆŠ": { name: "fox", slug: "fox", group: "Animals & Nature", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฆ": { name: "raccoon", slug: "raccoon", group: "Animals & Nature", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿฑ": { name: "cat face", slug: "cat_face", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿˆ": { name: "cat", slug: "cat", group: "Animals & Nature", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿˆโ€โฌ›": { name: "black cat", slug: "black_cat", group: "Animals & Nature", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿฆ": { name: "lion", slug: "lion", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿฏ": { name: "tiger face", slug: "tiger_face", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ…": { name: "tiger", slug: "tiger", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ†": { name: "leopard", slug: "leopard", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿด": { name: "horse face", slug: "horse_face", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽ": { name: "horse", slug: "horse", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฆ„": { name: "unicorn", slug: "unicorn", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿฆ“": { name: "zebra", slug: "zebra", group: "Animals & Nature", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐ŸฆŒ": { name: "deer", slug: "deer", group: "Animals & Nature", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฆฌ": { name: "bison", slug: "bison", group: "Animals & Nature", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿฎ": { name: "cow face", slug: "cow_face", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‚": { name: "ox", slug: "ox", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿƒ": { name: "water buffalo", slug: "water_buffalo", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ„": { name: "cow", slug: "cow", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿท": { name: "pig face", slug: "pig_face", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ–": { name: "pig", slug: "pig", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ—": { name: "boar", slug: "boar", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฝ": { name: "pig nose", slug: "pig_nose", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ": { name: "ram", slug: "ram", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ‘": { name: "ewe", slug: "ewe", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ": { name: "goat", slug: "goat", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿช": { name: "camel", slug: "camel", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿซ": { name: "two-hump camel", slug: "two_hump_camel", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฆ™": { name: "llama", slug: "llama", group: "Animals & Nature", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿฆ’": { name: "giraffe", slug: "giraffe", group: "Animals & Nature", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿ˜": { name: "elephant", slug: "elephant", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฆฃ": { name: "mammoth", slug: "mammoth", group: "Animals & Nature", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿฆ": { name: "rhinoceros", slug: "rhinoceros", group: "Animals & Nature", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฆ›": { name: "hippopotamus", slug: "hippopotamus", group: "Animals & Nature", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿญ": { name: "mouse face", slug: "mouse_face", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ": { name: "mouse", slug: "mouse", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ€": { name: "rat", slug: "rat", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿน": { name: "hamster", slug: "hamster", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฐ": { name: "rabbit face", slug: "rabbit_face", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‡": { name: "rabbit", slug: "rabbit", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿฟ๏ธ": { name: "chipmunk", slug: "chipmunk", group: "Animals & Nature", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿฆซ": { name: "beaver", slug: "beaver", group: "Animals & Nature", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿฆ”": { name: "hedgehog", slug: "hedgehog", group: "Animals & Nature", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿฆ‡": { name: "bat", slug: "bat", group: "Animals & Nature", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿป": { name: "bear", slug: "bear", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿปโ€โ„๏ธ": { name: "polar bear", slug: "polar_bear", group: "Animals & Nature", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿจ": { name: "koala", slug: "koala", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿผ": { name: "panda", slug: "panda", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฆฅ": { name: "sloth", slug: "sloth", group: "Animals & Nature", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿฆฆ": { name: "otter", slug: "otter", group: "Animals & Nature", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿฆจ": { name: "skunk", slug: "skunk", group: "Animals & Nature", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿฆ˜": { name: "kangaroo", slug: "kangaroo", group: "Animals & Nature", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿฆก": { name: "badger", slug: "badger", group: "Animals & Nature", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿพ": { name: "paw prints", slug: "paw_prints", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฆƒ": { name: "turkey", slug: "turkey", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ”": { name: "chicken", slug: "chicken", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“": { name: "rooster", slug: "rooster", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿฃ": { name: "hatching chick", slug: "hatching_chick", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿค": { name: "baby chick", slug: "baby_chick", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฅ": { name: "front-facing baby chick", slug: "front_facing_baby_chick", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฆ": { name: "bird", slug: "bird", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿง": { name: "penguin", slug: "penguin", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•Š๏ธ": { name: "dove", slug: "dove", group: "Animals & Nature", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿฆ…": { name: "eagle", slug: "eagle", group: "Animals & Nature", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฆ†": { name: "duck", slug: "duck", group: "Animals & Nature", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฆข": { name: "swan", slug: "swan", group: "Animals & Nature", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿฆ‰": { name: "owl", slug: "owl", group: "Animals & Nature", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฆค": { name: "dodo", slug: "dodo", group: "Animals & Nature", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿชถ": { name: "feather", slug: "feather", group: "Animals & Nature", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿฆฉ": { name: "flamingo", slug: "flamingo", group: "Animals & Nature", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿฆš": { name: "peacock", slug: "peacock", group: "Animals & Nature", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿฆœ": { name: "parrot", slug: "parrot", group: "Animals & Nature", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿธ": { name: "frog", slug: "frog", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŠ": { name: "crocodile", slug: "crocodile", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿข": { name: "turtle", slug: "turtle", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸฆŽ": { name: "lizard", slug: "lizard", group: "Animals & Nature", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿ": { name: "snake", slug: "snake", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฒ": { name: "dragon face", slug: "dragon_face", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‰": { name: "dragon", slug: "dragon", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿฆ•": { name: "sauropod", slug: "sauropod", group: "Animals & Nature", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿฆ–": { name: "T-Rex", slug: "t_rex", group: "Animals & Nature", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿณ": { name: "spouting whale", slug: "spouting_whale", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‹": { name: "whale", slug: "whale", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿฌ": { name: "dolphin", slug: "dolphin", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฆญ": { name: "seal", slug: "seal", group: "Animals & Nature", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐ŸŸ": { name: "fish", slug: "fish", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ ": { name: "tropical fish", slug: "tropical_fish", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿก": { name: "blowfish", slug: "blowfish", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฆˆ": { name: "shark", slug: "shark", group: "Animals & Nature", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿ™": { name: "octopus", slug: "octopus", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿš": { name: "spiral shell", slug: "spiral_shell", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒ": { name: "snail", slug: "snail", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฆ‹": { name: "butterfly", slug: "butterfly", group: "Animals & Nature", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿ›": { name: "bug", slug: "bug", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿœ": { name: "ant", slug: "ant", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ": { name: "honeybee", slug: "honeybee", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿชฒ": { name: "beetle", slug: "beetle", group: "Animals & Nature", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿž": { name: "lady beetle", slug: "lady_beetle", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฆ—": { name: "cricket", slug: "cricket", group: "Animals & Nature", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿชณ": { name: "cockroach", slug: "cockroach", group: "Animals & Nature", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿ•ท๏ธ": { name: "spider", slug: "spider", group: "Animals & Nature", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ•ธ๏ธ": { name: "spider web", slug: "spider_web", group: "Animals & Nature", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿฆ‚": { name: "scorpion", slug: "scorpion", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸฆŸ": { name: "mosquito", slug: "mosquito", group: "Animals & Nature", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿชฐ": { name: "fly", slug: "fly", group: "Animals & Nature", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿชฑ": { name: "worm", slug: "worm", group: "Animals & Nature", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿฆ ": { name: "microbe", slug: "microbe", group: "Animals & Nature", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿ’": { name: "bouquet", slug: "bouquet", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒธ": { name: "cherry blossom", slug: "cherry_blossom", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ฎ": { name: "white flower", slug: "white_flower", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿต๏ธ": { name: "rosette", slug: "rosette", group: "Animals & Nature", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŒน": { name: "rose", slug: "rose", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฅ€": { name: "wilted flower", slug: "wilted_flower", group: "Animals & Nature", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐ŸŒบ": { name: "hibiscus", slug: "hibiscus", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒป": { name: "sunflower", slug: "sunflower", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒผ": { name: "blossom", slug: "blossom", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒท": { name: "tulip", slug: "tulip", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒฑ": { name: "seedling", slug: "seedling", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿชด": { name: "potted plant", slug: "potted_plant", group: "Animals & Nature", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐ŸŒฒ": { name: "evergreen tree", slug: "evergreen_tree", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸŒณ": { name: "deciduous tree", slug: "deciduous_tree", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸŒด": { name: "palm tree", slug: "palm_tree", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒต": { name: "cactus", slug: "cactus", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒพ": { name: "sheaf of rice", slug: "sheaf_of_rice", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒฟ": { name: "herb", slug: "herb", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ˜˜๏ธ": { name: "shamrock", slug: "shamrock", group: "Animals & Nature", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ€": { name: "four leaf clover", slug: "four_leaf_clover", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ": { name: "maple leaf", slug: "maple_leaf", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‚": { name: "fallen leaf", slug: "fallen_leaf", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿƒ": { name: "leaf fluttering in wind", slug: "leaf_fluttering_in_wind", group: "Animals & Nature", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‡": { name: "grapes", slug: "grapes", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿˆ": { name: "melon", slug: "melon", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‰": { name: "watermelon", slug: "watermelon", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŠ": { name: "tangerine", slug: "tangerine", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‹": { name: "lemon", slug: "lemon", group: "Food & Drink", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸŒ": { name: "banana", slug: "banana", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ": { name: "pineapple", slug: "pineapple", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฅญ": { name: "mango", slug: "mango", group: "Food & Drink", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐ŸŽ": { name: "red apple", slug: "red_apple", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ": { name: "green apple", slug: "green_apple", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ": { name: "pear", slug: "pear", group: "Food & Drink", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ‘": { name: "peach", slug: "peach", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’": { name: "cherries", slug: "cherries", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“": { name: "strawberry", slug: "strawberry", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿซ": { name: "blueberries", slug: "blueberries", group: "Food & Drink", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿฅ": { name: "kiwi fruit", slug: "kiwi_fruit", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿ…": { name: "tomato", slug: "tomato", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿซ’": { name: "olive", slug: "olive", group: "Food & Drink", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿฅฅ": { name: "coconut", slug: "coconut", group: "Food & Drink", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿฅ‘": { name: "avocado", slug: "avocado", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿ†": { name: "eggplant", slug: "eggplant", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฅ”": { name: "potato", slug: "potato", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฅ•": { name: "carrot", slug: "carrot", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐ŸŒฝ": { name: "ear of corn", slug: "ear_of_corn", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒถ๏ธ": { name: "hot pepper", slug: "hot_pepper", group: "Food & Drink", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿซ‘": { name: "bell pepper", slug: "bell_pepper", group: "Food & Drink", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿฅ’": { name: "cucumber", slug: "cucumber", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฅฌ": { name: "leafy green", slug: "leafy_green", group: "Food & Drink", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿฅฆ": { name: "broccoli", slug: "broccoli", group: "Food & Drink", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿง„": { name: "garlic", slug: "garlic", group: "Food & Drink", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿง…": { name: "onion", slug: "onion", group: "Food & Drink", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿ„": { name: "mushroom", slug: "mushroom", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฅœ": { name: "peanuts", slug: "peanuts", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐ŸŒฐ": { name: "chestnut", slug: "chestnut", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿž": { name: "bread", slug: "bread", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฅ": { name: "croissant", slug: "croissant", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฅ–": { name: "baguette bread", slug: "baguette_bread", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿซ“": { name: "flatbread", slug: "flatbread", group: "Food & Drink", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿฅจ": { name: "pretzel", slug: "pretzel", group: "Food & Drink", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿฅฏ": { name: "bagel", slug: "bagel", group: "Food & Drink", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿฅž": { name: "pancakes", slug: "pancakes", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿง‡": { name: "waffle", slug: "waffle", group: "Food & Drink", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿง€": { name: "cheese wedge", slug: "cheese_wedge", group: "Food & Drink", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ–": { name: "meat on bone", slug: "meat_on_bone", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ—": { name: "poultry leg", slug: "poultry_leg", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฅฉ": { name: "cut of meat", slug: "cut_of_meat", group: "Food & Drink", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿฅ“": { name: "bacon", slug: "bacon", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿ”": { name: "hamburger", slug: "hamburger", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŸ": { name: "french fries", slug: "french_fries", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•": { name: "pizza", slug: "pizza", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒญ": { name: "hot dog", slug: "hot_dog", group: "Food & Drink", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿฅช": { name: "sandwich", slug: "sandwich", group: "Food & Drink", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐ŸŒฎ": { name: "taco", slug: "taco", group: "Food & Drink", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸŒฏ": { name: "burrito", slug: "burrito", group: "Food & Drink", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿซ”": { name: "tamale", slug: "tamale", group: "Food & Drink", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿฅ™": { name: "stuffed flatbread", slug: "stuffed_flatbread", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿง†": { name: "falafel", slug: "falafel", group: "Food & Drink", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿฅš": { name: "egg", slug: "egg", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿณ": { name: "cooking", slug: "cooking", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฅ˜": { name: "shallow pan of food", slug: "shallow_pan_of_food", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฒ": { name: "pot of food", slug: "pot_of_food", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿซ•": { name: "fondue", slug: "fondue", group: "Food & Drink", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿฅฃ": { name: "bowl with spoon", slug: "bowl_with_spoon", group: "Food & Drink", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿฅ—": { name: "green salad", slug: "green_salad", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฟ": { name: "popcorn", slug: "popcorn", group: "Food & Drink", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿงˆ": { name: "butter", slug: "butter", group: "Food & Drink", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿง‚": { name: "salt", slug: "salt", group: "Food & Drink", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿฅซ": { name: "canned food", slug: "canned_food", group: "Food & Drink", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿฑ": { name: "bento box", slug: "bento_box", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ˜": { name: "rice cracker", slug: "rice_cracker", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ™": { name: "rice ball", slug: "rice_ball", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿš": { name: "cooked rice", slug: "cooked_rice", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ›": { name: "curry rice", slug: "curry_rice", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿœ": { name: "steaming bowl", slug: "steaming_bowl", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ": { name: "spaghetti", slug: "spaghetti", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ ": { name: "roasted sweet potato", slug: "roasted_sweet_potato", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿข": { name: "oden", slug: "oden", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฃ": { name: "sushi", slug: "sushi", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿค": { name: "fried shrimp", slug: "fried_shrimp", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฅ": { name: "fish cake with swirl", slug: "fish_cake_with_swirl", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฅฎ": { name: "moon cake", slug: "moon_cake", group: "Food & Drink", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿก": { name: "dango", slug: "dango", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸฅŸ": { name: "dumpling", slug: "dumpling", group: "Food & Drink", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿฅ ": { name: "fortune cookie", slug: "fortune_cookie", group: "Food & Drink", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿฅก": { name: "takeout box", slug: "takeout_box", group: "Food & Drink", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿฆ€": { name: "crab", slug: "crab", group: "Food & Drink", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿฆž": { name: "lobster", slug: "lobster", group: "Food & Drink", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿฆ": { name: "shrimp", slug: "shrimp", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฆ‘": { name: "squid", slug: "squid", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฆช": { name: "oyster", slug: "oyster", group: "Food & Drink", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿฆ": { name: "soft ice cream", slug: "soft_ice_cream", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿง": { name: "shaved ice", slug: "shaved_ice", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿจ": { name: "ice cream", slug: "ice_cream", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฉ": { name: "doughnut", slug: "doughnut", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿช": { name: "cookie", slug: "cookie", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽ‚": { name: "birthday cake", slug: "birthday_cake", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฐ": { name: "shortcake", slug: "shortcake", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿง": { name: "cupcake", slug: "cupcake", group: "Food & Drink", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿฅง": { name: "pie", slug: "pie", group: "Food & Drink", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿซ": { name: "chocolate bar", slug: "chocolate_bar", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฌ": { name: "candy", slug: "candy", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿญ": { name: "lollipop", slug: "lollipop", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฎ": { name: "custard", slug: "custard", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฏ": { name: "honey pot", slug: "honey_pot", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿผ": { name: "baby bottle", slug: "baby_bottle", group: "Food & Drink", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿฅ›": { name: "glass of milk", slug: "glass_of_milk", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "โ˜•": { name: "hot beverage", slug: "hot_beverage", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿซ–": { name: "teapot", slug: "teapot", group: "Food & Drink", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿต": { name: "teacup without handle", slug: "teacup_without_handle", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿถ": { name: "sake", slug: "sake", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿพ": { name: "bottle with popping cork", slug: "bottle_with_popping_cork", group: "Food & Drink", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿท": { name: "wine glass", slug: "wine_glass", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿธ": { name: "cocktail glass", slug: "cocktail_glass", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿน": { name: "tropical drink", slug: "tropical_drink", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿบ": { name: "beer mug", slug: "beer_mug", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿป": { name: "clinking beer mugs", slug: "clinking_beer_mugs", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฅ‚": { name: "clinking glasses", slug: "clinking_glasses", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฅƒ": { name: "tumbler glass", slug: "tumbler_glass", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฅค": { name: "cup with straw", slug: "cup_with_straw", group: "Food & Drink", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿง‹": { name: "bubble tea", slug: "bubble_tea", group: "Food & Drink", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿงƒ": { name: "beverage box", slug: "beverage_box", group: "Food & Drink", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿง‰": { name: "mate", slug: "mate", group: "Food & Drink", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐ŸงŠ": { name: "ice", slug: "ice", group: "Food & Drink", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿฅข": { name: "chopsticks", slug: "chopsticks", group: "Food & Drink", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿฝ๏ธ": { name: "fork and knife with plate", slug: "fork_and_knife_with_plate", group: "Food & Drink", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿด": { name: "fork and knife", slug: "fork_and_knife", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฅ„": { name: "spoon", slug: "spoon", group: "Food & Drink", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿ”ช": { name: "kitchen knife", slug: "kitchen_knife", group: "Food & Drink", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿบ": { name: "amphora", slug: "amphora", group: "Food & Drink", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸŒ": { name: "globe showing Europe-Africa", slug: "globe_showing_europe_africa", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŒŽ": { name: "globe showing Americas", slug: "globe_showing_americas", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŒ": { name: "globe showing Asia-Australia", slug: "globe_showing_asia_australia", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒ": { name: "globe with meridians", slug: "globe_with_meridians", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ—บ๏ธ": { name: "world map", slug: "world_map", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ—พ": { name: "map of Japan", slug: "map_of_japan", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿงญ": { name: "compass", slug: "compass", group: "Travel & Places", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿ”๏ธ": { name: "snow-capped mountain", slug: "snow_capped_mountain", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โ›ฐ๏ธ": { name: "mountain", slug: "mountain", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŒ‹": { name: "volcano", slug: "volcano", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ—ป": { name: "mount fuji", slug: "mount_fuji", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•๏ธ": { name: "camping", slug: "camping", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ–๏ธ": { name: "beach with umbrella", slug: "beach_with_umbrella", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿœ๏ธ": { name: "desert", slug: "desert", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ๏ธ": { name: "desert island", slug: "desert_island", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿž๏ธ": { name: "national park", slug: "national_park", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŸ๏ธ": { name: "stadium", slug: "stadium", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ›๏ธ": { name: "classical building", slug: "classical_building", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ—๏ธ": { name: "building construction", slug: "building_construction", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿงฑ": { name: "brick", slug: "brick", group: "Travel & Places", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿชจ": { name: "rock", slug: "rock", group: "Travel & Places", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿชต": { name: "wood", slug: "wood", group: "Travel & Places", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿ›–": { name: "hut", slug: "hut", group: "Travel & Places", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿ˜๏ธ": { name: "houses", slug: "houses", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿš๏ธ": { name: "derelict house", slug: "derelict_house", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ ": { name: "house", slug: "house", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿก": { name: "house with garden", slug: "house_with_garden", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿข": { name: "office building", slug: "office_building", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฃ": { name: "Japanese post office", slug: "japanese_post_office", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿค": { name: "post office", slug: "post_office", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿฅ": { name: "hospital", slug: "hospital", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฆ": { name: "bank", slug: "bank", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿจ": { name: "hotel", slug: "hotel", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฉ": { name: "love hotel", slug: "love_hotel", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿช": { name: "convenience store", slug: "convenience_store", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿซ": { name: "school", slug: "school", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฌ": { name: "department store", slug: "department_store", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿญ": { name: "factory", slug: "factory", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฏ": { name: "Japanese castle", slug: "japanese_castle", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฐ": { name: "castle", slug: "castle", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’’": { name: "wedding", slug: "wedding", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ—ผ": { name: "Tokyo tower", slug: "tokyo_tower", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ—ฝ": { name: "Statue of Liberty", slug: "statue_of_liberty", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ›ช": { name: "church", slug: "church", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•Œ": { name: "mosque", slug: "mosque", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ›•": { name: "hindu temple", slug: "hindu_temple", group: "Travel & Places", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿ•": { name: "synagogue", slug: "synagogue", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "โ›ฉ๏ธ": { name: "shinto shrine", slug: "shinto_shrine", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ•‹": { name: "kaaba", slug: "kaaba", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "โ›ฒ": { name: "fountain", slug: "fountain", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ›บ": { name: "tent", slug: "tent", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒ": { name: "foggy", slug: "foggy", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒƒ": { name: "night with stars", slug: "night_with_stars", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ™๏ธ": { name: "cityscape", slug: "cityscape", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŒ„": { name: "sunrise over mountains", slug: "sunrise_over_mountains", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒ…": { name: "sunrise", slug: "sunrise", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒ†": { name: "cityscape at dusk", slug: "cityscape_at_dusk", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒ‡": { name: "sunset", slug: "sunset", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒ‰": { name: "bridge at night", slug: "bridge_at_night", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™จ๏ธ": { name: "hot springs", slug: "hot_springs", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽ ": { name: "carousel horse", slug: "carousel_horse", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽก": { name: "ferris wheel", slug: "ferris_wheel", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽข": { name: "roller coaster", slug: "roller_coaster", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ˆ": { name: "barber pole", slug: "barber_pole", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽช": { name: "circus tent", slug: "circus_tent", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿš‚": { name: "locomotive", slug: "locomotive", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿšƒ": { name: "railway car", slug: "railway_car", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿš„": { name: "high-speed train", slug: "high_speed_train", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿš…": { name: "bullet train", slug: "bullet_train", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿš†": { name: "train", slug: "train", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿš‡": { name: "metro", slug: "metro", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿšˆ": { name: "light rail", slug: "light_rail", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿš‰": { name: "station", slug: "station", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸšŠ": { name: "tram", slug: "tram", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿš": { name: "monorail", slug: "monorail", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿšž": { name: "mountain railway", slug: "mountain_railway", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿš‹": { name: "tram car", slug: "tram_car", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸšŒ": { name: "bus", slug: "bus", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿš": { name: "oncoming bus", slug: "oncoming_bus", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸšŽ": { name: "trolleybus", slug: "trolleybus", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿš": { name: "minibus", slug: "minibus", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿš‘": { name: "ambulance", slug: "ambulance", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿš’": { name: "fire engine", slug: "fire_engine", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿš“": { name: "police car", slug: "police_car", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿš”": { name: "oncoming police car", slug: "oncoming_police_car", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿš•": { name: "taxi", slug: "taxi", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿš–": { name: "oncoming taxi", slug: "oncoming_taxi", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿš—": { name: "automobile", slug: "automobile", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿš˜": { name: "oncoming automobile", slug: "oncoming_automobile", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿš™": { name: "sport utility vehicle", slug: "sport_utility_vehicle", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ›ป": { name: "pickup truck", slug: "pickup_truck", group: "Travel & Places", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿšš": { name: "delivery truck", slug: "delivery_truck", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿš›": { name: "articulated lorry", slug: "articulated_lorry", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿšœ": { name: "tractor", slug: "tractor", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸŽ๏ธ": { name: "racing car", slug: "racing_car", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ๏ธ": { name: "motorcycle", slug: "motorcycle", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ›ต": { name: "motor scooter", slug: "motor_scooter", group: "Travel & Places", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฆฝ": { name: "manual wheelchair", slug: "manual_wheelchair", group: "Travel & Places", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿฆผ": { name: "motorized wheelchair", slug: "motorized_wheelchair", group: "Travel & Places", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿ›บ": { name: "auto rickshaw", slug: "auto_rickshaw", group: "Travel & Places", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿšฒ": { name: "bicycle", slug: "bicycle", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ›ด": { name: "kick scooter", slug: "kick_scooter", group: "Travel & Places", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿ›น": { name: "skateboard", slug: "skateboard", group: "Travel & Places", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿ›ผ": { name: "roller skate", slug: "roller_skate", group: "Travel & Places", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿš": { name: "bus stop", slug: "bus_stop", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ›ฃ๏ธ": { name: "motorway", slug: "motorway", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ›ค๏ธ": { name: "railway track", slug: "railway_track", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ›ข๏ธ": { name: "oil drum", slug: "oil_drum", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โ›ฝ": { name: "fuel pump", slug: "fuel_pump", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿšจ": { name: "police car light", slug: "police_car_light", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿšฅ": { name: "horizontal traffic light", slug: "horizontal_traffic_light", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿšฆ": { name: "vertical traffic light", slug: "vertical_traffic_light", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ›‘": { name: "stop sign", slug: "stop_sign", group: "Travel & Places", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿšง": { name: "construction", slug: "construction", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โš“": { name: "anchor", slug: "anchor", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ›ต": { name: "sailboat", slug: "sailboat", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ›ถ": { name: "canoe", slug: "canoe", group: "Travel & Places", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿšค": { name: "speedboat", slug: "speedboat", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ›ณ๏ธ": { name: "passenger ship", slug: "passenger_ship", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โ›ด๏ธ": { name: "ferry", slug: "ferry", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ›ฅ๏ธ": { name: "motor boat", slug: "motor_boat", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿšข": { name: "ship", slug: "ship", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โœˆ๏ธ": { name: "airplane", slug: "airplane", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ›ฉ๏ธ": { name: "small airplane", slug: "small_airplane", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ›ซ": { name: "airplane departure", slug: "airplane_departure", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ›ฌ": { name: "airplane arrival", slug: "airplane_arrival", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿช‚": { name: "parachute", slug: "parachute", group: "Travel & Places", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿ’บ": { name: "seat", slug: "seat", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿš": { name: "helicopter", slug: "helicopter", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸšŸ": { name: "suspension railway", slug: "suspension_railway", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿš ": { name: "mountain cableway", slug: "mountain_cableway", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿšก": { name: "aerial tramway", slug: "aerial_tramway", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ›ฐ๏ธ": { name: "satellite", slug: "satellite", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿš€": { name: "rocket", slug: "rocket", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ›ธ": { name: "flying saucer", slug: "flying_saucer", group: "Travel & Places", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿ›Ž๏ธ": { name: "bellhop bell", slug: "bellhop_bell", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿงณ": { name: "luggage", slug: "luggage", group: "Travel & Places", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "โŒ›": { name: "hourglass done", slug: "hourglass_done", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โณ": { name: "hourglass not done", slug: "hourglass_not_done", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โŒš": { name: "watch", slug: "watch", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โฐ": { name: "alarm clock", slug: "alarm_clock", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โฑ๏ธ": { name: "stopwatch", slug: "stopwatch", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "โฒ๏ธ": { name: "timer clock", slug: "timer_clock", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ•ฐ๏ธ": { name: "mantelpiece clock", slug: "mantelpiece_clock", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ•›": { name: "twelve oโ€™clock", slug: "twelve_o_clock", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•ง": { name: "twelve-thirty", slug: "twelve_thirty", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ•": { name: "one oโ€™clock", slug: "one_o_clock", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•œ": { name: "one-thirty", slug: "one_thirty", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ•‘": { name: "two oโ€™clock", slug: "two_o_clock", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•": { name: "two-thirty", slug: "two_thirty", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ•’": { name: "three oโ€™clock", slug: "three_o_clock", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•ž": { name: "three-thirty", slug: "three_thirty", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ•“": { name: "four oโ€™clock", slug: "four_o_clock", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•Ÿ": { name: "four-thirty", slug: "four_thirty", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ•”": { name: "five oโ€™clock", slug: "five_o_clock", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ• ": { name: "five-thirty", slug: "five_thirty", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ••": { name: "six oโ€™clock", slug: "six_o_clock", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•ก": { name: "six-thirty", slug: "six_thirty", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ•–": { name: "seven oโ€™clock", slug: "seven_o_clock", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•ข": { name: "seven-thirty", slug: "seven_thirty", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ•—": { name: "eight oโ€™clock", slug: "eight_o_clock", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•ฃ": { name: "eight-thirty", slug: "eight_thirty", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ•˜": { name: "nine oโ€™clock", slug: "nine_o_clock", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•ค": { name: "nine-thirty", slug: "nine_thirty", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ•™": { name: "ten oโ€™clock", slug: "ten_o_clock", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•ฅ": { name: "ten-thirty", slug: "ten_thirty", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ•š": { name: "eleven oโ€™clock", slug: "eleven_o_clock", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•ฆ": { name: "eleven-thirty", slug: "eleven_thirty", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŒ‘": { name: "new moon", slug: "new_moon", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒ’": { name: "waxing crescent moon", slug: "waxing_crescent_moon", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸŒ“": { name: "first quarter moon", slug: "first_quarter_moon", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒ”": { name: "waxing gibbous moon", slug: "waxing_gibbous_moon", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒ•": { name: "full moon", slug: "full_moon", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒ–": { name: "waning gibbous moon", slug: "waning_gibbous_moon", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸŒ—": { name: "last quarter moon", slug: "last_quarter_moon", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸŒ˜": { name: "waning crescent moon", slug: "waning_crescent_moon", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸŒ™": { name: "crescent moon", slug: "crescent_moon", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒš": { name: "new moon face", slug: "new_moon_face", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸŒ›": { name: "first quarter moon face", slug: "first_quarter_moon_face", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒœ": { name: "last quarter moon face", slug: "last_quarter_moon_face", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŒก๏ธ": { name: "thermometer", slug: "thermometer", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โ˜€๏ธ": { name: "sun", slug: "sun", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒ": { name: "full moon face", slug: "full_moon_face", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸŒž": { name: "sun with face", slug: "sun_with_face", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿช": { name: "ringed planet", slug: "ringed_planet", group: "Travel & Places", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "โญ": { name: "star", slug: "star", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒŸ": { name: "glowing star", slug: "glowing_star", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒ ": { name: "shooting star", slug: "shooting_star", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒŒ": { name: "milky way", slug: "milky_way", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ˜๏ธ": { name: "cloud", slug: "cloud", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ›…": { name: "sun behind cloud", slug: "sun_behind_cloud", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ›ˆ๏ธ": { name: "cloud with lightning and rain", slug: "cloud_with_lightning_and_rain", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŒค๏ธ": { name: "sun behind small cloud", slug: "sun_behind_small_cloud", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŒฅ๏ธ": { name: "sun behind large cloud", slug: "sun_behind_large_cloud", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŒฆ๏ธ": { name: "sun behind rain cloud", slug: "sun_behind_rain_cloud", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŒง๏ธ": { name: "cloud with rain", slug: "cloud_with_rain", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŒจ๏ธ": { name: "cloud with snow", slug: "cloud_with_snow", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŒฉ๏ธ": { name: "cloud with lightning", slug: "cloud_with_lightning", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŒช๏ธ": { name: "tornado", slug: "tornado", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŒซ๏ธ": { name: "fog", slug: "fog", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŒฌ๏ธ": { name: "wind face", slug: "wind_face", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŒ€": { name: "cyclone", slug: "cyclone", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒˆ": { name: "rainbow", slug: "rainbow", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒ‚": { name: "closed umbrella", slug: "closed_umbrella", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ˜‚๏ธ": { name: "umbrella", slug: "umbrella", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โ˜”": { name: "umbrella with rain drops", slug: "umbrella_with_rain_drops", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ›ฑ๏ธ": { name: "umbrella on ground", slug: "umbrella_on_ground", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โšก": { name: "high voltage", slug: "high_voltage", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ„๏ธ": { name: "snowflake", slug: "snowflake", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ˜ƒ๏ธ": { name: "snowman", slug: "snowman", group: "Travel & Places", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โ›„": { name: "snowman without snow", slug: "snowman_without_snow", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ˜„๏ธ": { name: "comet", slug: "comet", group: "Travel & Places", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ”ฅ": { name: "fire", slug: "fire", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ง": { name: "droplet", slug: "droplet", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŒŠ": { name: "water wave", slug: "water_wave", group: "Travel & Places", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽƒ": { name: "jack-o-lantern", slug: "jack_o_lantern", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽ„": { name: "Christmas tree", slug: "christmas_tree", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽ†": { name: "fireworks", slug: "fireworks", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽ‡": { name: "sparkler", slug: "sparkler", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿงจ": { name: "firecracker", slug: "firecracker", group: "Activities", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "โœจ": { name: "sparkles", slug: "sparkles", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽˆ": { name: "balloon", slug: "balloon", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽ‰": { name: "party popper", slug: "party_popper", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽŠ": { name: "confetti ball", slug: "confetti_ball", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽ‹": { name: "tanabata tree", slug: "tanabata_tree", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽ": { name: "pine decoration", slug: "pine_decoration", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽŽ": { name: "Japanese dolls", slug: "japanese_dolls", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽ": { name: "carp streamer", slug: "carp_streamer", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽ": { name: "wind chime", slug: "wind_chime", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽ‘": { name: "moon viewing ceremony", slug: "moon_viewing_ceremony", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿงง": { name: "red envelope", slug: "red_envelope", group: "Activities", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐ŸŽ€": { name: "ribbon", slug: "ribbon", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽ": { name: "wrapped gift", slug: "wrapped_gift", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽ—๏ธ": { name: "reminder ribbon", slug: "reminder_ribbon", group: "Activities", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŽŸ๏ธ": { name: "admission tickets", slug: "admission_tickets", group: "Activities", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŽซ": { name: "ticket", slug: "ticket", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽ–๏ธ": { name: "military medal", slug: "military_medal", group: "Activities", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ†": { name: "trophy", slug: "trophy", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ…": { name: "sports medal", slug: "sports_medal", group: "Activities", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿฅ‡": { name: "1st place medal", slug: "1st_place_medal", group: "Activities", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฅˆ": { name: "2nd place medal", slug: "2nd_place_medal", group: "Activities", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฅ‰": { name: "3rd place medal", slug: "3rd_place_medal", group: "Activities", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "โšฝ": { name: "soccer ball", slug: "soccer_ball", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โšพ": { name: "baseball", slug: "baseball", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸฅŽ": { name: "softball", slug: "softball", group: "Activities", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿ€": { name: "basketball", slug: "basketball", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ": { name: "volleyball", slug: "volleyball", group: "Activities", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿˆ": { name: "american football", slug: "american_football", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‰": { name: "rugby football", slug: "rugby_football", group: "Activities", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸŽพ": { name: "tennis", slug: "tennis", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฅ": { name: "flying disc", slug: "flying_disc", group: "Activities", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐ŸŽณ": { name: "bowling", slug: "bowling", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ": { name: "cricket game", slug: "cricket_game", group: "Activities", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ‘": { name: "field hockey", slug: "field_hockey", group: "Activities", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ’": { name: "ice hockey", slug: "ice_hockey", group: "Activities", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿฅ": { name: "lacrosse", slug: "lacrosse", group: "Activities", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿ“": { name: "ping pong", slug: "ping_pong", group: "Activities", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿธ": { name: "badminton", slug: "badminton", group: "Activities", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸฅŠ": { name: "boxing glove", slug: "boxing_glove", group: "Activities", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฅ‹": { name: "martial arts uniform", slug: "martial_arts_uniform", group: "Activities", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿฅ…": { name: "goal net", slug: "goal_net", group: "Activities", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "โ›ณ": { name: "flag in hole", slug: "flag_in_hole", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ›ธ๏ธ": { name: "ice skate", slug: "ice_skate", group: "Activities", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŽฃ": { name: "fishing pole", slug: "fishing_pole", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿคฟ": { name: "diving mask", slug: "diving_mask", group: "Activities", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐ŸŽฝ": { name: "running shirt", slug: "running_shirt", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽฟ": { name: "skis", slug: "skis", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ›ท": { name: "sled", slug: "sled", group: "Activities", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐ŸฅŒ": { name: "curling stone", slug: "curling_stone", group: "Activities", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐ŸŽฏ": { name: "direct hit", slug: "direct_hit", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿช€": { name: "yo-yo", slug: "yo_yo", group: "Activities", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿช": { name: "kite", slug: "kite", group: "Activities", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐ŸŽฑ": { name: "pool 8 ball", slug: "pool_8_ball", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”ฎ": { name: "crystal ball", slug: "crystal_ball", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿช„": { name: "magic wand", slug: "magic_wand", group: "Activities", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿงฟ": { name: "nazar amulet", slug: "nazar_amulet", group: "Activities", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐ŸŽฎ": { name: "video game", slug: "video_game", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•น๏ธ": { name: "joystick", slug: "joystick", group: "Activities", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŽฐ": { name: "slot machine", slug: "slot_machine", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽฒ": { name: "game die", slug: "game_die", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿงฉ": { name: "puzzle piece", slug: "puzzle_piece", group: "Activities", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿงธ": { name: "teddy bear", slug: "teddy_bear", group: "Activities", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿช…": { name: "piรฑata", slug: "pinata", group: "Activities", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿช†": { name: "nesting dolls", slug: "nesting_dolls", group: "Activities", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "โ™ ๏ธ": { name: "spade suit", slug: "spade_suit", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™ฅ๏ธ": { name: "heart suit", slug: "heart_suit", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™ฆ๏ธ": { name: "diamond suit", slug: "diamond_suit", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™ฃ๏ธ": { name: "club suit", slug: "club_suit", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™Ÿ๏ธ": { name: "chess pawn", slug: "chess_pawn", group: "Activities", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿƒ": { name: "joker", slug: "joker", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ€„": { name: "mahjong red dragon", slug: "mahjong_red_dragon", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽด": { name: "flower playing cards", slug: "flower_playing_cards", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽญ": { name: "performing arts", slug: "performing_arts", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ–ผ๏ธ": { name: "framed picture", slug: "framed_picture", group: "Activities", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŽจ": { name: "artist palette", slug: "artist_palette", group: "Activities", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿงต": { name: "thread", slug: "thread", group: "Activities", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿชก": { name: "sewing needle", slug: "sewing_needle", group: "Activities", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿงถ": { name: "yarn", slug: "yarn", group: "Activities", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿชข": { name: "knot", slug: "knot", group: "Activities", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿ‘“": { name: "glasses", slug: "glasses", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•ถ๏ธ": { name: "sunglasses", slug: "sunglasses", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿฅฝ": { name: "goggles", slug: "goggles", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿฅผ": { name: "lab coat", slug: "lab_coat", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿฆบ": { name: "safety vest", slug: "safety_vest", group: "Objects", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿ‘”": { name: "necktie", slug: "necktie", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘•": { name: "t-shirt", slug: "t_shirt", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘–": { name: "jeans", slug: "jeans", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿงฃ": { name: "scarf", slug: "scarf", group: "Objects", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿงค": { name: "gloves", slug: "gloves", group: "Objects", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿงฅ": { name: "coat", slug: "coat", group: "Objects", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿงฆ": { name: "socks", slug: "socks", group: "Objects", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿ‘—": { name: "dress", slug: "dress", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘˜": { name: "kimono", slug: "kimono", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฅป": { name: "sari", slug: "sari", group: "Objects", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿฉฑ": { name: "one-piece swimsuit", slug: "one_piece_swimsuit", group: "Objects", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿฉฒ": { name: "briefs", slug: "briefs", group: "Objects", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿฉณ": { name: "shorts", slug: "shorts", group: "Objects", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿ‘™": { name: "bikini", slug: "bikini", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘š": { name: "womanโ€™s clothes", slug: "woman_s_clothes", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘›": { name: "purse", slug: "purse", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘œ": { name: "handbag", slug: "handbag", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘": { name: "clutch bag", slug: "clutch_bag", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ›๏ธ": { name: "shopping bags", slug: "shopping_bags", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŽ’": { name: "backpack", slug: "backpack", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฉด": { name: "thong sandal", slug: "thong_sandal", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿ‘ž": { name: "manโ€™s shoe", slug: "man_s_shoe", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘Ÿ": { name: "running shoe", slug: "running_shoe", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฅพ": { name: "hiking boot", slug: "hiking_boot", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿฅฟ": { name: "flat shoe", slug: "flat_shoe", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿ‘ ": { name: "high-heeled shoe", slug: "high_heeled_shoe", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘ก": { name: "womanโ€™s sandal", slug: "woman_s_sandal", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฉฐ": { name: "ballet shoes", slug: "ballet_shoes", group: "Objects", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿ‘ข": { name: "womanโ€™s boot", slug: "woman_s_boot", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘‘": { name: "crown", slug: "crown", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‘’": { name: "womanโ€™s hat", slug: "woman_s_hat", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽฉ": { name: "top hat", slug: "top_hat", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽ“": { name: "graduation cap", slug: "graduation_cap", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿงข": { name: "billed cap", slug: "billed_cap", group: "Objects", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿช–": { name: "military helmet", slug: "military_helmet", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "โ›‘๏ธ": { name: "rescue workerโ€™s helmet", slug: "rescue_worker_s_helmet", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ“ฟ": { name: "prayer beads", slug: "prayer_beads", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ’„": { name: "lipstick", slug: "lipstick", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’": { name: "ring", slug: "ring", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’Ž": { name: "gem stone", slug: "gem_stone", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”‡": { name: "muted speaker", slug: "muted_speaker", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ”ˆ": { name: "speaker low volume", slug: "speaker_low_volume", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ”‰": { name: "speaker medium volume", slug: "speaker_medium_volume", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ”Š": { name: "speaker high volume", slug: "speaker_high_volume", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ข": { name: "loudspeaker", slug: "loudspeaker", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ฃ": { name: "megaphone", slug: "megaphone", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ฏ": { name: "postal horn", slug: "postal_horn", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ””": { name: "bell", slug: "bell", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”•": { name: "bell with slash", slug: "bell_with_slash", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸŽผ": { name: "musical score", slug: "musical_score", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽต": { name: "musical note", slug: "musical_note", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽถ": { name: "musical notes", slug: "musical_notes", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽ™๏ธ": { name: "studio microphone", slug: "studio_microphone", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŽš๏ธ": { name: "level slider", slug: "level_slider", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŽ›๏ธ": { name: "control knobs", slug: "control_knobs", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŽค": { name: "microphone", slug: "microphone", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽง": { name: "headphone", slug: "headphone", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ป": { name: "radio", slug: "radio", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽท": { name: "saxophone", slug: "saxophone", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿช—": { name: "accordion", slug: "accordion", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐ŸŽธ": { name: "guitar", slug: "guitar", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽน": { name: "musical keyboard", slug: "musical_keyboard", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽบ": { name: "trumpet", slug: "trumpet", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽป": { name: "violin", slug: "violin", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿช•": { name: "banjo", slug: "banjo", group: "Objects", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿฅ": { name: "drum", slug: "drum", group: "Objects", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿช˜": { name: "long drum", slug: "long_drum", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿ“ฑ": { name: "mobile phone", slug: "mobile_phone", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ฒ": { name: "mobile phone with arrow", slug: "mobile_phone_with_arrow", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ˜Ž๏ธ": { name: "telephone", slug: "telephone", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ž": { name: "telephone receiver", slug: "telephone_receiver", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“Ÿ": { name: "pager", slug: "pager", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ ": { name: "fax machine", slug: "fax_machine", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”‹": { name: "battery", slug: "battery", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”Œ": { name: "electric plug", slug: "electric_plug", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ป": { name: "laptop", slug: "laptop", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ–ฅ๏ธ": { name: "desktop computer", slug: "desktop_computer", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ–จ๏ธ": { name: "printer", slug: "printer", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โŒจ๏ธ": { name: "keyboard", slug: "keyboard", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ–ฑ๏ธ": { name: "computer mouse", slug: "computer_mouse", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ–ฒ๏ธ": { name: "trackball", slug: "trackball", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ’ฝ": { name: "computer disk", slug: "computer_disk", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’พ": { name: "floppy disk", slug: "floppy_disk", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ฟ": { name: "optical disk", slug: "optical_disk", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“€": { name: "dvd", slug: "dvd", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿงฎ": { name: "abacus", slug: "abacus", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐ŸŽฅ": { name: "movie camera", slug: "movie_camera", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽž๏ธ": { name: "film frames", slug: "film_frames", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ“ฝ๏ธ": { name: "film projector", slug: "film_projector", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐ŸŽฌ": { name: "clapper board", slug: "clapper_board", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“บ": { name: "television", slug: "television", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ท": { name: "camera", slug: "camera", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ธ": { name: "camera with flash", slug: "camera_with_flash", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ“น": { name: "video camera", slug: "video_camera", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ผ": { name: "videocassette", slug: "videocassette", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”": { name: "magnifying glass tilted left", slug: "magnifying_glass_tilted_left", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”Ž": { name: "magnifying glass tilted right", slug: "magnifying_glass_tilted_right", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ•ฏ๏ธ": { name: "candle", slug: "candle", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ’ก": { name: "light bulb", slug: "light_bulb", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”ฆ": { name: "flashlight", slug: "flashlight", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฎ": { name: "red paper lantern", slug: "red_paper_lantern", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿช”": { name: "diya lamp", slug: "diya_lamp", group: "Objects", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿ“”": { name: "notebook with decorative cover", slug: "notebook_with_decorative_cover", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“•": { name: "closed book", slug: "closed_book", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“–": { name: "open book", slug: "open_book", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“—": { name: "green book", slug: "green_book", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“˜": { name: "blue book", slug: "blue_book", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“™": { name: "orange book", slug: "orange_book", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“š": { name: "books", slug: "books", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ““": { name: "notebook", slug: "notebook", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“’": { name: "ledger", slug: "ledger", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ƒ": { name: "page with curl", slug: "page_with_curl", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“œ": { name: "scroll", slug: "scroll", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“„": { name: "page facing up", slug: "page_facing_up", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ฐ": { name: "newspaper", slug: "newspaper", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ—ž๏ธ": { name: "rolled-up newspaper", slug: "rolled_up_newspaper", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ“‘": { name: "bookmark tabs", slug: "bookmark_tabs", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”–": { name: "bookmark", slug: "bookmark", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿท๏ธ": { name: "label", slug: "label", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ’ฐ": { name: "money bag", slug: "money_bag", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿช™": { name: "coin", slug: "coin", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿ’ด": { name: "yen banknote", slug: "yen_banknote", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ต": { name: "dollar banknote", slug: "dollar_banknote", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ถ": { name: "euro banknote", slug: "euro_banknote", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ’ท": { name: "pound banknote", slug: "pound_banknote", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ’ธ": { name: "money with wings", slug: "money_with_wings", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ณ": { name: "credit card", slug: "credit_card", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿงพ": { name: "receipt", slug: "receipt", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿ’น": { name: "chart increasing with yen", slug: "chart_increasing_with_yen", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โœ‰๏ธ": { name: "envelope", slug: "envelope", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ง": { name: "e-mail", slug: "e_mail", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“จ": { name: "incoming envelope", slug: "incoming_envelope", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ฉ": { name: "envelope with arrow", slug: "envelope_with_arrow", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ค": { name: "outbox tray", slug: "outbox_tray", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ฅ": { name: "inbox tray", slug: "inbox_tray", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ฆ": { name: "package", slug: "package", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ซ": { name: "closed mailbox with raised flag", slug: "closed_mailbox_with_raised_flag", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ช": { name: "closed mailbox with lowered flag", slug: "closed_mailbox_with_lowered_flag", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ฌ": { name: "open mailbox with raised flag", slug: "open_mailbox_with_raised_flag", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ“ญ": { name: "open mailbox with lowered flag", slug: "open_mailbox_with_lowered_flag", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ“ฎ": { name: "postbox", slug: "postbox", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ—ณ๏ธ": { name: "ballot box with ballot", slug: "ballot_box_with_ballot", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โœ๏ธ": { name: "pencil", slug: "pencil", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โœ’๏ธ": { name: "black nib", slug: "black_nib", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ–‹๏ธ": { name: "fountain pen", slug: "fountain_pen", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ–Š๏ธ": { name: "pen", slug: "pen", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ–Œ๏ธ": { name: "paintbrush", slug: "paintbrush", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ–๏ธ": { name: "crayon", slug: "crayon", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ“": { name: "memo", slug: "memo", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ผ": { name: "briefcase", slug: "briefcase", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“": { name: "file folder", slug: "file_folder", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“‚": { name: "open file folder", slug: "open_file_folder", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ—‚๏ธ": { name: "card index dividers", slug: "card_index_dividers", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ“…": { name: "calendar", slug: "calendar", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“†": { name: "tear-off calendar", slug: "tear_off_calendar", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ—’๏ธ": { name: "spiral notepad", slug: "spiral_notepad", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ—“๏ธ": { name: "spiral calendar", slug: "spiral_calendar", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ“‡": { name: "card index", slug: "card_index", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ˆ": { name: "chart increasing", slug: "chart_increasing", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“‰": { name: "chart decreasing", slug: "chart_decreasing", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“Š": { name: "bar chart", slug: "bar_chart", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“‹": { name: "clipboard", slug: "clipboard", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“Œ": { name: "pushpin", slug: "pushpin", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“": { name: "round pushpin", slug: "round_pushpin", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“Ž": { name: "paperclip", slug: "paperclip", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ–‡๏ธ": { name: "linked paperclips", slug: "linked_paperclips", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ“": { name: "straight ruler", slug: "straight_ruler", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“": { name: "triangular ruler", slug: "triangular_ruler", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โœ‚๏ธ": { name: "scissors", slug: "scissors", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ—ƒ๏ธ": { name: "card file box", slug: "card_file_box", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ—„๏ธ": { name: "file cabinet", slug: "file_cabinet", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ—‘๏ธ": { name: "wastebasket", slug: "wastebasket", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ”’": { name: "locked", slug: "locked", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”“": { name: "unlocked", slug: "unlocked", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”": { name: "locked with pen", slug: "locked_with_pen", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”": { name: "locked with key", slug: "locked_with_key", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”‘": { name: "key", slug: "key", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ—๏ธ": { name: "old key", slug: "old_key", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ”จ": { name: "hammer", slug: "hammer", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿช“": { name: "axe", slug: "axe", group: "Objects", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "โ›๏ธ": { name: "pick", slug: "pick", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โš’๏ธ": { name: "hammer and pick", slug: "hammer_and_pick", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ› ๏ธ": { name: "hammer and wrench", slug: "hammer_and_wrench", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ—ก๏ธ": { name: "dagger", slug: "dagger", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โš”๏ธ": { name: "crossed swords", slug: "crossed_swords", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ”ซ": { name: "water pistol", slug: "water_pistol", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿชƒ": { name: "boomerang", slug: "boomerang", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿน": { name: "bow and arrow", slug: "bow_and_arrow", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ›ก๏ธ": { name: "shield", slug: "shield", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿชš": { name: "carpentry saw", slug: "carpentry_saw", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿ”ง": { name: "wrench", slug: "wrench", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿช›": { name: "screwdriver", slug: "screwdriver", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿ”ฉ": { name: "nut and bolt", slug: "nut_and_bolt", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โš™๏ธ": { name: "gear", slug: "gear", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ—œ๏ธ": { name: "clamp", slug: "clamp", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โš–๏ธ": { name: "balance scale", slug: "balance_scale", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿฆฏ": { name: "white cane", slug: "white_cane", group: "Objects", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿ”—": { name: "link", slug: "link", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ›“๏ธ": { name: "chains", slug: "chains", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿช": { name: "hook", slug: "hook", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿงฐ": { name: "toolbox", slug: "toolbox", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿงฒ": { name: "magnet", slug: "magnet", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿชœ": { name: "ladder", slug: "ladder", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "โš—๏ธ": { name: "alembic", slug: "alembic", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿงช": { name: "test tube", slug: "test_tube", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿงซ": { name: "petri dish", slug: "petri_dish", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿงฌ": { name: "dna", slug: "dna", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿ”ฌ": { name: "microscope", slug: "microscope", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ”ญ": { name: "telescope", slug: "telescope", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ“ก": { name: "satellite antenna", slug: "satellite_antenna", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’‰": { name: "syringe", slug: "syringe", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฉธ": { name: "drop of blood", slug: "drop_of_blood", group: "Objects", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿ’Š": { name: "pill", slug: "pill", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿฉน": { name: "adhesive bandage", slug: "adhesive_bandage", group: "Objects", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿฉบ": { name: "stethoscope", slug: "stethoscope", group: "Objects", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿšช": { name: "door", slug: "door", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ›—": { name: "elevator", slug: "elevator", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿชž": { name: "mirror", slug: "mirror", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐ŸชŸ": { name: "window", slug: "window", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿ›๏ธ": { name: "bed", slug: "bed", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ›‹๏ธ": { name: "couch and lamp", slug: "couch_and_lamp", group: "Objects", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿช‘": { name: "chair", slug: "chair", group: "Objects", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿšฝ": { name: "toilet", slug: "toilet", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿช ": { name: "plunger", slug: "plunger", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿšฟ": { name: "shower", slug: "shower", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ›": { name: "bathtub", slug: "bathtub", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿชค": { name: "mouse trap", slug: "mouse_trap", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿช’": { name: "razor", slug: "razor", group: "Objects", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿงด": { name: "lotion bottle", slug: "lotion_bottle", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿงท": { name: "safety pin", slug: "safety_pin", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿงน": { name: "broom", slug: "broom", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿงบ": { name: "basket", slug: "basket", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿงป": { name: "roll of paper", slug: "roll_of_paper", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿชฃ": { name: "bucket", slug: "bucket", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿงผ": { name: "soap", slug: "soap", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿชฅ": { name: "toothbrush", slug: "toothbrush", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿงฝ": { name: "sponge", slug: "sponge", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿงฏ": { name: "fire extinguisher", slug: "fire_extinguisher", group: "Objects", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿ›’": { name: "shopping cart", slug: "shopping_cart", group: "Objects", emoji_version: "3.0", unicode_version: "3.0", skin_tone_support: false }, "๐Ÿšฌ": { name: "cigarette", slug: "cigarette", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โšฐ๏ธ": { name: "coffin", slug: "coffin", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿชฆ": { name: "headstone", slug: "headstone", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "โšฑ๏ธ": { name: "funeral urn", slug: "funeral_urn", group: "Objects", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ—ฟ": { name: "moai", slug: "moai", group: "Objects", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿชง": { name: "placard", slug: "placard", group: "Objects", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿง": { name: "ATM sign", slug: "atm_sign", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿšฎ": { name: "litter in bin sign", slug: "litter_in_bin_sign", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿšฐ": { name: "potable water", slug: "potable_water", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "โ™ฟ": { name: "wheelchair symbol", slug: "wheelchair_symbol", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿšน": { name: "menโ€™s room", slug: "men_s_room", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿšบ": { name: "womenโ€™s room", slug: "women_s_room", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿšป": { name: "restroom", slug: "restroom", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿšผ": { name: "baby symbol", slug: "baby_symbol", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿšพ": { name: "water closet", slug: "water_closet", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ›‚": { name: "passport control", slug: "passport_control", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ›ƒ": { name: "customs", slug: "customs", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ›„": { name: "baggage claim", slug: "baggage_claim", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ›…": { name: "left luggage", slug: "left_luggage", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "โš ๏ธ": { name: "warning", slug: "warning", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿšธ": { name: "children crossing", slug: "children_crossing", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "โ›”": { name: "no entry", slug: "no_entry", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿšซ": { name: "prohibited", slug: "prohibited", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿšณ": { name: "no bicycles", slug: "no_bicycles", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿšญ": { name: "no smoking", slug: "no_smoking", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿšฏ": { name: "no littering", slug: "no_littering", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿšฑ": { name: "non-potable water", slug: "non_potable_water", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿšท": { name: "no pedestrians", slug: "no_pedestrians", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ“ต": { name: "no mobile phones", slug: "no_mobile_phones", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ”ž": { name: "no one under eighteen", slug: "no_one_under_eighteen", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ˜ข๏ธ": { name: "radioactive", slug: "radioactive", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "โ˜ฃ๏ธ": { name: "biohazard", slug: "biohazard", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "โฌ†๏ธ": { name: "up arrow", slug: "up_arrow", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ†—๏ธ": { name: "up-right arrow", slug: "up_right_arrow", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โžก๏ธ": { name: "right arrow", slug: "right_arrow", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ†˜๏ธ": { name: "down-right arrow", slug: "down_right_arrow", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โฌ‡๏ธ": { name: "down arrow", slug: "down_arrow", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ†™๏ธ": { name: "down-left arrow", slug: "down_left_arrow", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โฌ…๏ธ": { name: "left arrow", slug: "left_arrow", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ†–๏ธ": { name: "up-left arrow", slug: "up_left_arrow", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ†•๏ธ": { name: "up-down arrow", slug: "up_down_arrow", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ†”๏ธ": { name: "left-right arrow", slug: "left_right_arrow", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ†ฉ๏ธ": { name: "right arrow curving left", slug: "right_arrow_curving_left", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ†ช๏ธ": { name: "left arrow curving right", slug: "left_arrow_curving_right", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โคด๏ธ": { name: "right arrow curving up", slug: "right_arrow_curving_up", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โคต๏ธ": { name: "right arrow curving down", slug: "right_arrow_curving_down", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”ƒ": { name: "clockwise vertical arrows", slug: "clockwise_vertical_arrows", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”„": { name: "counterclockwise arrows button", slug: "counterclockwise_arrows_button", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ”™": { name: "BACK arrow", slug: "back_arrow", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”š": { name: "END arrow", slug: "end_arrow", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”›": { name: "ON! arrow", slug: "on_arrow", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”œ": { name: "SOON arrow", slug: "soon_arrow", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”": { name: "TOP arrow", slug: "top_arrow", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ›": { name: "place of worship", slug: "place_of_worship", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "โš›๏ธ": { name: "atom symbol", slug: "atom_symbol", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ•‰๏ธ": { name: "om", slug: "om", group: "Symbols", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โœก๏ธ": { name: "star of David", slug: "star_of_david", group: "Symbols", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โ˜ธ๏ธ": { name: "wheel of dharma", slug: "wheel_of_dharma", group: "Symbols", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โ˜ฏ๏ธ": { name: "yin yang", slug: "yin_yang", group: "Symbols", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โœ๏ธ": { name: "latin cross", slug: "latin_cross", group: "Symbols", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โ˜ฆ๏ธ": { name: "orthodox cross", slug: "orthodox_cross", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "โ˜ช๏ธ": { name: "star and crescent", slug: "star_and_crescent", group: "Symbols", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โ˜ฎ๏ธ": { name: "peace symbol", slug: "peace_symbol", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ•Ž": { name: "menorah", slug: "menorah", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ”ฏ": { name: "dotted six-pointed star", slug: "dotted_six_pointed_star", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™ˆ": { name: "Aries", slug: "aries", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™‰": { name: "Taurus", slug: "taurus", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™Š": { name: "Gemini", slug: "gemini", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™‹": { name: "Cancer", slug: "cancer", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™Œ": { name: "Leo", slug: "leo", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™": { name: "Virgo", slug: "virgo", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™Ž": { name: "Libra", slug: "libra", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™": { name: "Scorpio", slug: "scorpio", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™": { name: "Sagittarius", slug: "sagittarius", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™‘": { name: "Capricorn", slug: "capricorn", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™’": { name: "Aquarius", slug: "aquarius", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™“": { name: "Pisces", slug: "pisces", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ›Ž": { name: "Ophiuchus", slug: "ophiuchus", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”€": { name: "shuffle tracks button", slug: "shuffle_tracks_button", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ”": { name: "repeat button", slug: "repeat_button", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ”‚": { name: "repeat single button", slug: "repeat_single_button", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "โ–ถ๏ธ": { name: "play button", slug: "play_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โฉ": { name: "fast-forward button", slug: "fast_forward_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โญ๏ธ": { name: "next track button", slug: "next_track_button", group: "Symbols", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โฏ๏ธ": { name: "play or pause button", slug: "play_or_pause_button", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "โ—€๏ธ": { name: "reverse button", slug: "reverse_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โช": { name: "fast reverse button", slug: "fast_reverse_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โฎ๏ธ": { name: "last track button", slug: "last_track_button", group: "Symbols", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿ”ผ": { name: "upwards button", slug: "upwards_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โซ": { name: "fast up button", slug: "fast_up_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”ฝ": { name: "downwards button", slug: "downwards_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โฌ": { name: "fast down button", slug: "fast_down_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โธ๏ธ": { name: "pause button", slug: "pause_button", group: "Symbols", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โน๏ธ": { name: "stop button", slug: "stop_button", group: "Symbols", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โบ๏ธ": { name: "record button", slug: "record_button", group: "Symbols", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "โ๏ธ": { name: "eject button", slug: "eject_button", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐ŸŽฆ": { name: "cinema", slug: "cinema", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”…": { name: "dim button", slug: "dim_button", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ”†": { name: "bright button", slug: "bright_button", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ“ถ": { name: "antenna bars", slug: "antenna_bars", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ณ": { name: "vibration mode", slug: "vibration_mode", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“ด": { name: "mobile phone off", slug: "mobile_phone_off", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™€๏ธ": { name: "female sign", slug: "female_sign", group: "Symbols", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "โ™‚๏ธ": { name: "male sign", slug: "male_sign", group: "Symbols", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "โšง๏ธ": { name: "transgender symbol", slug: "transgender_symbol", group: "Symbols", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "โœ–๏ธ": { name: "multiply", slug: "multiply", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โž•": { name: "plus", slug: "plus", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โž–": { name: "minus", slug: "minus", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โž—": { name: "divide", slug: "divide", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ™พ๏ธ": { name: "infinity", slug: "infinity", group: "Symbols", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "โ€ผ๏ธ": { name: "double exclamation mark", slug: "double_exclamation_mark", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ‰๏ธ": { name: "exclamation question mark", slug: "exclamation_question_mark", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ“": { name: "red question mark", slug: "red_question_mark", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ”": { name: "white question mark", slug: "white_question_mark", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ•": { name: "white exclamation mark", slug: "white_exclamation_mark", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ—": { name: "red exclamation mark", slug: "red_exclamation_mark", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "ใ€ฐ๏ธ": { name: "wavy dash", slug: "wavy_dash", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ฑ": { name: "currency exchange", slug: "currency_exchange", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ฒ": { name: "heavy dollar sign", slug: "heavy_dollar_sign", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โš•๏ธ": { name: "medical symbol", slug: "medical_symbol", group: "Symbols", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "โ™ป๏ธ": { name: "recycling symbol", slug: "recycling_symbol", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โšœ๏ธ": { name: "fleur-de-lis", slug: "fleur_de_lis", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿ”ฑ": { name: "trident emblem", slug: "trident_emblem", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ“›": { name: "name badge", slug: "name_badge", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”ฐ": { name: "Japanese symbol for beginner", slug: "japanese_symbol_for_beginner", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โญ•": { name: "hollow red circle", slug: "hollow_red_circle", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โœ…": { name: "check mark button", slug: "check_mark_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ˜‘๏ธ": { name: "check box with check", slug: "check_box_with_check", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โœ”๏ธ": { name: "check mark", slug: "check_mark", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โŒ": { name: "cross mark", slug: "cross_mark", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โŽ": { name: "cross mark button", slug: "cross_mark_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โžฐ": { name: "curly loop", slug: "curly_loop", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โžฟ": { name: "double curly loop", slug: "double_curly_loop", group: "Symbols", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "ใ€ฝ๏ธ": { name: "part alternation mark", slug: "part_alternation_mark", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โœณ๏ธ": { name: "eight-spoked asterisk", slug: "eight_spoked_asterisk", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โœด๏ธ": { name: "eight-pointed star", slug: "eight_pointed_star", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ‡๏ธ": { name: "sparkle", slug: "sparkle", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "ยฉ๏ธ": { name: "copyright", slug: "copyright", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "ยฎ๏ธ": { name: "registered", slug: "registered", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ„ข๏ธ": { name: "trade mark", slug: "trade_mark", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "#๏ธโƒฃ": { name: "keycap #", slug: "keycap_", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "*๏ธโƒฃ": { name: "keycap *", slug: "keycap_", group: "Symbols", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "0๏ธโƒฃ": { name: "keycap 0", slug: "keycap_0", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "1๏ธโƒฃ": { name: "keycap 1", slug: "keycap_1", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "2๏ธโƒฃ": { name: "keycap 2", slug: "keycap_2", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "3๏ธโƒฃ": { name: "keycap 3", slug: "keycap_3", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "4๏ธโƒฃ": { name: "keycap 4", slug: "keycap_4", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "5๏ธโƒฃ": { name: "keycap 5", slug: "keycap_5", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "6๏ธโƒฃ": { name: "keycap 6", slug: "keycap_6", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "7๏ธโƒฃ": { name: "keycap 7", slug: "keycap_7", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "8๏ธโƒฃ": { name: "keycap 8", slug: "keycap_8", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "9๏ธโƒฃ": { name: "keycap 9", slug: "keycap_9", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”Ÿ": { name: "keycap 10", slug: "keycap_10", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ” ": { name: "input latin uppercase", slug: "input_latin_uppercase", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”ก": { name: "input latin lowercase", slug: "input_latin_lowercase", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”ข": { name: "input numbers", slug: "input_numbers", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”ฃ": { name: "input symbols", slug: "input_symbols", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”ค": { name: "input latin letters", slug: "input_latin_letters", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ…ฐ๏ธ": { name: "A button (blood type)", slug: "a_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ†Ž": { name: "AB button (blood type)", slug: "ab_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ…ฑ๏ธ": { name: "B button (blood type)", slug: "b_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ†‘": { name: "CL button", slug: "cl_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ†’": { name: "COOL button", slug: "cool_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ†“": { name: "FREE button", slug: "free_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ„น๏ธ": { name: "information", slug: "information", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ†”": { name: "ID button", slug: "id_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ“‚๏ธ": { name: "circled M", slug: "circled_m", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ†•": { name: "NEW button", slug: "new_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ†–": { name: "NG button", slug: "ng_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ…พ๏ธ": { name: "O button (blood type)", slug: "o_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ†—": { name: "OK button", slug: "ok_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ…ฟ๏ธ": { name: "P button", slug: "p_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ†˜": { name: "SOS button", slug: "sos_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ†™": { name: "UP! button", slug: "up_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ†š": { name: "VS button", slug: "vs_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿˆ": { name: "Japanese โ€œhereโ€ button", slug: "japanese_here_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿˆ‚๏ธ": { name: "Japanese โ€œservice chargeโ€ button", slug: "japanese_service_charge_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿˆท๏ธ": { name: "Japanese โ€œmonthly amountโ€ button", slug: "japanese_monthly_amount_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿˆถ": { name: "Japanese โ€œnot free of chargeโ€ button", slug: "japanese_not_free_of_charge_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿˆฏ": { name: "Japanese โ€œreservedโ€ button", slug: "japanese_reserved_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‰": { name: "Japanese โ€œbargainโ€ button", slug: "japanese_bargain_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿˆน": { name: "Japanese โ€œdiscountโ€ button", slug: "japanese_discount_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿˆš": { name: "Japanese โ€œfree of chargeโ€ button", slug: "japanese_free_of_charge_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿˆฒ": { name: "Japanese โ€œprohibitedโ€ button", slug: "japanese_prohibited_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‰‘": { name: "Japanese โ€œacceptableโ€ button", slug: "japanese_acceptable_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿˆธ": { name: "Japanese โ€œapplicationโ€ button", slug: "japanese_application_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿˆด": { name: "Japanese โ€œpassing gradeโ€ button", slug: "japanese_passing_grade_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿˆณ": { name: "Japanese โ€œvacancyโ€ button", slug: "japanese_vacancy_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "ใŠ—๏ธ": { name: "Japanese โ€œcongratulationsโ€ button", slug: "japanese_congratulations_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "ใŠ™๏ธ": { name: "Japanese โ€œsecretโ€ button", slug: "japanese_secret_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿˆบ": { name: "Japanese โ€œopen for businessโ€ button", slug: "japanese_open_for_business_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿˆต": { name: "Japanese โ€œno vacancyโ€ button", slug: "japanese_no_vacancy_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”ด": { name: "red circle", slug: "red_circle", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŸ ": { name: "orange circle", slug: "orange_circle", group: "Symbols", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐ŸŸก": { name: "yellow circle", slug: "yellow_circle", group: "Symbols", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐ŸŸข": { name: "green circle", slug: "green_circle", group: "Symbols", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐Ÿ”ต": { name: "blue circle", slug: "blue_circle", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŸฃ": { name: "purple circle", slug: "purple_circle", group: "Symbols", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐ŸŸค": { name: "brown circle", slug: "brown_circle", group: "Symbols", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "โšซ": { name: "black circle", slug: "black_circle", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โšช": { name: "white circle", slug: "white_circle", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŸฅ": { name: "red square", slug: "red_square", group: "Symbols", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐ŸŸง": { name: "orange square", slug: "orange_square", group: "Symbols", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐ŸŸจ": { name: "yellow square", slug: "yellow_square", group: "Symbols", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐ŸŸฉ": { name: "green square", slug: "green_square", group: "Symbols", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐ŸŸฆ": { name: "blue square", slug: "blue_square", group: "Symbols", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐ŸŸช": { name: "purple square", slug: "purple_square", group: "Symbols", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "๐ŸŸซ": { name: "brown square", slug: "brown_square", group: "Symbols", emoji_version: "12.0", unicode_version: "12.0", skin_tone_support: false }, "โฌ›": { name: "black large square", slug: "black_large_square", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โฌœ": { name: "white large square", slug: "white_large_square", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ—ผ๏ธ": { name: "black medium square", slug: "black_medium_square", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ—ป๏ธ": { name: "white medium square", slug: "white_medium_square", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ—พ": { name: "black medium-small square", slug: "black_medium_small_square", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ—ฝ": { name: "white medium-small square", slug: "white_medium_small_square", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ–ช๏ธ": { name: "black small square", slug: "black_small_square", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "โ–ซ๏ธ": { name: "white small square", slug: "white_small_square", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”ถ": { name: "large orange diamond", slug: "large_orange_diamond", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”ท": { name: "large blue diamond", slug: "large_blue_diamond", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”ธ": { name: "small orange diamond", slug: "small_orange_diamond", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”น": { name: "small blue diamond", slug: "small_blue_diamond", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”บ": { name: "red triangle pointed up", slug: "red_triangle_pointed_up", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”ป": { name: "red triangle pointed down", slug: "red_triangle_pointed_down", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ’ ": { name: "diamond with a dot", slug: "diamond_with_a_dot", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”˜": { name: "radio button", slug: "radio_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”ณ": { name: "white square button", slug: "white_square_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ”ฒ": { name: "black square button", slug: "black_square_button", group: "Symbols", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ": { name: "chequered flag", slug: "chequered_flag", group: "Flags", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿšฉ": { name: "triangular flag", slug: "triangular_flag", group: "Flags", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐ŸŽŒ": { name: "crossed flags", slug: "crossed_flags", group: "Flags", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿด": { name: "black flag", slug: "black_flag", group: "Flags", emoji_version: "1.0", unicode_version: "1.0", skin_tone_support: false }, "๐Ÿณ๏ธ": { name: "white flag", slug: "white_flag", group: "Flags", emoji_version: "0.7", unicode_version: "0.7", skin_tone_support: false }, "๐Ÿณ๏ธโ€๐ŸŒˆ": { name: "rainbow flag", slug: "rainbow_flag", group: "Flags", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "๐Ÿณ๏ธโ€โšง๏ธ": { name: "transgender flag", slug: "transgender_flag", group: "Flags", emoji_version: "13.0", unicode_version: "13.0", skin_tone_support: false }, "๐Ÿดโ€โ˜ ๏ธ": { name: "pirate flag", slug: "pirate_flag", group: "Flags", emoji_version: "11.0", unicode_version: "11.0", skin_tone_support: false }, "๐Ÿ‡ฆ๐Ÿ‡จ": { name: "flag Ascension Island", slug: "flag_ascension_island", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฆ๐Ÿ‡ฉ": { name: "flag Andorra", slug: "flag_andorra", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฆ๐Ÿ‡ช": { name: "flag United Arab Emirates", slug: "flag_united_arab_emirates", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฆ๐Ÿ‡ซ": { name: "flag Afghanistan", slug: "flag_afghanistan", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฆ๐Ÿ‡ฌ": { name: "flag Antigua & Barbuda", slug: "flag_antigua_barbuda", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฆ๐Ÿ‡ฎ": { name: "flag Anguilla", slug: "flag_anguilla", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฆ๐Ÿ‡ฑ": { name: "flag Albania", slug: "flag_albania", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฆ๐Ÿ‡ฒ": { name: "flag Armenia", slug: "flag_armenia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฆ๐Ÿ‡ด": { name: "flag Angola", slug: "flag_angola", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฆ๐Ÿ‡ถ": { name: "flag Antarctica", slug: "flag_antarctica", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฆ๐Ÿ‡ท": { name: "flag Argentina", slug: "flag_argentina", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฆ๐Ÿ‡ธ": { name: "flag American Samoa", slug: "flag_american_samoa", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฆ๐Ÿ‡น": { name: "flag Austria", slug: "flag_austria", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฆ๐Ÿ‡บ": { name: "flag Australia", slug: "flag_australia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฆ๐Ÿ‡ผ": { name: "flag Aruba", slug: "flag_aruba", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฆ๐Ÿ‡ฝ": { name: "flag ร…land Islands", slug: "flag_aland_islands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฆ๐Ÿ‡ฟ": { name: "flag Azerbaijan", slug: "flag_azerbaijan", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ฆ": { name: "flag Bosnia & Herzegovina", slug: "flag_bosnia_herzegovina", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ง": { name: "flag Barbados", slug: "flag_barbados", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ฉ": { name: "flag Bangladesh", slug: "flag_bangladesh", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ช": { name: "flag Belgium", slug: "flag_belgium", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ซ": { name: "flag Burkina Faso", slug: "flag_burkina_faso", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ฌ": { name: "flag Bulgaria", slug: "flag_bulgaria", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ญ": { name: "flag Bahrain", slug: "flag_bahrain", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ฎ": { name: "flag Burundi", slug: "flag_burundi", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ฏ": { name: "flag Benin", slug: "flag_benin", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ฑ": { name: "flag St. Barthรฉlemy", slug: "flag_st_barthelemy", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ฒ": { name: "flag Bermuda", slug: "flag_bermuda", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ณ": { name: "flag Brunei", slug: "flag_brunei", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ด": { name: "flag Bolivia", slug: "flag_bolivia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ถ": { name: "flag Caribbean Netherlands", slug: "flag_caribbean_netherlands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ท": { name: "flag Brazil", slug: "flag_brazil", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ธ": { name: "flag Bahamas", slug: "flag_bahamas", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡น": { name: "flag Bhutan", slug: "flag_bhutan", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ป": { name: "flag Bouvet Island", slug: "flag_bouvet_island", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ผ": { name: "flag Botswana", slug: "flag_botswana", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡พ": { name: "flag Belarus", slug: "flag_belarus", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ง๐Ÿ‡ฟ": { name: "flag Belize", slug: "flag_belize", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡ฆ": { name: "flag Canada", slug: "flag_canada", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡จ": { name: "flag Cocos (Keeling) Islands", slug: "flag_cocos_islands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡ฉ": { name: "flag Congo - Kinshasa", slug: "flag_congo_kinshasa", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡ซ": { name: "flag Central African Republic", slug: "flag_central_african_republic", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡ฌ": { name: "flag Congo - Brazzaville", slug: "flag_congo_brazzaville", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡ญ": { name: "flag Switzerland", slug: "flag_switzerland", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡ฎ": { name: "flag Cรดte dโ€™Ivoire", slug: "flag_cote_d_ivoire", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡ฐ": { name: "flag Cook Islands", slug: "flag_cook_islands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡ฑ": { name: "flag Chile", slug: "flag_chile", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡ฒ": { name: "flag Cameroon", slug: "flag_cameroon", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡ณ": { name: "flag China", slug: "flag_china", group: "Flags", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡ด": { name: "flag Colombia", slug: "flag_colombia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡ต": { name: "flag Clipperton Island", slug: "flag_clipperton_island", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡ท": { name: "flag Costa Rica", slug: "flag_costa_rica", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡บ": { name: "flag Cuba", slug: "flag_cuba", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡ป": { name: "flag Cape Verde", slug: "flag_cape_verde", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡ผ": { name: "flag Curaรงao", slug: "flag_curacao", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡ฝ": { name: "flag Christmas Island", slug: "flag_christmas_island", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡พ": { name: "flag Cyprus", slug: "flag_cyprus", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡จ๐Ÿ‡ฟ": { name: "flag Czechia", slug: "flag_czechia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฉ๐Ÿ‡ช": { name: "flag Germany", slug: "flag_germany", group: "Flags", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‡ฉ๐Ÿ‡ฌ": { name: "flag Diego Garcia", slug: "flag_diego_garcia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฉ๐Ÿ‡ฏ": { name: "flag Djibouti", slug: "flag_djibouti", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฉ๐Ÿ‡ฐ": { name: "flag Denmark", slug: "flag_denmark", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฉ๐Ÿ‡ฒ": { name: "flag Dominica", slug: "flag_dominica", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฉ๐Ÿ‡ด": { name: "flag Dominican Republic", slug: "flag_dominican_republic", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฉ๐Ÿ‡ฟ": { name: "flag Algeria", slug: "flag_algeria", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ช๐Ÿ‡ฆ": { name: "flag Ceuta & Melilla", slug: "flag_ceuta_melilla", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ช๐Ÿ‡จ": { name: "flag Ecuador", slug: "flag_ecuador", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ช๐Ÿ‡ช": { name: "flag Estonia", slug: "flag_estonia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ช๐Ÿ‡ฌ": { name: "flag Egypt", slug: "flag_egypt", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ช๐Ÿ‡ญ": { name: "flag Western Sahara", slug: "flag_western_sahara", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ช๐Ÿ‡ท": { name: "flag Eritrea", slug: "flag_eritrea", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ช๐Ÿ‡ธ": { name: "flag Spain", slug: "flag_spain", group: "Flags", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‡ช๐Ÿ‡น": { name: "flag Ethiopia", slug: "flag_ethiopia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ช๐Ÿ‡บ": { name: "flag European Union", slug: "flag_european_union", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ซ๐Ÿ‡ฎ": { name: "flag Finland", slug: "flag_finland", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ซ๐Ÿ‡ฏ": { name: "flag Fiji", slug: "flag_fiji", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ซ๐Ÿ‡ฐ": { name: "flag Falkland Islands", slug: "flag_falkland_islands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ซ๐Ÿ‡ฒ": { name: "flag Micronesia", slug: "flag_micronesia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ซ๐Ÿ‡ด": { name: "flag Faroe Islands", slug: "flag_faroe_islands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ซ๐Ÿ‡ท": { name: "flag France", slug: "flag_france", group: "Flags", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡ฆ": { name: "flag Gabon", slug: "flag_gabon", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡ง": { name: "flag United Kingdom", slug: "flag_united_kingdom", group: "Flags", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡ฉ": { name: "flag Grenada", slug: "flag_grenada", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡ช": { name: "flag Georgia", slug: "flag_georgia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡ซ": { name: "flag French Guiana", slug: "flag_french_guiana", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡ฌ": { name: "flag Guernsey", slug: "flag_guernsey", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡ญ": { name: "flag Ghana", slug: "flag_ghana", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡ฎ": { name: "flag Gibraltar", slug: "flag_gibraltar", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡ฑ": { name: "flag Greenland", slug: "flag_greenland", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡ฒ": { name: "flag Gambia", slug: "flag_gambia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡ณ": { name: "flag Guinea", slug: "flag_guinea", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡ต": { name: "flag Guadeloupe", slug: "flag_guadeloupe", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡ถ": { name: "flag Equatorial Guinea", slug: "flag_equatorial_guinea", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡ท": { name: "flag Greece", slug: "flag_greece", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡ธ": { name: "flag South Georgia & South Sandwich Islands", slug: "flag_south_georgia_south_sandwich_islands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡น": { name: "flag Guatemala", slug: "flag_guatemala", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡บ": { name: "flag Guam", slug: "flag_guam", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡ผ": { name: "flag Guinea-Bissau", slug: "flag_guinea_bissau", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฌ๐Ÿ‡พ": { name: "flag Guyana", slug: "flag_guyana", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ญ๐Ÿ‡ฐ": { name: "flag Hong Kong SAR China", slug: "flag_hong_kong_sar_china", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ญ๐Ÿ‡ฒ": { name: "flag Heard & McDonald Islands", slug: "flag_heard_mcdonald_islands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ญ๐Ÿ‡ณ": { name: "flag Honduras", slug: "flag_honduras", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ญ๐Ÿ‡ท": { name: "flag Croatia", slug: "flag_croatia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ญ๐Ÿ‡น": { name: "flag Haiti", slug: "flag_haiti", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ญ๐Ÿ‡บ": { name: "flag Hungary", slug: "flag_hungary", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฎ๐Ÿ‡จ": { name: "flag Canary Islands", slug: "flag_canary_islands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฎ๐Ÿ‡ฉ": { name: "flag Indonesia", slug: "flag_indonesia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฎ๐Ÿ‡ช": { name: "flag Ireland", slug: "flag_ireland", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฎ๐Ÿ‡ฑ": { name: "flag Israel", slug: "flag_israel", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฎ๐Ÿ‡ฒ": { name: "flag Isle of Man", slug: "flag_isle_of_man", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฎ๐Ÿ‡ณ": { name: "flag India", slug: "flag_india", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฎ๐Ÿ‡ด": { name: "flag British Indian Ocean Territory", slug: "flag_british_indian_ocean_territory", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฎ๐Ÿ‡ถ": { name: "flag Iraq", slug: "flag_iraq", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฎ๐Ÿ‡ท": { name: "flag Iran", slug: "flag_iran", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฎ๐Ÿ‡ธ": { name: "flag Iceland", slug: "flag_iceland", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฎ๐Ÿ‡น": { name: "flag Italy", slug: "flag_italy", group: "Flags", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‡ฏ๐Ÿ‡ช": { name: "flag Jersey", slug: "flag_jersey", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฏ๐Ÿ‡ฒ": { name: "flag Jamaica", slug: "flag_jamaica", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฏ๐Ÿ‡ด": { name: "flag Jordan", slug: "flag_jordan", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฏ๐Ÿ‡ต": { name: "flag Japan", slug: "flag_japan", group: "Flags", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‡ฐ๐Ÿ‡ช": { name: "flag Kenya", slug: "flag_kenya", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฐ๐Ÿ‡ฌ": { name: "flag Kyrgyzstan", slug: "flag_kyrgyzstan", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฐ๐Ÿ‡ญ": { name: "flag Cambodia", slug: "flag_cambodia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฐ๐Ÿ‡ฎ": { name: "flag Kiribati", slug: "flag_kiribati", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฐ๐Ÿ‡ฒ": { name: "flag Comoros", slug: "flag_comoros", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฐ๐Ÿ‡ณ": { name: "flag St. Kitts & Nevis", slug: "flag_st_kitts_nevis", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฐ๐Ÿ‡ต": { name: "flag North Korea", slug: "flag_north_korea", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฐ๐Ÿ‡ท": { name: "flag South Korea", slug: "flag_south_korea", group: "Flags", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‡ฐ๐Ÿ‡ผ": { name: "flag Kuwait", slug: "flag_kuwait", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฐ๐Ÿ‡พ": { name: "flag Cayman Islands", slug: "flag_cayman_islands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฐ๐Ÿ‡ฟ": { name: "flag Kazakhstan", slug: "flag_kazakhstan", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฑ๐Ÿ‡ฆ": { name: "flag Laos", slug: "flag_laos", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฑ๐Ÿ‡ง": { name: "flag Lebanon", slug: "flag_lebanon", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฑ๐Ÿ‡จ": { name: "flag St. Lucia", slug: "flag_st_lucia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฑ๐Ÿ‡ฎ": { name: "flag Liechtenstein", slug: "flag_liechtenstein", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฑ๐Ÿ‡ฐ": { name: "flag Sri Lanka", slug: "flag_sri_lanka", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฑ๐Ÿ‡ท": { name: "flag Liberia", slug: "flag_liberia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฑ๐Ÿ‡ธ": { name: "flag Lesotho", slug: "flag_lesotho", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฑ๐Ÿ‡น": { name: "flag Lithuania", slug: "flag_lithuania", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฑ๐Ÿ‡บ": { name: "flag Luxembourg", slug: "flag_luxembourg", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฑ๐Ÿ‡ป": { name: "flag Latvia", slug: "flag_latvia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฑ๐Ÿ‡พ": { name: "flag Libya", slug: "flag_libya", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ฆ": { name: "flag Morocco", slug: "flag_morocco", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡จ": { name: "flag Monaco", slug: "flag_monaco", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ฉ": { name: "flag Moldova", slug: "flag_moldova", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ช": { name: "flag Montenegro", slug: "flag_montenegro", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ซ": { name: "flag St. Martin", slug: "flag_st_martin", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ฌ": { name: "flag Madagascar", slug: "flag_madagascar", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ญ": { name: "flag Marshall Islands", slug: "flag_marshall_islands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ฐ": { name: "flag North Macedonia", slug: "flag_north_macedonia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ฑ": { name: "flag Mali", slug: "flag_mali", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ฒ": { name: "flag Myanmar (Burma)", slug: "flag_myanmar", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ณ": { name: "flag Mongolia", slug: "flag_mongolia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ด": { name: "flag Macao SAR China", slug: "flag_macao_sar_china", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ต": { name: "flag Northern Mariana Islands", slug: "flag_northern_mariana_islands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ถ": { name: "flag Martinique", slug: "flag_martinique", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ท": { name: "flag Mauritania", slug: "flag_mauritania", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ธ": { name: "flag Montserrat", slug: "flag_montserrat", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡น": { name: "flag Malta", slug: "flag_malta", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡บ": { name: "flag Mauritius", slug: "flag_mauritius", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ป": { name: "flag Maldives", slug: "flag_maldives", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ผ": { name: "flag Malawi", slug: "flag_malawi", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ฝ": { name: "flag Mexico", slug: "flag_mexico", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡พ": { name: "flag Malaysia", slug: "flag_malaysia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฒ๐Ÿ‡ฟ": { name: "flag Mozambique", slug: "flag_mozambique", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ณ๐Ÿ‡ฆ": { name: "flag Namibia", slug: "flag_namibia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ณ๐Ÿ‡จ": { name: "flag New Caledonia", slug: "flag_new_caledonia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ณ๐Ÿ‡ช": { name: "flag Niger", slug: "flag_niger", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ณ๐Ÿ‡ซ": { name: "flag Norfolk Island", slug: "flag_norfolk_island", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ณ๐Ÿ‡ฌ": { name: "flag Nigeria", slug: "flag_nigeria", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ณ๐Ÿ‡ฎ": { name: "flag Nicaragua", slug: "flag_nicaragua", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ณ๐Ÿ‡ฑ": { name: "flag Netherlands", slug: "flag_netherlands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ณ๐Ÿ‡ด": { name: "flag Norway", slug: "flag_norway", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ณ๐Ÿ‡ต": { name: "flag Nepal", slug: "flag_nepal", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ณ๐Ÿ‡ท": { name: "flag Nauru", slug: "flag_nauru", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ณ๐Ÿ‡บ": { name: "flag Niue", slug: "flag_niue", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ณ๐Ÿ‡ฟ": { name: "flag New Zealand", slug: "flag_new_zealand", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ด๐Ÿ‡ฒ": { name: "flag Oman", slug: "flag_oman", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ต๐Ÿ‡ฆ": { name: "flag Panama", slug: "flag_panama", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ต๐Ÿ‡ช": { name: "flag Peru", slug: "flag_peru", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ต๐Ÿ‡ซ": { name: "flag French Polynesia", slug: "flag_french_polynesia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ต๐Ÿ‡ฌ": { name: "flag Papua New Guinea", slug: "flag_papua_new_guinea", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ต๐Ÿ‡ญ": { name: "flag Philippines", slug: "flag_philippines", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ต๐Ÿ‡ฐ": { name: "flag Pakistan", slug: "flag_pakistan", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ต๐Ÿ‡ฑ": { name: "flag Poland", slug: "flag_poland", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ต๐Ÿ‡ฒ": { name: "flag St. Pierre & Miquelon", slug: "flag_st_pierre_miquelon", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ต๐Ÿ‡ณ": { name: "flag Pitcairn Islands", slug: "flag_pitcairn_islands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ต๐Ÿ‡ท": { name: "flag Puerto Rico", slug: "flag_puerto_rico", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ต๐Ÿ‡ธ": { name: "flag Palestinian Territories", slug: "flag_palestinian_territories", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ต๐Ÿ‡น": { name: "flag Portugal", slug: "flag_portugal", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ต๐Ÿ‡ผ": { name: "flag Palau", slug: "flag_palau", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ต๐Ÿ‡พ": { name: "flag Paraguay", slug: "flag_paraguay", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ถ๐Ÿ‡ฆ": { name: "flag Qatar", slug: "flag_qatar", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ท๐Ÿ‡ช": { name: "flag Rรฉunion", slug: "flag_reunion", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ท๐Ÿ‡ด": { name: "flag Romania", slug: "flag_romania", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ท๐Ÿ‡ธ": { name: "flag Serbia", slug: "flag_serbia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ท๐Ÿ‡บ": { name: "flag Russia", slug: "flag_russia", group: "Flags", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‡ท๐Ÿ‡ผ": { name: "flag Rwanda", slug: "flag_rwanda", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ฆ": { name: "flag Saudi Arabia", slug: "flag_saudi_arabia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ง": { name: "flag Solomon Islands", slug: "flag_solomon_islands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡จ": { name: "flag Seychelles", slug: "flag_seychelles", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ฉ": { name: "flag Sudan", slug: "flag_sudan", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ช": { name: "flag Sweden", slug: "flag_sweden", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ฌ": { name: "flag Singapore", slug: "flag_singapore", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ญ": { name: "flag St. Helena", slug: "flag_st_helena", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ฎ": { name: "flag Slovenia", slug: "flag_slovenia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ฏ": { name: "flag Svalbard & Jan Mayen", slug: "flag_svalbard_jan_mayen", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ฐ": { name: "flag Slovakia", slug: "flag_slovakia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ฑ": { name: "flag Sierra Leone", slug: "flag_sierra_leone", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ฒ": { name: "flag San Marino", slug: "flag_san_marino", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ณ": { name: "flag Senegal", slug: "flag_senegal", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ด": { name: "flag Somalia", slug: "flag_somalia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ท": { name: "flag Suriname", slug: "flag_suriname", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ธ": { name: "flag South Sudan", slug: "flag_south_sudan", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡น": { name: "flag Sรฃo Tomรฉ & Prรญncipe", slug: "flag_sao_tome_principe", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ป": { name: "flag El Salvador", slug: "flag_el_salvador", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ฝ": { name: "flag Sint Maarten", slug: "flag_sint_maarten", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡พ": { name: "flag Syria", slug: "flag_syria", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ธ๐Ÿ‡ฟ": { name: "flag Eswatini", slug: "flag_eswatini", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡น๐Ÿ‡ฆ": { name: "flag Tristan da Cunha", slug: "flag_tristan_da_cunha", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡น๐Ÿ‡จ": { name: "flag Turks & Caicos Islands", slug: "flag_turks_caicos_islands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡น๐Ÿ‡ฉ": { name: "flag Chad", slug: "flag_chad", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡น๐Ÿ‡ซ": { name: "flag French Southern Territories", slug: "flag_french_southern_territories", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡น๐Ÿ‡ฌ": { name: "flag Togo", slug: "flag_togo", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡น๐Ÿ‡ญ": { name: "flag Thailand", slug: "flag_thailand", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡น๐Ÿ‡ฏ": { name: "flag Tajikistan", slug: "flag_tajikistan", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡น๐Ÿ‡ฐ": { name: "flag Tokelau", slug: "flag_tokelau", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡น๐Ÿ‡ฑ": { name: "flag Timor-Leste", slug: "flag_timor_leste", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡น๐Ÿ‡ฒ": { name: "flag Turkmenistan", slug: "flag_turkmenistan", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡น๐Ÿ‡ณ": { name: "flag Tunisia", slug: "flag_tunisia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡น๐Ÿ‡ด": { name: "flag Tonga", slug: "flag_tonga", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡น๐Ÿ‡ท": { name: "flag Turkey", slug: "flag_turkey", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡น๐Ÿ‡น": { name: "flag Trinidad & Tobago", slug: "flag_trinidad_tobago", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡น๐Ÿ‡ป": { name: "flag Tuvalu", slug: "flag_tuvalu", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡น๐Ÿ‡ผ": { name: "flag Taiwan", slug: "flag_taiwan", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡น๐Ÿ‡ฟ": { name: "flag Tanzania", slug: "flag_tanzania", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡บ๐Ÿ‡ฆ": { name: "flag Ukraine", slug: "flag_ukraine", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡บ๐Ÿ‡ฌ": { name: "flag Uganda", slug: "flag_uganda", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡บ๐Ÿ‡ฒ": { name: "flag U.S. Outlying Islands", slug: "flag_u_s_outlying_islands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡บ๐Ÿ‡ณ": { name: "flag United Nations", slug: "flag_united_nations", group: "Flags", emoji_version: "4.0", unicode_version: "4.0", skin_tone_support: false }, "๐Ÿ‡บ๐Ÿ‡ธ": { name: "flag United States", slug: "flag_united_states", group: "Flags", emoji_version: "0.6", unicode_version: "0.6", skin_tone_support: false }, "๐Ÿ‡บ๐Ÿ‡พ": { name: "flag Uruguay", slug: "flag_uruguay", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡บ๐Ÿ‡ฟ": { name: "flag Uzbekistan", slug: "flag_uzbekistan", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ป๐Ÿ‡ฆ": { name: "flag Vatican City", slug: "flag_vatican_city", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ป๐Ÿ‡จ": { name: "flag St. Vincent & Grenadines", slug: "flag_st_vincent_grenadines", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ป๐Ÿ‡ช": { name: "flag Venezuela", slug: "flag_venezuela", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ป๐Ÿ‡ฌ": { name: "flag British Virgin Islands", slug: "flag_british_virgin_islands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ป๐Ÿ‡ฎ": { name: "flag U.S. Virgin Islands", slug: "flag_u_s_virgin_islands", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ป๐Ÿ‡ณ": { name: "flag Vietnam", slug: "flag_vietnam", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ป๐Ÿ‡บ": { name: "flag Vanuatu", slug: "flag_vanuatu", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ผ๐Ÿ‡ซ": { name: "flag Wallis & Futuna", slug: "flag_wallis_futuna", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ผ๐Ÿ‡ธ": { name: "flag Samoa", slug: "flag_samoa", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฝ๐Ÿ‡ฐ": { name: "flag Kosovo", slug: "flag_kosovo", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡พ๐Ÿ‡ช": { name: "flag Yemen", slug: "flag_yemen", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡พ๐Ÿ‡น": { name: "flag Mayotte", slug: "flag_mayotte", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฟ๐Ÿ‡ฆ": { name: "flag South Africa", slug: "flag_south_africa", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฟ๐Ÿ‡ฒ": { name: "flag Zambia", slug: "flag_zambia", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿ‡ฟ๐Ÿ‡ผ": { name: "flag Zimbabwe", slug: "flag_zimbabwe", group: "Flags", emoji_version: "2.0", unicode_version: "2.0", skin_tone_support: false }, "๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ": { name: "flag England", slug: "flag_england", group: "Flags", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ": { name: "flag Scotland", slug: "flag_scotland", group: "Flags", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false }, "๐Ÿด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ": { name: "flag Wales", slug: "flag_wales", group: "Flags", emoji_version: "5.0", unicode_version: "5.0", skin_tone_support: false } }; var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; var location = commonjsGlobal.location || {}; /*jslint indent: 2, browser: true, bitwise: true, plusplus: true */ var twemoji = (function ( /*! Copyright Twitter Inc. and other contributors. Licensed under MIT *//* https://github.com/twitter/twemoji/blob/gh-pages/LICENSE */ // WARNING: this file is generated automatically via // `node scripts/build.js` // please update its `createTwemoji` function // at the bottom of the same file instead. ) { /*jshint maxparams:4 */ var // the exported module object twemoji = { ///////////////////////// // properties // ///////////////////////// // default assets url, by default will be Twitter Inc. CDN base: 'https://twemoji.maxcdn.com/v/13.0.1/', // default assets file extensions, by default '.png' ext: '.png', // default assets/folder size, by default "72x72" // available via Twitter CDN: 72 size: '72x72', // default class name, by default 'emoji' className: 'emoji', // basic utilities / helpers to convert code points // to JavaScript surrogates and vice versa convert: { /** * Given an HEX codepoint, returns UTF16 surrogate pairs. * * @param string generic codepoint, i.e. '1F4A9' * @return string codepoint transformed into utf16 surrogates pair, * i.e. \uD83D\uDCA9 * * @example * twemoji.convert.fromCodePoint('1f1e8'); * // "\ud83c\udde8" * * '1f1e8-1f1f3'.split('-').map(twemoji.convert.fromCodePoint).join('') * // "\ud83c\udde8\ud83c\uddf3" */ fromCodePoint: fromCodePoint, /** * Given UTF16 surrogate pairs, returns the equivalent HEX codepoint. * * @param string generic utf16 surrogates pair, i.e. \uD83D\uDCA9 * @param string optional separator for double code points, default='-' * @return string utf16 transformed into codepoint, i.e. '1F4A9' * * @example * twemoji.convert.toCodePoint('\ud83c\udde8\ud83c\uddf3'); * // "1f1e8-1f1f3" * * twemoji.convert.toCodePoint('\ud83c\udde8\ud83c\uddf3', '~'); * // "1f1e8~1f1f3" */ toCodePoint: toCodePoint }, ///////////////////////// // methods // ///////////////////////// /** * User first: used to remove missing images * preserving the original text intent when * a fallback for network problems is desired. * Automatically added to Image nodes via DOM * It could be recycled for string operations via: * $('img.emoji').on('error', twemoji.onerror) */ onerror: function onerror() { if (this.parentNode) { this.parentNode.replaceChild(createText(this.alt, false), this); } }, /** * Main method/logic to generate either tags or HTMLImage nodes. * "emojify" a generic text or DOM Element. * * @overloads * * String replacement for `innerHTML` or server side operations * twemoji.parse(string); * twemoji.parse(string, Function); * twemoji.parse(string, Object); * * HTMLElement tree parsing for safer operations over existing DOM * twemoji.parse(HTMLElement); * twemoji.parse(HTMLElement, Function); * twemoji.parse(HTMLElement, Object); * * @param string|HTMLElement the source to parse and enrich with emoji. * * string replace emoji matches with tags. * Mainly used to inject emoji via `innerHTML` * It does **not** parse the string or validate it, * it simply replaces found emoji with a tag. * NOTE: be sure this won't affect security. * * HTMLElement walk through the DOM tree and find emoji * that are inside **text node only** (nodeType === 3) * Mainly used to put emoji in already generated DOM * without compromising surrounding nodes and * **avoiding** the usage of `innerHTML`. * NOTE: Using DOM elements instead of strings should * improve security without compromising too much * performance compared with a less safe `innerHTML`. * * @param Function|Object [optional] * either the callback that will be invoked or an object * with all properties to use per each found emoji. * * Function if specified, this will be invoked per each emoji * that has been found through the RegExp except * those follwed by the invariant \uFE0E ("as text"). * Once invoked, parameters will be: * * iconId:string the lower case HEX code point * i.e. "1f4a9" * * options:Object all info for this parsing operation * * variant:char the optional \uFE0F ("as image") * variant, in case this info * is anyhow meaningful. * By default this is ignored. * * If such callback will return a falsy value instead * of a valid `src` to use for the image, nothing will * actually change for that specific emoji. * * * Object if specified, an object containing the following properties * * callback Function the callback to invoke per each found emoji. * base string the base url, by default twemoji.base * ext string the image extension, by default twemoji.ext * size string the assets size, by default twemoji.size * * @example * * twemoji.parse("I \u2764\uFE0F emoji!"); * // I โค๏ธ emoji! * * * twemoji.parse("I \u2764\uFE0F emoji!", function(iconId, options) { * return '/assets/' + iconId + '.gif'; * }); * // I โค๏ธ emoji! * * * twemoji.parse("I \u2764\uFE0F emoji!", { * size: 72, * callback: function(iconId, options) { * return '/assets/' + options.size + '/' + iconId + options.ext; * } * }); * // I โค๏ธ emoji! * */ parse: parse, /** * Given a string, invokes the callback argument * per each emoji found in such string. * This is the most raw version used by * the .parse(string) method itself. * * @param string generic string to parse * @param Function a generic callback that will be * invoked to replace the content. * This calback wil receive standard * String.prototype.replace(str, callback) * arguments such: * callback( * rawText, // the emoji match * ); * * and others commonly received via replace. */ replace: replace, /** * Simplify string tests against emoji. * * @param string some text that might contain emoji * @return boolean true if any emoji was found, false otherwise. * * @example * * if (twemoji.test(someContent)) { * console.log("emoji All The Things!"); * } */ test: test }, // used to escape HTML special chars in attributes escaper = { '&': '&', '<': '<', '>': '>', "'": ''', '"': '"' }, // RegExp based on emoji's official Unicode standards // http://www.unicode.org/Public/UNIDATA/EmojiSources.txt re = /(?:\ud83d\udc68\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc68\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc68\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffe]|\ud83e\uddd1\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\u200d\ud83e\udd1d\u200d\ud83e\uddd1|\ud83d\udc6b\ud83c[\udffb-\udfff]|\ud83d\udc6c\ud83c[\udffb-\udfff]|\ud83d\udc6d\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d])|(?:\ud83d[\udc68\udc69]|\ud83e\uddd1)(?:\ud83c[\udffb-\udfff])?\u200d(?:\u2695\ufe0f|\u2696\ufe0f|\u2708\ufe0f|\ud83c[\udf3e\udf73\udf7c\udf84\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92]|\ud83e[\uddaf-\uddb3\uddbc\uddbd])|(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75]|\u26f9)((?:\ud83c[\udffb-\udfff]|\ufe0f)\u200d[\u2640\u2642]\ufe0f)|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc70\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd35\udd37-\udd39\udd3d\udd3e\uddb8\uddb9\uddcd-\uddcf\uddd6-\udddd])(?:\ud83c[\udffb-\udfff])?\u200d[\u2640\u2642]\ufe0f|(?:\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d[\udc68\udc69]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc68|\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d[\udc68\udc69]|\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f|\ud83c\udff3\ufe0f\u200d\ud83c\udf08|\ud83c\udff4\u200d\u2620\ufe0f|\ud83d\udc15\u200d\ud83e\uddba|\ud83d\udc3b\u200d\u2744\ufe0f|\ud83d\udc41\u200d\ud83d\udde8|\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc6f\u200d\u2640\ufe0f|\ud83d\udc6f\u200d\u2642\ufe0f|\ud83e\udd3c\u200d\u2640\ufe0f|\ud83e\udd3c\u200d\u2642\ufe0f|\ud83e\uddde\u200d\u2640\ufe0f|\ud83e\uddde\u200d\u2642\ufe0f|\ud83e\udddf\u200d\u2640\ufe0f|\ud83e\udddf\u200d\u2642\ufe0f|\ud83d\udc08\u200d\u2b1b)|[#*0-9]\ufe0f?\u20e3|(?:[ยฉยฎ\u2122\u265f]\ufe0f)|(?:\ud83c[\udc04\udd70\udd71\udd7e\udd7f\ude02\ude1a\ude2f\ude37\udf21\udf24-\udf2c\udf36\udf7d\udf96\udf97\udf99-\udf9b\udf9e\udf9f\udfcd\udfce\udfd4-\udfdf\udff3\udff5\udff7]|\ud83d[\udc3f\udc41\udcfd\udd49\udd4a\udd6f\udd70\udd73\udd76-\udd79\udd87\udd8a-\udd8d\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa\udecb\udecd-\udecf\udee0-\udee5\udee9\udef0\udef3]|[\u203c\u2049\u2139\u2194-\u2199\u21a9\u21aa\u231a\u231b\u2328\u23cf\u23ed-\u23ef\u23f1\u23f2\u23f8-\u23fa\u24c2\u25aa\u25ab\u25b6\u25c0\u25fb-\u25fe\u2600-\u2604\u260e\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262a\u262e\u262f\u2638-\u263a\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267b\u267f\u2692-\u2697\u2699\u269b\u269c\u26a0\u26a1\u26a7\u26aa\u26ab\u26b0\u26b1\u26bd\u26be\u26c4\u26c5\u26c8\u26cf\u26d1\u26d3\u26d4\u26e9\u26ea\u26f0-\u26f5\u26f8\u26fa\u26fd\u2702\u2708\u2709\u270f\u2712\u2714\u2716\u271d\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u2764\u27a1\u2934\u2935\u2b05-\u2b07\u2b1b\u2b1c\u2b50\u2b55\u3030\u303d\u3297\u3299])(?:\ufe0f|(?!\ufe0e))|(?:(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75\udd90]|[\u261d\u26f7\u26f9\u270c\u270d])(?:\ufe0f|(?!\ufe0e))|(?:\ud83c[\udf85\udfc2-\udfc4\udfc7\udfca]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd7a\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4-\udeb6\udec0\udecc]|\ud83e[\udd0c\udd0f\udd18-\udd1c\udd1e\udd1f\udd26\udd30-\udd39\udd3d\udd3e\udd77\uddb5\uddb6\uddb8\uddb9\uddbb\uddcd-\uddcf\uddd1-\udddd]|[\u270a\u270b]))(?:\ud83c[\udffb-\udfff])?|(?:\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc73\udb40\udc63\udb40\udc74\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc77\udb40\udc6c\udb40\udc73\udb40\udc7f|\ud83c\udde6\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff]|\ud83c\udde7\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff]|\ud83c\udde8\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|\ud83c\udde9\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff]|\ud83c\uddea\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa]|\ud83c\uddeb\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|\ud83c\uddec\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|\ud83c\udded\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa]|\ud83c\uddee\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|\ud83c\uddef\ud83c[\uddea\uddf2\uddf4\uddf5]|\ud83c\uddf0\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff]|\ud83c\uddf1\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|\ud83c\uddf2\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|\ud83c\uddf3\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff]|\ud83c\uddf4\ud83c\uddf2|\ud83c\uddf5\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|\ud83c\uddf6\ud83c\udde6|\ud83c\uddf7\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|\ud83c\uddf8\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|\ud83c\uddf9\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff]|\ud83c\uddfa\ud83c[\udde6\uddec\uddf2\uddf3\uddf8\uddfe\uddff]|\ud83c\uddfb\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|\ud83c\uddfc\ud83c[\uddeb\uddf8]|\ud83c\uddfd\ud83c\uddf0|\ud83c\uddfe\ud83c[\uddea\uddf9]|\ud83c\uddff\ud83c[\udde6\uddf2\uddfc]|\ud83c[\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf20\udf2d-\udf35\udf37-\udf7c\udf7e-\udf84\udf86-\udf93\udfa0-\udfc1\udfc5\udfc6\udfc8\udfc9\udfcf-\udfd3\udfe0-\udff0\udff4\udff8-\udfff]|\ud83d[\udc00-\udc3e\udc40\udc44\udc45\udc51-\udc65\udc6a\udc6f\udc79-\udc7b\udc7d-\udc80\udc84\udc88-\udca9\udcab-\udcfc\udcff-\udd3d\udd4b-\udd4e\udd50-\udd67\udda4\uddfb-\ude44\ude48-\ude4a\ude80-\udea2\udea4-\udeb3\udeb7-\udebf\udec1-\udec5\uded0-\uded2\uded5-\uded7\udeeb\udeec\udef4-\udefc\udfe0-\udfeb]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd1d\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd76\udd78\udd7a-\uddb4\uddb7\uddba\uddbc-\uddcb\uddd0\uddde-\uddff\ude70-\ude74\ude78-\ude7a\ude80-\ude86\ude90-\udea8\udeb0-\udeb6\udec0-\udec2\uded0-\uded6]|[\u23e9-\u23ec\u23f0\u23f3\u267e\u26ce\u2705\u2728\u274c\u274e\u2753-\u2755\u2795-\u2797\u27b0\u27bf\ue50a])|\ufe0f/g, // avoid runtime RegExp creation for not so smart, // not JIT based, and old browsers / engines UFE0Fg = /\uFE0F/g, // avoid using a string literal like '\u200D' here because minifiers expand it inline U200D = String.fromCharCode(0x200D), // used to find HTML special chars in attributes rescaper = /[&<>'"]/g, // nodes with type 1 which should **not** be parsed shouldntBeParsed = /^(?:iframe|noframes|noscript|script|select|style|textarea)$/, // just a private shortcut fromCharCode = String.fromCharCode; return twemoji; ///////////////////////// // private functions // // declaration // ///////////////////////// /** * Shortcut to create text nodes * @param string text used to create DOM text node * @return Node a DOM node with that text */ function createText(text, clean) { return document.createTextNode(clean ? text.replace(UFE0Fg, '') : text); } /** * Utility function to escape html attribute text * @param string text use in HTML attribute * @return string text encoded to use in HTML attribute */ function escapeHTML(s) { return s.replace(rescaper, replacer); } /** * Default callback used to generate emoji src * based on Twitter CDN * @param string the emoji codepoint string * @param string the default size to use, i.e. "36x36" * @return string the image source to use */ function defaultImageSrcGenerator(icon, options) { return ''.concat(options.base, options.size, '/', icon, options.ext); } /** * Given a generic DOM nodeType 1, walk through all children * and store every nodeType 3 (#text) found in the tree. * @param Element a DOM Element with probably some text in it * @param Array the list of previously discovered text nodes * @return Array same list with new discovered nodes, if any */ function grabAllTextNodes(node, allText) { var childNodes = node.childNodes, length = childNodes.length, subnode, nodeType; while (length--) { subnode = childNodes[length]; nodeType = subnode.nodeType; // parse emoji only in text nodes if (nodeType === 3) { // collect them to process emoji later allText.push(subnode); } // ignore all nodes that are not type 1, that are svg, or that // should not be parsed as script, style, and others else if (nodeType === 1 && !('ownerSVGElement' in subnode) && !shouldntBeParsed.test(subnode.nodeName.toLowerCase())) { grabAllTextNodes(subnode, allText); } } return allText; } /** * Used to both remove the possible variant * and to convert utf16 into code points. * If there is a zero-width-joiner (U+200D), leave the variants in. * @param string the raw text of the emoji match * @return string the code point */ function grabTheRightIcon(rawText) { // if variant is present as \uFE0F return toCodePoint(rawText.indexOf(U200D) < 0 ? rawText.replace(UFE0Fg, '') : rawText ); } /** * DOM version of the same logic / parser: * emojify all found sub-text nodes placing images node instead. * @param Element generic DOM node with some text in some child node * @param Object options containing info about how to parse * * .callback Function the callback to invoke per each found emoji. * .base string the base url, by default twemoji.base * .ext string the image extension, by default twemoji.ext * .size string the assets size, by default twemoji.size * * @return Element same generic node with emoji in place, if any. */ function parseNode(node, options) { var allText = grabAllTextNodes(node, []), length = allText.length, attrib, attrname, modified, fragment, subnode, text, match, i, index, img, rawText, iconId, src; while (length--) { modified = false; fragment = document.createDocumentFragment(); subnode = allText[length]; text = subnode.nodeValue; i = 0; while ((match = re.exec(text))) { index = match.index; if (index !== i) { fragment.appendChild( createText(text.slice(i, index), true) ); } rawText = match[0]; iconId = grabTheRightIcon(rawText); i = index + rawText.length; src = options.callback(iconId, options); if (iconId && src) { img = new Image(); img.onerror = options.onerror; img.setAttribute('draggable', 'false'); attrib = options.attributes(rawText, iconId); for (attrname in attrib) { if ( attrib.hasOwnProperty(attrname) && // don't allow any handlers to be set + don't allow overrides attrname.indexOf('on') !== 0 && !img.hasAttribute(attrname) ) { img.setAttribute(attrname, attrib[attrname]); } } img.className = options.className; img.alt = rawText; img.src = src; modified = true; fragment.appendChild(img); } if (!img) fragment.appendChild(createText(rawText, false)); img = null; } // is there actually anything to replace in here ? if (modified) { // any text left to be added ? if (i < text.length) { fragment.appendChild( createText(text.slice(i), true) ); } // replace the text node only, leave intact // anything else surrounding such text subnode.parentNode.replaceChild(fragment, subnode); } } return node; } /** * String/HTML version of the same logic / parser: * emojify a generic text placing images tags instead of surrogates pair. * @param string generic string with possibly some emoji in it * @param Object options containing info about how to parse * * .callback Function the callback to invoke per each found emoji. * .base string the base url, by default twemoji.base * .ext string the image extension, by default twemoji.ext * .size string the assets size, by default twemoji.size * * @return the string with replacing all found and parsed emoji */ function parseString(str, options) { return replace(str, function (rawText) { var ret = rawText, iconId = grabTheRightIcon(rawText), src = options.callback(iconId, options), attrib, attrname; if (iconId && src) { // recycle the match string replacing the emoji // with its image counter part ret = ''); } return ret; }); } /** * Function used to actually replace HTML special chars * @param string HTML special char * @return string encoded HTML special char */ function replacer(m) { return escaper[m]; } /** * Default options.attribute callback * @return null */ function returnNull() { return null; } /** * Given a generic value, creates its squared counterpart if it's a number. * As example, number 36 will return '36x36'. * @param any a generic value. * @return any a string representing asset size, i.e. "36x36" * only in case the value was a number. * Returns initial value otherwise. */ function toSizeSquaredAsset(value) { return typeof value === 'number' ? value + 'x' + value : value; } ///////////////////////// // exported functions // // declaration // ///////////////////////// function fromCodePoint(codepoint) { var code = typeof codepoint === 'string' ? parseInt(codepoint, 16) : codepoint; if (code < 0x10000) { return fromCharCode(code); } code -= 0x10000; return fromCharCode( 0xD800 + (code >> 10), 0xDC00 + (code & 0x3FF) ); } function parse(what, how) { if (!how || typeof how === 'function') { how = {callback: how}; } // if first argument is string, inject html tags // otherwise use the DOM tree and parse text nodes only return (typeof what === 'string' ? parseString : parseNode)(what, { callback: how.callback || defaultImageSrcGenerator, attributes: typeof how.attributes === 'function' ? how.attributes : returnNull, base: typeof how.base === 'string' ? how.base : twemoji.base, ext: how.ext || twemoji.ext, size: how.folder || toSizeSquaredAsset(how.size || twemoji.size), className: how.className || twemoji.className, onerror: how.onerror || twemoji.onerror }); } function replace(text, callback) { return String(text).replace(re, callback); } function test(text) { // IE6 needs a reset before too re.lastIndex = 0; var result = re.test(text); re.lastIndex = 0; return result; } function toCodePoint(unicodeSurrogates, sep) { var r = [], c = 0, p = 0, i = 0; while (i < unicodeSurrogates.length) { c = unicodeSurrogates.charCodeAt(i++); if (p) { r.push((0x10000 + ((p - 0xD800) << 10) + (c - 0xDC00)).toString(16)); p = 0; } else if (0xD800 <= c && c <= 0xDBFF) { p = c; } else { r.push(c.toString(16)); } } return r.join(sep || '-'); } }()); if (!location.protocol) { twemoji.base = twemoji.base.replace(/^http:/, ""); } var twemoji_npm = twemoji; var indicatorStyle = 'color: var(--text-accent); width: 2.5em; text-align: center; float:left; font-weight:800;'; var DEFAULT_SETTINGS = { twemojiActive: true }; var MyPlugin = /** @class */ (function (_super) { __extends(MyPlugin, _super); function MyPlugin() { return _super !== null && _super.apply(this, arguments) || this; } MyPlugin.prototype.loadEmojis = function () { function titleCase(string) { var sentence = string.toLowerCase().split('_'); for (var i = 0; i < sentence.length; i++) { sentence[i] = sentence[i][0].toUpperCase() + sentence[i].slice(1); } return sentence.join(' '); } var items = orderedEmoji.map(function (name) { return { name: titleCase(emojiNames[name]["name"]), char: name, imgHtml: twemoji_npm.parse(name) }; }); return items; }; MyPlugin.prototype.onload = function () { return __awaiter(this, void 0, void 0, function () { var _this = this; return __generator(this, function (_a) { switch (_a.label) { case 0: this.emojis = this.loadEmojis(); return [4 /*yield*/, this.loadSettings()]; case 1: _a.sent(); this.addSettingTab(new SettingsTab(this.app, this)); if (this.settings.twemojiActive) { obsidian.MarkdownPreviewRenderer.registerPostProcessor(MyPlugin.postprocessor); } this.addCommand({ id: 'emoji-picker:open-picker', name: 'Open emoji picker', hotkeys: [], checkCallback: function (checking) { var leaf = _this.app.workspace.activeLeaf; if (leaf) { if (!checking) { new EmojiFuzzySuggestModal(_this.app, _this.emojis, _this.settings).open(); } return true; } return false; } }); return [2 /*return*/]; } }); }); }; MyPlugin.prototype.onunload = function () { }; MyPlugin.prototype.loadSettings = function () { return __awaiter(this, void 0, void 0, function () { var _a, _b, _c, _d; return __generator(this, function (_e) { switch (_e.label) { case 0: _a = this; _c = (_b = Object).assign; _d = [{}, DEFAULT_SETTINGS]; return [4 /*yield*/, this.loadData()]; case 1: _a.settings = _c.apply(_b, _d.concat([_e.sent()])); return [2 /*return*/]; } }); }); }; MyPlugin.prototype.saveSettings = function () { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.saveData(this.settings)]; case 1: _a.sent(); return [2 /*return*/]; } }); }); }; MyPlugin.postprocessor = function (el, ctx) { twemoji_npm.parse(el); }; return MyPlugin; }(obsidian.Plugin)); var EmojiFuzzySuggestModal = /** @class */ (function (_super) { __extends(EmojiFuzzySuggestModal, _super); function EmojiFuzzySuggestModal(app, emojis, settings) { var _this = _super.call(this, app) || this; _this.app = app; _this.emojis = emojis; _this.settings = settings; return _this; } EmojiFuzzySuggestModal.prototype.getItems = function () { return this.emojis; }; EmojiFuzzySuggestModal.prototype.getItemText = function (item) { return item.name; }; EmojiFuzzySuggestModal.prototype.renderSuggestion = function (item, el) { _super.prototype.renderSuggestion.call(this, item, el); this.updateSuggestionElForMode(item, el); }; EmojiFuzzySuggestModal.prototype.updateSuggestionElForMode = function (item, el) { var indicatorEl = createEl('div', { attr: { style: indicatorStyle }, }); if (this.settings.twemojiActive) { indicatorEl.innerHTML = item.item.imgHtml; } else { indicatorEl.textContent = item.item.char; } el.insertAdjacentElement('afterbegin', indicatorEl); }; EmojiFuzzySuggestModal.prototype.onChooseItem = function (item, evt) { document.execCommand('insertText', false, item.char); }; return EmojiFuzzySuggestModal; }(obsidian.FuzzySuggestModal)); var SettingsTab = /** @class */ (function (_super) { __extends(SettingsTab, _super); function SettingsTab(app, plugin) { var _this = _super.call(this, app, plugin) || this; _this.plugin = plugin; return _this; } SettingsTab.prototype.display = function () { var _this = this; var containerEl = this.containerEl; containerEl.empty(); containerEl.createEl('h1', { text: 'Emoji Toolbar' }); containerEl.createEl('a', { text: 'Created by oliveryh', href: 'https://github.com/oliveryh/' }); containerEl.createEl('h2', { text: 'Settings' }); new obsidian.Setting(containerEl) .setName('Twitter Emoji') .setDesc('Improved emoji support. Note: this applies to emoji search and preview only.') .addToggle(function (toggle) { return toggle .setValue(_this.plugin.settings.twemojiActive) .onChange(function (value) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: this.plugin.settings.twemojiActive = value; return [4 /*yield*/, this.plugin.saveSettings()]; case 1: _a.sent(); if (value) { obsidian.MarkdownPreviewRenderer.registerPostProcessor(MyPlugin.postprocessor); } else { obsidian.MarkdownPreviewRenderer.unregisterPostProcessor(MyPlugin.postprocessor); } return [2 /*return*/]; } }); }); }); }); }; return SettingsTab; }(obsidian.PluginSettingTab)); module.exports = MyPlugin; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsIm5vZGVfbW9kdWxlcy90d2Vtb2ppL2Rpc3QvdHdlbW9qaS5ucG0uanMiLCJtYWluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcblBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG5wdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcblJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG5BTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG5MT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG5PVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIHApKSBkW3BdID0gYltwXTsgfTtcclxuICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXh0ZW5kcyhkLCBiKSB7XHJcbiAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG4gICAgZnVuY3Rpb24gX18oKSB7IHRoaXMuY29uc3RydWN0b3IgPSBkOyB9XHJcbiAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgX19hc3NpZ24gPSBmdW5jdGlvbigpIHtcclxuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7XHJcbiAgICAgICAgZm9yICh2YXIgcywgaSA9IDEsIG4gPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XHJcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3Jlc3QocywgZSkge1xyXG4gICAgdmFyIHQgPSB7fTtcclxuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxyXG4gICAgICAgIHRbcF0gPSBzW3BdO1xyXG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxyXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XHJcbiAgICAgICAgfVxyXG4gICAgcmV0dXJuIHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2RlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XHJcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcclxuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XHJcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19wYXJhbShwYXJhbUluZGV4LCBkZWNvcmF0b3IpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHsgZGVjb3JhdG9yKHRhcmdldCwga2V5LCBwYXJhbUluZGV4KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2dlbmVyYXRvcih0aGlzQXJnLCBib2R5KSB7XHJcbiAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xyXG4gICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiBzdGVwKFtuLCB2XSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHtcclxuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XHJcbiAgICAgICAgd2hpbGUgKF8pIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcclxuICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XHJcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH1cclxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2NyZWF0ZUJpbmRpbmcgPSBPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XHJcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIGsyLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiBtW2tdOyB9IH0pO1xyXG59KSA6IChmdW5jdGlvbihvLCBtLCBrLCBrMikge1xyXG4gICAgaWYgKGsyID09PSB1bmRlZmluZWQpIGsyID0gaztcclxuICAgIG9bazJdID0gbVtrXTtcclxufSk7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHBvcnRTdGFyKG0sIG8pIHtcclxuICAgIGZvciAodmFyIHAgaW4gbSkgaWYgKHAgIT09IFwiZGVmYXVsdFwiICYmICFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobywgcCkpIF9fY3JlYXRlQmluZGluZyhvLCBtLCBwKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fdmFsdWVzKG8pIHtcclxuICAgIHZhciBzID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIFN5bWJvbC5pdGVyYXRvciwgbSA9IHMgJiYgb1tzXSwgaSA9IDA7XHJcbiAgICBpZiAobSkgcmV0dXJuIG0uY2FsbChvKTtcclxuICAgIGlmIChvICYmIHR5cGVvZiBvLmxlbmd0aCA9PT0gXCJudW1iZXJcIikgcmV0dXJuIHtcclxuICAgICAgICBuZXh0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChvICYmIGkgPj0gby5sZW5ndGgpIG8gPSB2b2lkIDA7XHJcbiAgICAgICAgICAgIHJldHVybiB7IHZhbHVlOiBvICYmIG9baSsrXSwgZG9uZTogIW8gfTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihzID8gXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiIDogXCJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZWFkKG8sIG4pIHtcclxuICAgIHZhciBtID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXTtcclxuICAgIGlmICghbSkgcmV0dXJuIG87XHJcbiAgICB2YXIgaSA9IG0uY2FsbChvKSwgciwgYXIgPSBbXSwgZTtcclxuICAgIHRyeSB7XHJcbiAgICAgICAgd2hpbGUgKChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShyID0gaS5uZXh0KCkpLmRvbmUpIGFyLnB1c2goci52YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH1cclxuICAgIGZpbmFsbHkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpW1wicmV0dXJuXCJdKSkgbS5jYWxsKGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaW5hbGx5IHsgaWYgKGUpIHRocm93IGUuZXJyb3I7IH1cclxuICAgIH1cclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkKCkge1xyXG4gICAgZm9yICh2YXIgYXIgPSBbXSwgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgYXIgPSBhci5jb25jYXQoX19yZWFkKGFyZ3VtZW50c1tpXSkpO1xyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWRBcnJheXMoKSB7XHJcbiAgICBmb3IgKHZhciBzID0gMCwgaSA9IDAsIGlsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGlsOyBpKyspIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcclxuICAgIGZvciAodmFyIHIgPSBBcnJheShzKSwgayA9IDAsIGkgPSAwOyBpIDwgaWw7IGkrKylcclxuICAgICAgICBmb3IgKHZhciBhID0gYXJndW1lbnRzW2ldLCBqID0gMCwgamwgPSBhLmxlbmd0aDsgaiA8IGpsOyBqKyssIGsrKylcclxuICAgICAgICAgICAgcltrXSA9IGFbal07XHJcbiAgICByZXR1cm4gcjtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0KHYpIHtcclxuICAgIHJldHVybiB0aGlzIGluc3RhbmNlb2YgX19hd2FpdCA/ICh0aGlzLnYgPSB2LCB0aGlzKSA6IG5ldyBfX2F3YWl0KHYpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0dlbmVyYXRvcih0aGlzQXJnLCBfYXJndW1lbnRzLCBnZW5lcmF0b3IpIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgZyA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSwgaSwgcSA9IFtdO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlmIChnW25dKSBpW25dID0gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChhLCBiKSB7IHEucHVzaChbbiwgdiwgYSwgYl0pID4gMSB8fCByZXN1bWUobiwgdik7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiByZXN1bWUobiwgdikgeyB0cnkgeyBzdGVwKGdbbl0odikpOyB9IGNhdGNoIChlKSB7IHNldHRsZShxWzBdWzNdLCBlKTsgfSB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKHIpIHsgci52YWx1ZSBpbnN0YW5jZW9mIF9fYXdhaXQgPyBQcm9taXNlLnJlc29sdmUoci52YWx1ZS52KS50aGVuKGZ1bGZpbGwsIHJlamVjdCkgOiBzZXR0bGUocVswXVsyXSwgcik7IH1cclxuICAgIGZ1bmN0aW9uIGZ1bGZpbGwodmFsdWUpIHsgcmVzdW1lKFwibmV4dFwiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHJlamVjdCh2YWx1ZSkgeyByZXN1bWUoXCJ0aHJvd1wiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShmLCB2KSB7IGlmIChmKHYpLCBxLnNoaWZ0KCksIHEubGVuZ3RoKSByZXN1bWUocVswXVswXSwgcVswXVsxXSk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNEZWxlZ2F0b3Iobykge1xyXG4gICAgdmFyIGksIHA7XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIsIGZ1bmN0aW9uIChlKSB7IHRocm93IGU7IH0pLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlbbl0gPSBvW25dID8gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIChwID0gIXApID8geyB2YWx1ZTogX19hd2FpdChvW25dKHYpKSwgZG9uZTogbiA9PT0gXCJyZXR1cm5cIiB9IDogZiA/IGYodikgOiB2OyB9IDogZjsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY1ZhbHVlcyhvKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIG0gPSBvW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSwgaTtcclxuICAgIHJldHVybiBtID8gbS5jYWxsKG8pIDogKG8gPSB0eXBlb2YgX192YWx1ZXMgPT09IFwiZnVuY3Rpb25cIiA/IF9fdmFsdWVzKG8pIDogb1tTeW1ib2wuaXRlcmF0b3JdKCksIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpKTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpW25dID0gb1tuXSAmJiBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeyB2ID0gb1tuXSh2KSwgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgdi5kb25lLCB2LnZhbHVlKTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIGQsIHYpIHsgUHJvbWlzZS5yZXNvbHZlKHYpLnRoZW4oZnVuY3Rpb24odikgeyByZXNvbHZlKHsgdmFsdWU6IHYsIGRvbmU6IGQgfSk7IH0sIHJlamVjdCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWFrZVRlbXBsYXRlT2JqZWN0KGNvb2tlZCwgcmF3KSB7XHJcbiAgICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb29rZWQsIFwicmF3XCIsIHsgdmFsdWU6IHJhdyB9KTsgfSBlbHNlIHsgY29va2VkLnJhdyA9IHJhdzsgfVxyXG4gICAgcmV0dXJuIGNvb2tlZDtcclxufTtcclxuXHJcbnZhciBfX3NldE1vZHVsZURlZmF1bHQgPSBPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIHYpIHtcclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCBcImRlZmF1bHRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdiB9KTtcclxufSkgOiBmdW5jdGlvbihvLCB2KSB7XHJcbiAgICBvW1wiZGVmYXVsdFwiXSA9IHY7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnRTdGFyKG1vZCkge1xyXG4gICAgaWYgKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgcmV0dXJuIG1vZDtcclxuICAgIHZhciByZXN1bHQgPSB7fTtcclxuICAgIGlmIChtb2QgIT0gbnVsbCkgZm9yICh2YXIgayBpbiBtb2QpIGlmIChrICE9PSBcImRlZmF1bHRcIiAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobW9kLCBrKSkgX19jcmVhdGVCaW5kaW5nKHJlc3VsdCwgbW9kLCBrKTtcclxuICAgIF9fc2V0TW9kdWxlRGVmYXVsdChyZXN1bHQsIG1vZCk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xyXG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBkZWZhdWx0OiBtb2QgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRHZXQocmVjZWl2ZXIsIHByaXZhdGVNYXApIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBnZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcHJpdmF0ZU1hcC5nZXQocmVjZWl2ZXIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZFNldChyZWNlaXZlciwgcHJpdmF0ZU1hcCwgdmFsdWUpIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBzZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlTWFwLnNldChyZWNlaXZlciwgdmFsdWUpO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG59XHJcbiIsInZhciBsb2NhdGlvbiA9IGdsb2JhbC5sb2NhdGlvbiB8fCB7fTtcbi8qanNsaW50IGluZGVudDogMiwgYnJvd3NlcjogdHJ1ZSwgYml0d2lzZTogdHJ1ZSwgcGx1c3BsdXM6IHRydWUgKi9cbnZhciB0d2Vtb2ppID0gKGZ1bmN0aW9uIChcbiAgLyohIENvcHlyaWdodCBUd2l0dGVyIEluYy4gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycy4gTGljZW5zZWQgdW5kZXIgTUlUICovLypcbiAgICBodHRwczovL2dpdGh1Yi5jb20vdHdpdHRlci90d2Vtb2ppL2Jsb2IvZ2gtcGFnZXMvTElDRU5TRVxuICAqL1xuXG4gIC8vIFdBUk5JTkc6ICAgdGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IHZpYVxuICAvLyAgICAgICAgICAgIGBub2RlIHNjcmlwdHMvYnVpbGQuanNgXG4gIC8vICAgICAgICAgICAgcGxlYXNlIHVwZGF0ZSBpdHMgYGNyZWF0ZVR3ZW1vamlgIGZ1bmN0aW9uXG4gIC8vICAgICAgICAgICAgYXQgdGhlIGJvdHRvbSBvZiB0aGUgc2FtZSBmaWxlIGluc3RlYWQuXG5cbikge1xuICAndXNlIHN0cmljdCc7XG5cbiAgLypqc2hpbnQgbWF4cGFyYW1zOjQgKi9cblxuICB2YXJcbiAgICAvLyB0aGUgZXhwb3J0ZWQgbW9kdWxlIG9iamVjdFxuICAgIHR3ZW1vamkgPSB7XG5cblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyAgICAgIHByb3BlcnRpZXMgICAgIC8vXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAvLyBkZWZhdWx0IGFzc2V0cyB1cmwsIGJ5IGRlZmF1bHQgd2lsbCBiZSBUd2l0dGVyIEluYy4gQ0ROXG4gICAgICBiYXNlOiAnaHR0cHM6Ly90d2Vtb2ppLm1heGNkbi5jb20vdi8xMy4wLjEvJyxcblxuICAgICAgLy8gZGVmYXVsdCBhc3NldHMgZmlsZSBleHRlbnNpb25zLCBieSBkZWZhdWx0ICcucG5nJ1xuICAgICAgZXh0OiAnLnBuZycsXG5cbiAgICAgIC8vIGRlZmF1bHQgYXNzZXRzL2ZvbGRlciBzaXplLCBieSBkZWZhdWx0IFwiNzJ4NzJcIlxuICAgICAgLy8gYXZhaWxhYmxlIHZpYSBUd2l0dGVyIENETjogNzJcbiAgICAgIHNpemU6ICc3Mng3MicsXG5cbiAgICAgIC8vIGRlZmF1bHQgY2xhc3MgbmFtZSwgYnkgZGVmYXVsdCAnZW1vamknXG4gICAgICBjbGFzc05hbWU6ICdlbW9qaScsXG5cbiAgICAgIC8vIGJhc2ljIHV0aWxpdGllcyAvIGhlbHBlcnMgdG8gY29udmVydCBjb2RlIHBvaW50c1xuICAgICAgLy8gdG8gSmF2YVNjcmlwdCBzdXJyb2dhdGVzIGFuZCB2aWNlIHZlcnNhXG4gICAgICBjb252ZXJ0OiB7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEdpdmVuIGFuIEhFWCBjb2RlcG9pbnQsIHJldHVybnMgVVRGMTYgc3Vycm9nYXRlIHBhaXJzLlxuICAgICAgICAgKlxuICAgICAgICAgKiBAcGFyYW0gICBzdHJpbmcgIGdlbmVyaWMgY29kZXBvaW50LCBpLmUuICcxRjRBOSdcbiAgICAgICAgICogQHJldHVybiAgc3RyaW5nICBjb2RlcG9pbnQgdHJhbnNmb3JtZWQgaW50byB1dGYxNiBzdXJyb2dhdGVzIHBhaXIsXG4gICAgICAgICAqICAgICAgICAgIGkuZS4gXFx1RDgzRFxcdURDQTlcbiAgICAgICAgICpcbiAgICAgICAgICogQGV4YW1wbGVcbiAgICAgICAgICogIHR3ZW1vamkuY29udmVydC5mcm9tQ29kZVBvaW50KCcxZjFlOCcpO1xuICAgICAgICAgKiAgLy8gXCJcXHVkODNjXFx1ZGRlOFwiXG4gICAgICAgICAqXG4gICAgICAgICAqICAnMWYxZTgtMWYxZjMnLnNwbGl0KCctJykubWFwKHR3ZW1vamkuY29udmVydC5mcm9tQ29kZVBvaW50KS5qb2luKCcnKVxuICAgICAgICAgKiAgLy8gXCJcXHVkODNjXFx1ZGRlOFxcdWQ4M2NcXHVkZGYzXCJcbiAgICAgICAgICovXG4gICAgICAgIGZyb21Db2RlUG9pbnQ6IGZyb21Db2RlUG9pbnQsXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEdpdmVuIFVURjE2IHN1cnJvZ2F0ZSBwYWlycywgcmV0dXJucyB0aGUgZXF1aXZhbGVudCBIRVggY29kZXBvaW50LlxuICAgICAgICAgKlxuICAgICAgICAgKiBAcGFyYW0gICBzdHJpbmcgIGdlbmVyaWMgdXRmMTYgc3Vycm9nYXRlcyBwYWlyLCBpLmUuIFxcdUQ4M0RcXHVEQ0E5XG4gICAgICAgICAqIEBwYXJhbSAgIHN0cmluZyAgb3B0aW9uYWwgc2VwYXJhdG9yIGZvciBkb3VibGUgY29kZSBwb2ludHMsIGRlZmF1bHQ9Jy0nXG4gICAgICAgICAqIEByZXR1cm4gIHN0cmluZyAgdXRmMTYgdHJhbnNmb3JtZWQgaW50byBjb2RlcG9pbnQsIGkuZS4gJzFGNEE5J1xuICAgICAgICAgKlxuICAgICAgICAgKiBAZXhhbXBsZVxuICAgICAgICAgKiAgdHdlbW9qaS5jb252ZXJ0LnRvQ29kZVBvaW50KCdcXHVkODNjXFx1ZGRlOFxcdWQ4M2NcXHVkZGYzJyk7XG4gICAgICAgICAqICAvLyBcIjFmMWU4LTFmMWYzXCJcbiAgICAgICAgICpcbiAgICAgICAgICogIHR3ZW1vamkuY29udmVydC50b0NvZGVQb2ludCgnXFx1ZDgzY1xcdWRkZThcXHVkODNjXFx1ZGRmMycsICd+Jyk7XG4gICAgICAgICAqICAvLyBcIjFmMWU4fjFmMWYzXCJcbiAgICAgICAgICovXG4gICAgICAgIHRvQ29kZVBvaW50OiB0b0NvZGVQb2ludFxuICAgICAgfSxcblxuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vICAgICAgIG1ldGhvZHMgICAgICAgLy9cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgIC8qKlxuICAgICAgICogVXNlciBmaXJzdDogdXNlZCB0byByZW1vdmUgbWlzc2luZyBpbWFnZXNcbiAgICAgICAqIHByZXNlcnZpbmcgdGhlIG9yaWdpbmFsIHRleHQgaW50ZW50IHdoZW5cbiAgICAgICAqIGEgZmFsbGJhY2sgZm9yIG5ldHdvcmsgcHJvYmxlbXMgaXMgZGVzaXJlZC5cbiAgICAgICAqIEF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gSW1hZ2Ugbm9kZXMgdmlhIERPTVxuICAgICAgICogSXQgY291bGQgYmUgcmVjeWNsZWQgZm9yIHN0cmluZyBvcGVyYXRpb25zIHZpYTpcbiAgICAgICAqICAkKCdpbWcuZW1vamknKS5vbignZXJyb3InLCB0d2Vtb2ppLm9uZXJyb3IpXG4gICAgICAgKi9cbiAgICAgIG9uZXJyb3I6IGZ1bmN0aW9uIG9uZXJyb3IoKSB7XG4gICAgICAgIGlmICh0aGlzLnBhcmVudE5vZGUpIHtcbiAgICAgICAgICB0aGlzLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGNyZWF0ZVRleHQodGhpcy5hbHQsIGZhbHNlKSwgdGhpcyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogTWFpbiBtZXRob2QvbG9naWMgdG8gZ2VuZXJhdGUgZWl0aGVyIDxpbWc+IHRhZ3Mgb3IgSFRNTEltYWdlIG5vZGVzLlxuICAgICAgICogIFwiZW1vamlmeVwiIGEgZ2VuZXJpYyB0ZXh0IG9yIERPTSBFbGVtZW50LlxuICAgICAgICpcbiAgICAgICAqIEBvdmVybG9hZHNcbiAgICAgICAqXG4gICAgICAgKiBTdHJpbmcgcmVwbGFjZW1lbnQgZm9yIGBpbm5lckhUTUxgIG9yIHNlcnZlciBzaWRlIG9wZXJhdGlvbnNcbiAgICAgICAqICB0d2Vtb2ppLnBhcnNlKHN0cmluZyk7XG4gICAgICAgKiAgdHdlbW9qaS5wYXJzZShzdHJpbmcsIEZ1bmN0aW9uKTtcbiAgICAgICAqICB0d2Vtb2ppLnBhcnNlKHN0cmluZywgT2JqZWN0KTtcbiAgICAgICAqXG4gICAgICAgKiBIVE1MRWxlbWVudCB0cmVlIHBhcnNpbmcgZm9yIHNhZmVyIG9wZXJhdGlvbnMgb3ZlciBleGlzdGluZyBET01cbiAgICAgICAqICB0d2Vtb2ppLnBhcnNlKEhUTUxFbGVtZW50KTtcbiAgICAgICAqICB0d2Vtb2ppLnBhcnNlKEhUTUxFbGVtZW50LCBGdW5jdGlvbik7XG4gICAgICAgKiAgdHdlbW9qaS5wYXJzZShIVE1MRWxlbWVudCwgT2JqZWN0KTtcbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0gICBzdHJpbmd8SFRNTEVsZW1lbnQgIHRoZSBzb3VyY2UgdG8gcGFyc2UgYW5kIGVucmljaCB3aXRoIGVtb2ppLlxuICAgICAgICpcbiAgICAgICAqICAgICAgICAgIHN0cmluZyAgICAgICAgICAgICAgcmVwbGFjZSBlbW9qaSBtYXRjaGVzIHdpdGggPGltZz4gdGFncy5cbiAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbmx5IHVzZWQgdG8gaW5qZWN0IGVtb2ppIHZpYSBgaW5uZXJIVE1MYFxuICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJdCBkb2VzICoqbm90KiogcGFyc2UgdGhlIHN0cmluZyBvciB2YWxpZGF0ZSBpdCxcbiAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXQgc2ltcGx5IHJlcGxhY2VzIGZvdW5kIGVtb2ppIHdpdGggYSB0YWcuXG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PVEU6IGJlIHN1cmUgdGhpcyB3b24ndCBhZmZlY3Qgc2VjdXJpdHkuXG4gICAgICAgKlxuICAgICAgICogICAgICAgICAgSFRNTEVsZW1lbnQgICAgICAgICB3YWxrIHRocm91Z2ggdGhlIERPTSB0cmVlIGFuZCBmaW5kIGVtb2ppXG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgYXJlIGluc2lkZSAqKnRleHQgbm9kZSBvbmx5KiogKG5vZGVUeXBlID09PSAzKVxuICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWlubHkgdXNlZCB0byBwdXQgZW1vamkgaW4gYWxyZWFkeSBnZW5lcmF0ZWQgRE9NXG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhvdXQgY29tcHJvbWlzaW5nIHN1cnJvdW5kaW5nIG5vZGVzIGFuZFxuICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKmF2b2lkaW5nKiogdGhlIHVzYWdlIG9mIGBpbm5lckhUTUxgLlxuICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOT1RFOiBVc2luZyBET00gZWxlbWVudHMgaW5zdGVhZCBvZiBzdHJpbmdzIHNob3VsZFxuICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXByb3ZlIHNlY3VyaXR5IHdpdGhvdXQgY29tcHJvbWlzaW5nIHRvbyBtdWNoXG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1hbmNlIGNvbXBhcmVkIHdpdGggYSBsZXNzIHNhZmUgYGlubmVySFRNTGAuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtICAgRnVuY3Rpb258T2JqZWN0ICBbb3B0aW9uYWxdXG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciB0aGUgY2FsbGJhY2sgdGhhdCB3aWxsIGJlIGludm9rZWQgb3IgYW4gb2JqZWN0XG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggYWxsIHByb3BlcnRpZXMgdG8gdXNlIHBlciBlYWNoIGZvdW5kIGVtb2ppLlxuICAgICAgICpcbiAgICAgICAqICAgICAgICAgIEZ1bmN0aW9uICAgICAgICAgICAgaWYgc3BlY2lmaWVkLCB0aGlzIHdpbGwgYmUgaW52b2tlZCBwZXIgZWFjaCBlbW9qaVxuICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0IGhhcyBiZWVuIGZvdW5kIHRocm91Z2ggdGhlIFJlZ0V4cCBleGNlcHRcbiAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhvc2UgZm9sbHdlZCBieSB0aGUgaW52YXJpYW50IFxcdUZFMEUgKFwiYXMgdGV4dFwiKS5cbiAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT25jZSBpbnZva2VkLCBwYXJhbWV0ZXJzIHdpbGwgYmU6XG4gICAgICAgKlxuICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25JZDpzdHJpbmcgICAgIHRoZSBsb3dlciBjYXNlIEhFWCBjb2RlIHBvaW50XG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaS5lLiBcIjFmNGE5XCJcbiAgICAgICAqXG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczpPYmplY3QgICAgYWxsIGluZm8gZm9yIHRoaXMgcGFyc2luZyBvcGVyYXRpb25cbiAgICAgICAqXG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudDpjaGFyICAgICAgdGhlIG9wdGlvbmFsIFxcdUZFMEYgKFwiYXMgaW1hZ2VcIilcbiAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50LCBpbiBjYXNlIHRoaXMgaW5mb1xuICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIGFueWhvdyBtZWFuaW5nZnVsLlxuICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5IGRlZmF1bHQgdGhpcyBpcyBpZ25vcmVkLlxuICAgICAgICpcbiAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgc3VjaCBjYWxsYmFjayB3aWxsIHJldHVybiBhIGZhbHN5IHZhbHVlIGluc3RlYWRcbiAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgYSB2YWxpZCBgc3JjYCB0byB1c2UgZm9yIHRoZSBpbWFnZSwgbm90aGluZyB3aWxsXG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbGx5IGNoYW5nZSBmb3IgdGhhdCBzcGVjaWZpYyBlbW9qaS5cbiAgICAgICAqXG4gICAgICAgKlxuICAgICAgICogICAgICAgICAgT2JqZWN0ICAgICAgICAgICAgICBpZiBzcGVjaWZpZWQsIGFuIG9iamVjdCBjb250YWluaW5nIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllc1xuICAgICAgICpcbiAgICAgICAqICAgICAgICAgICAgY2FsbGJhY2sgICBGdW5jdGlvbiAgdGhlIGNhbGxiYWNrIHRvIGludm9rZSBwZXIgZWFjaCBmb3VuZCBlbW9qaS5cbiAgICAgICAqICAgICAgICAgICAgYmFzZSAgICAgICBzdHJpbmcgICAgdGhlIGJhc2UgdXJsLCBieSBkZWZhdWx0IHR3ZW1vamkuYmFzZVxuICAgICAgICogICAgICAgICAgICBleHQgICAgICAgIHN0cmluZyAgICB0aGUgaW1hZ2UgZXh0ZW5zaW9uLCBieSBkZWZhdWx0IHR3ZW1vamkuZXh0XG4gICAgICAgKiAgICAgICAgICAgIHNpemUgICAgICAgc3RyaW5nICAgIHRoZSBhc3NldHMgc2l6ZSwgYnkgZGVmYXVsdCB0d2Vtb2ppLnNpemVcbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICB0d2Vtb2ppLnBhcnNlKFwiSSBcXHUyNzY0XFx1RkUwRiBlbW9qaSFcIik7XG4gICAgICAgKiAgLy8gSSA8aW1nIGNsYXNzPVwiZW1vamlcIiBkcmFnZ2FibGU9XCJmYWxzZVwiIGFsdD1cIuKdpO+4j1wiIHNyYz1cIi9hc3NldHMvMjc2NC5naWZcIi8+IGVtb2ppIVxuICAgICAgICpcbiAgICAgICAqXG4gICAgICAgKiAgdHdlbW9qaS5wYXJzZShcIkkgXFx1Mjc2NFxcdUZFMEYgZW1vamkhXCIsIGZ1bmN0aW9uKGljb25JZCwgb3B0aW9ucykge1xuICAgICAgICogICAgcmV0dXJuICcvYXNzZXRzLycgKyBpY29uSWQgKyAnLmdpZic7XG4gICAgICAgKiAgfSk7XG4gICAgICAgKiAgLy8gSSA8aW1nIGNsYXNzPVwiZW1vamlcIiBkcmFnZ2FibGU9XCJmYWxzZVwiIGFsdD1cIuKdpO+4j1wiIHNyYz1cIi9hc3NldHMvMjc2NC5naWZcIi8+IGVtb2ppIVxuICAgICAgICpcbiAgICAgICAqXG4gICAgICAgKiB0d2Vtb2ppLnBhcnNlKFwiSSBcXHUyNzY0XFx1RkUwRiBlbW9qaSFcIiwge1xuICAgICAgICogICBzaXplOiA3MixcbiAgICAgICAqICAgY2FsbGJhY2s6IGZ1bmN0aW9uKGljb25JZCwgb3B0aW9ucykge1xuICAgICAgICogICAgIHJldHVybiAnL2Fzc2V0cy8nICsgb3B0aW9ucy5zaXplICsgJy8nICsgaWNvbklkICsgb3B0aW9ucy5leHQ7XG4gICAgICAgKiAgIH1cbiAgICAgICAqIH0pO1xuICAgICAgICogIC8vIEkgPGltZyBjbGFzcz1cImVtb2ppXCIgZHJhZ2dhYmxlPVwiZmFsc2VcIiBhbHQ9XCLinaTvuI9cIiBzcmM9XCIvYXNzZXRzLzcyeDcyLzI3NjQucG5nXCIvPiBlbW9qaSFcbiAgICAgICAqXG4gICAgICAgKi9cbiAgICAgIHBhcnNlOiBwYXJzZSxcblxuICAgICAgLyoqXG4gICAgICAgKiBHaXZlbiBhIHN0cmluZywgaW52b2tlcyB0aGUgY2FsbGJhY2sgYXJndW1lbnRcbiAgICAgICAqICBwZXIgZWFjaCBlbW9qaSBmb3VuZCBpbiBzdWNoIHN0cmluZy5cbiAgICAgICAqIFRoaXMgaXMgdGhlIG1vc3QgcmF3IHZlcnNpb24gdXNlZCBieVxuICAgICAgICogIHRoZSAucGFyc2Uoc3RyaW5nKSBtZXRob2QgaXRzZWxmLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSAgIHN0cmluZyAgICBnZW5lcmljIHN0cmluZyB0byBwYXJzZVxuICAgICAgICogQHBhcmFtICAgRnVuY3Rpb24gIGEgZ2VuZXJpYyBjYWxsYmFjayB0aGF0IHdpbGwgYmVcbiAgICAgICAqICAgICAgICAgICAgICAgICAgICBpbnZva2VkIHRvIHJlcGxhY2UgdGhlIGNvbnRlbnQuXG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgVGhpcyBjYWxiYWNrIHdpbCByZWNlaXZlIHN0YW5kYXJkXG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlKHN0ciwgY2FsbGJhY2spXG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRzIHN1Y2g6XG4gICAgICAgKiAgY2FsbGJhY2soXG4gICAgICAgKiAgICByYXdUZXh0LCAgLy8gdGhlIGVtb2ppIG1hdGNoXG4gICAgICAgKiAgKTtcbiAgICAgICAqXG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgYW5kIG90aGVycyBjb21tb25seSByZWNlaXZlZCB2aWEgcmVwbGFjZS5cbiAgICAgICAqL1xuICAgICAgcmVwbGFjZTogcmVwbGFjZSxcblxuICAgICAgLyoqXG4gICAgICAgKiBTaW1wbGlmeSBzdHJpbmcgdGVzdHMgYWdhaW5zdCBlbW9qaS5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0gICBzdHJpbmcgIHNvbWUgdGV4dCB0aGF0IG1pZ2h0IGNvbnRhaW4gZW1vamlcbiAgICAgICAqIEByZXR1cm4gIGJvb2xlYW4gdHJ1ZSBpZiBhbnkgZW1vamkgd2FzIGZvdW5kLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgaWYgKHR3ZW1vamkudGVzdChzb21lQ29udGVudCkpIHtcbiAgICAgICAqICAgIGNvbnNvbGUubG9nKFwiZW1vamkgQWxsIFRoZSBUaGluZ3MhXCIpO1xuICAgICAgICogIH1cbiAgICAgICAqL1xuICAgICAgdGVzdDogdGVzdFxuICAgIH0sXG5cbiAgICAvLyB1c2VkIHRvIGVzY2FwZSBIVE1MIHNwZWNpYWwgY2hhcnMgaW4gYXR0cmlidXRlc1xuICAgIGVzY2FwZXIgPSB7XG4gICAgICAnJic6ICcmYW1wOycsXG4gICAgICAnPCc6ICcmbHQ7JyxcbiAgICAgICc+JzogJyZndDsnLFxuICAgICAgXCInXCI6ICcmIzM5OycsXG4gICAgICAnXCInOiAnJnF1b3Q7J1xuICAgIH0sXG5cbiAgICAvLyBSZWdFeHAgYmFzZWQgb24gZW1vamkncyBvZmZpY2lhbCBVbmljb2RlIHN0YW5kYXJkc1xuICAgIC8vIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljL1VOSURBVEEvRW1vamlTb3VyY2VzLnR4dFxuICAgIHJlID0gLyg/OlxcdWQ4M2RcXHVkYzY4XFx1ZDgzY1xcdWRmZmJcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZFxcdWRjNjhcXHVkODNjW1xcdWRmZmMtXFx1ZGZmZl18XFx1ZDgzZFxcdWRjNjhcXHVkODNjXFx1ZGZmY1xcdTIwMGRcXHVkODNlXFx1ZGQxZFxcdTIwMGRcXHVkODNkXFx1ZGM2OFxcdWQ4M2NbXFx1ZGZmYlxcdWRmZmQtXFx1ZGZmZl18XFx1ZDgzZFxcdWRjNjhcXHVkODNjXFx1ZGZmZFxcdTIwMGRcXHVkODNlXFx1ZGQxZFxcdTIwMGRcXHVkODNkXFx1ZGM2OFxcdWQ4M2NbXFx1ZGZmYlxcdWRmZmNcXHVkZmZlXFx1ZGZmZl18XFx1ZDgzZFxcdWRjNjhcXHVkODNjXFx1ZGZmZVxcdTIwMGRcXHVkODNlXFx1ZGQxZFxcdTIwMGRcXHVkODNkXFx1ZGM2OFxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZkXFx1ZGZmZl18XFx1ZDgzZFxcdWRjNjhcXHVkODNjXFx1ZGZmZlxcdTIwMGRcXHVkODNlXFx1ZGQxZFxcdTIwMGRcXHVkODNkXFx1ZGM2OFxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZlXXxcXHVkODNkXFx1ZGM2OVxcdWQ4M2NcXHVkZmZiXFx1MjAwZFxcdWQ4M2VcXHVkZDFkXFx1MjAwZFxcdWQ4M2RcXHVkYzY4XFx1ZDgzY1tcXHVkZmZjLVxcdWRmZmZdfFxcdWQ4M2RcXHVkYzY5XFx1ZDgzY1xcdWRmZmJcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZFxcdWRjNjlcXHVkODNjW1xcdWRmZmMtXFx1ZGZmZl18XFx1ZDgzZFxcdWRjNjlcXHVkODNjXFx1ZGZmY1xcdTIwMGRcXHVkODNlXFx1ZGQxZFxcdTIwMGRcXHVkODNkXFx1ZGM2OFxcdWQ4M2NbXFx1ZGZmYlxcdWRmZmQtXFx1ZGZmZl18XFx1ZDgzZFxcdWRjNjlcXHVkODNjXFx1ZGZmY1xcdTIwMGRcXHVkODNlXFx1ZGQxZFxcdTIwMGRcXHVkODNkXFx1ZGM2OVxcdWQ4M2NbXFx1ZGZmYlxcdWRmZmQtXFx1ZGZmZl18XFx1ZDgzZFxcdWRjNjlcXHVkODNjXFx1ZGZmZFxcdTIwMGRcXHVkODNlXFx1ZGQxZFxcdTIwMGRcXHVkODNkXFx1ZGM2OFxcdWQ4M2NbXFx1ZGZmYlxcdWRmZmNcXHVkZmZlXFx1ZGZmZl18XFx1ZDgzZFxcdWRjNjlcXHVkODNjXFx1ZGZmZFxcdTIwMGRcXHVkODNlXFx1ZGQxZFxcdTIwMGRcXHVkODNkXFx1ZGM2OVxcdWQ4M2NbXFx1ZGZmYlxcdWRmZmNcXHVkZmZlXFx1ZGZmZl18XFx1ZDgzZFxcdWRjNjlcXHVkODNjXFx1ZGZmZVxcdTIwMGRcXHVkODNlXFx1ZGQxZFxcdTIwMGRcXHVkODNkXFx1ZGM2OFxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZkXFx1ZGZmZl18XFx1ZDgzZFxcdWRjNjlcXHVkODNjXFx1ZGZmZVxcdTIwMGRcXHVkODNlXFx1ZGQxZFxcdTIwMGRcXHVkODNkXFx1ZGM2OVxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZkXFx1ZGZmZl18XFx1ZDgzZFxcdWRjNjlcXHVkODNjXFx1ZGZmZlxcdTIwMGRcXHVkODNlXFx1ZGQxZFxcdTIwMGRcXHVkODNkXFx1ZGM2OFxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZlXXxcXHVkODNkXFx1ZGM2OVxcdWQ4M2NcXHVkZmZmXFx1MjAwZFxcdWQ4M2VcXHVkZDFkXFx1MjAwZFxcdWQ4M2RcXHVkYzY5XFx1ZDgzY1tcXHVkZmZiLVxcdWRmZmVdfFxcdWQ4M2VcXHVkZGQxXFx1ZDgzY1xcdWRmZmJcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZVxcdWRkZDFcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl18XFx1ZDgzZVxcdWRkZDFcXHVkODNjXFx1ZGZmY1xcdTIwMGRcXHVkODNlXFx1ZGQxZFxcdTIwMGRcXHVkODNlXFx1ZGRkMVxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZmXXxcXHVkODNlXFx1ZGRkMVxcdWQ4M2NcXHVkZmZkXFx1MjAwZFxcdWQ4M2VcXHVkZDFkXFx1MjAwZFxcdWQ4M2VcXHVkZGQxXFx1ZDgzY1tcXHVkZmZiLVxcdWRmZmZdfFxcdWQ4M2VcXHVkZGQxXFx1ZDgzY1xcdWRmZmVcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZVxcdWRkZDFcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl18XFx1ZDgzZVxcdWRkZDFcXHVkODNjXFx1ZGZmZlxcdTIwMGRcXHVkODNlXFx1ZGQxZFxcdTIwMGRcXHVkODNlXFx1ZGRkMVxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZmXXxcXHVkODNlXFx1ZGRkMVxcdTIwMGRcXHVkODNlXFx1ZGQxZFxcdTIwMGRcXHVkODNlXFx1ZGRkMXxcXHVkODNkXFx1ZGM2YlxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZmXXxcXHVkODNkXFx1ZGM2Y1xcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZmXXxcXHVkODNkXFx1ZGM2ZFxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZmXXxcXHVkODNkW1xcdWRjNmItXFx1ZGM2ZF0pfCg/OlxcdWQ4M2RbXFx1ZGM2OFxcdWRjNjldfFxcdWQ4M2VcXHVkZGQxKSg/OlxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZmXSk/XFx1MjAwZCg/OlxcdTI2OTVcXHVmZTBmfFxcdTI2OTZcXHVmZTBmfFxcdTI3MDhcXHVmZTBmfFxcdWQ4M2NbXFx1ZGYzZVxcdWRmNzNcXHVkZjdjXFx1ZGY4NFxcdWRmOTNcXHVkZmE0XFx1ZGZhOFxcdWRmZWJcXHVkZmVkXXxcXHVkODNkW1xcdWRjYmJcXHVkY2JjXFx1ZGQyN1xcdWRkMmNcXHVkZTgwXFx1ZGU5Ml18XFx1ZDgzZVtcXHVkZGFmLVxcdWRkYjNcXHVkZGJjXFx1ZGRiZF0pfCg/OlxcdWQ4M2NbXFx1ZGZjYlxcdWRmY2NdfFxcdWQ4M2RbXFx1ZGQ3NFxcdWRkNzVdfFxcdTI2ZjkpKCg/OlxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZmXXxcXHVmZTBmKVxcdTIwMGRbXFx1MjY0MFxcdTI2NDJdXFx1ZmUwZil8KD86XFx1ZDgzY1tcXHVkZmMzXFx1ZGZjNFxcdWRmY2FdfFxcdWQ4M2RbXFx1ZGM2ZVxcdWRjNzBcXHVkYzcxXFx1ZGM3M1xcdWRjNzdcXHVkYzgxXFx1ZGM4MlxcdWRjODZcXHVkYzg3XFx1ZGU0NS1cXHVkZTQ3XFx1ZGU0YlxcdWRlNGRcXHVkZTRlXFx1ZGVhM1xcdWRlYjQtXFx1ZGViNl18XFx1ZDgzZVtcXHVkZDI2XFx1ZGQzNVxcdWRkMzctXFx1ZGQzOVxcdWRkM2RcXHVkZDNlXFx1ZGRiOFxcdWRkYjlcXHVkZGNkLVxcdWRkY2ZcXHVkZGQ2LVxcdWRkZGRdKSg/OlxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZmXSk/XFx1MjAwZFtcXHUyNjQwXFx1MjY0Ml1cXHVmZTBmfCg/OlxcdWQ4M2RcXHVkYzY4XFx1MjAwZFxcdTI3NjRcXHVmZTBmXFx1MjAwZFxcdWQ4M2RcXHVkYzhiXFx1MjAwZFxcdWQ4M2RcXHVkYzY4fFxcdWQ4M2RcXHVkYzY4XFx1MjAwZFxcdWQ4M2RcXHVkYzY4XFx1MjAwZFxcdWQ4M2RcXHVkYzY2XFx1MjAwZFxcdWQ4M2RcXHVkYzY2fFxcdWQ4M2RcXHVkYzY4XFx1MjAwZFxcdWQ4M2RcXHVkYzY4XFx1MjAwZFxcdWQ4M2RcXHVkYzY3XFx1MjAwZFxcdWQ4M2RbXFx1ZGM2NlxcdWRjNjddfFxcdWQ4M2RcXHVkYzY4XFx1MjAwZFxcdWQ4M2RcXHVkYzY5XFx1MjAwZFxcdWQ4M2RcXHVkYzY2XFx1MjAwZFxcdWQ4M2RcXHVkYzY2fFxcdWQ4M2RcXHVkYzY4XFx1MjAwZFxcdWQ4M2RcXHVkYzY5XFx1MjAwZFxcdWQ4M2RcXHVkYzY3XFx1MjAwZFxcdWQ4M2RbXFx1ZGM2NlxcdWRjNjddfFxcdWQ4M2RcXHVkYzY5XFx1MjAwZFxcdTI3NjRcXHVmZTBmXFx1MjAwZFxcdWQ4M2RcXHVkYzhiXFx1MjAwZFxcdWQ4M2RbXFx1ZGM2OFxcdWRjNjldfFxcdWQ4M2RcXHVkYzY5XFx1MjAwZFxcdWQ4M2RcXHVkYzY5XFx1MjAwZFxcdWQ4M2RcXHVkYzY2XFx1MjAwZFxcdWQ4M2RcXHVkYzY2fFxcdWQ4M2RcXHVkYzY5XFx1MjAwZFxcdWQ4M2RcXHVkYzY5XFx1MjAwZFxcdWQ4M2RcXHVkYzY3XFx1MjAwZFxcdWQ4M2RbXFx1ZGM2NlxcdWRjNjddfFxcdWQ4M2RcXHVkYzY4XFx1MjAwZFxcdTI3NjRcXHVmZTBmXFx1MjAwZFxcdWQ4M2RcXHVkYzY4fFxcdWQ4M2RcXHVkYzY4XFx1MjAwZFxcdWQ4M2RcXHVkYzY2XFx1MjAwZFxcdWQ4M2RcXHVkYzY2fFxcdWQ4M2RcXHVkYzY4XFx1MjAwZFxcdWQ4M2RcXHVkYzY3XFx1MjAwZFxcdWQ4M2RbXFx1ZGM2NlxcdWRjNjddfFxcdWQ4M2RcXHVkYzY4XFx1MjAwZFxcdWQ4M2RcXHVkYzY4XFx1MjAwZFxcdWQ4M2RbXFx1ZGM2NlxcdWRjNjddfFxcdWQ4M2RcXHVkYzY4XFx1MjAwZFxcdWQ4M2RcXHVkYzY5XFx1MjAwZFxcdWQ4M2RbXFx1ZGM2NlxcdWRjNjddfFxcdWQ4M2RcXHVkYzY5XFx1MjAwZFxcdTI3NjRcXHVmZTBmXFx1MjAwZFxcdWQ4M2RbXFx1ZGM2OFxcdWRjNjldfFxcdWQ4M2RcXHVkYzY5XFx1MjAwZFxcdWQ4M2RcXHVkYzY2XFx1MjAwZFxcdWQ4M2RcXHVkYzY2fFxcdWQ4M2RcXHVkYzY5XFx1MjAwZFxcdWQ4M2RcXHVkYzY3XFx1MjAwZFxcdWQ4M2RbXFx1ZGM2NlxcdWRjNjddfFxcdWQ4M2RcXHVkYzY5XFx1MjAwZFxcdWQ4M2RcXHVkYzY5XFx1MjAwZFxcdWQ4M2RbXFx1ZGM2NlxcdWRjNjddfFxcdWQ4M2NcXHVkZmYzXFx1ZmUwZlxcdTIwMGRcXHUyNmE3XFx1ZmUwZnxcXHVkODNjXFx1ZGZmM1xcdWZlMGZcXHUyMDBkXFx1ZDgzY1xcdWRmMDh8XFx1ZDgzY1xcdWRmZjRcXHUyMDBkXFx1MjYyMFxcdWZlMGZ8XFx1ZDgzZFxcdWRjMTVcXHUyMDBkXFx1ZDgzZVxcdWRkYmF8XFx1ZDgzZFxcdWRjM2JcXHUyMDBkXFx1Mjc0NFxcdWZlMGZ8XFx1ZDgzZFxcdWRjNDFcXHUyMDBkXFx1ZDgzZFxcdWRkZTh8XFx1ZDgzZFxcdWRjNjhcXHUyMDBkXFx1ZDgzZFtcXHVkYzY2XFx1ZGM2N118XFx1ZDgzZFxcdWRjNjlcXHUyMDBkXFx1ZDgzZFtcXHVkYzY2XFx1ZGM2N118XFx1ZDgzZFxcdWRjNmZcXHUyMDBkXFx1MjY0MFxcdWZlMGZ8XFx1ZDgzZFxcdWRjNmZcXHUyMDBkXFx1MjY0MlxcdWZlMGZ8XFx1ZDgzZVxcdWRkM2NcXHUyMDBkXFx1MjY0MFxcdWZlMGZ8XFx1ZDgzZVxcdWRkM2NcXHUyMDBkXFx1MjY0MlxcdWZlMGZ8XFx1ZDgzZVxcdWRkZGVcXHUyMDBkXFx1MjY0MFxcdWZlMGZ8XFx1ZDgzZVxcdWRkZGVcXHUyMDBkXFx1MjY0MlxcdWZlMGZ8XFx1ZDgzZVxcdWRkZGZcXHUyMDBkXFx1MjY0MFxcdWZlMGZ8XFx1ZDgzZVxcdWRkZGZcXHUyMDBkXFx1MjY0MlxcdWZlMGZ8XFx1ZDgzZFxcdWRjMDhcXHUyMDBkXFx1MmIxYil8WyMqMC05XVxcdWZlMGY/XFx1MjBlM3woPzpbwqnCrlxcdTIxMjJcXHUyNjVmXVxcdWZlMGYpfCg/OlxcdWQ4M2NbXFx1ZGMwNFxcdWRkNzBcXHVkZDcxXFx1ZGQ3ZVxcdWRkN2ZcXHVkZTAyXFx1ZGUxYVxcdWRlMmZcXHVkZTM3XFx1ZGYyMVxcdWRmMjQtXFx1ZGYyY1xcdWRmMzZcXHVkZjdkXFx1ZGY5NlxcdWRmOTdcXHVkZjk5LVxcdWRmOWJcXHVkZjllXFx1ZGY5ZlxcdWRmY2RcXHVkZmNlXFx1ZGZkNC1cXHVkZmRmXFx1ZGZmM1xcdWRmZjVcXHVkZmY3XXxcXHVkODNkW1xcdWRjM2ZcXHVkYzQxXFx1ZGNmZFxcdWRkNDlcXHVkZDRhXFx1ZGQ2ZlxcdWRkNzBcXHVkZDczXFx1ZGQ3Ni1cXHVkZDc5XFx1ZGQ4N1xcdWRkOGEtXFx1ZGQ4ZFxcdWRkYTVcXHVkZGE4XFx1ZGRiMVxcdWRkYjJcXHVkZGJjXFx1ZGRjMi1cXHVkZGM0XFx1ZGRkMS1cXHVkZGQzXFx1ZGRkYy1cXHVkZGRlXFx1ZGRlMVxcdWRkZTNcXHVkZGU4XFx1ZGRlZlxcdWRkZjNcXHVkZGZhXFx1ZGVjYlxcdWRlY2QtXFx1ZGVjZlxcdWRlZTAtXFx1ZGVlNVxcdWRlZTlcXHVkZWYwXFx1ZGVmM118W1xcdTIwM2NcXHUyMDQ5XFx1MjEzOVxcdTIxOTQtXFx1MjE5OVxcdTIxYTlcXHUyMWFhXFx1MjMxYVxcdTIzMWJcXHUyMzI4XFx1MjNjZlxcdTIzZWQtXFx1MjNlZlxcdTIzZjFcXHUyM2YyXFx1MjNmOC1cXHUyM2ZhXFx1MjRjMlxcdTI1YWFcXHUyNWFiXFx1MjViNlxcdTI1YzBcXHUyNWZiLVxcdTI1ZmVcXHUyNjAwLVxcdTI2MDRcXHUyNjBlXFx1MjYxMVxcdTI2MTRcXHUyNjE1XFx1MjYxOFxcdTI2MjBcXHUyNjIyXFx1MjYyM1xcdTI2MjZcXHUyNjJhXFx1MjYyZVxcdTI2MmZcXHUyNjM4LVxcdTI2M2FcXHUyNjQwXFx1MjY0MlxcdTI2NDgtXFx1MjY1M1xcdTI2NjBcXHUyNjYzXFx1MjY2NVxcdTI2NjZcXHUyNjY4XFx1MjY3YlxcdTI2N2ZcXHUyNjkyLVxcdTI2OTdcXHUyNjk5XFx1MjY5YlxcdTI2OWNcXHUyNmEwXFx1MjZhMVxcdTI2YTdcXHUyNmFhXFx1MjZhYlxcdTI2YjBcXHUyNmIxXFx1MjZiZFxcdTI2YmVcXHUyNmM0XFx1MjZjNVxcdTI2YzhcXHUyNmNmXFx1MjZkMVxcdTI2ZDNcXHUyNmQ0XFx1MjZlOVxcdTI2ZWFcXHUyNmYwLVxcdTI2ZjVcXHUyNmY4XFx1MjZmYVxcdTI2ZmRcXHUyNzAyXFx1MjcwOFxcdTI3MDlcXHUyNzBmXFx1MjcxMlxcdTI3MTRcXHUyNzE2XFx1MjcxZFxcdTI3MjFcXHUyNzMzXFx1MjczNFxcdTI3NDRcXHUyNzQ3XFx1Mjc1N1xcdTI3NjNcXHUyNzY0XFx1MjdhMVxcdTI5MzRcXHUyOTM1XFx1MmIwNS1cXHUyYjA3XFx1MmIxYlxcdTJiMWNcXHUyYjUwXFx1MmI1NVxcdTMwMzBcXHUzMDNkXFx1MzI5N1xcdTMyOTldKSg/OlxcdWZlMGZ8KD8hXFx1ZmUwZSkpfCg/Oig/OlxcdWQ4M2NbXFx1ZGZjYlxcdWRmY2NdfFxcdWQ4M2RbXFx1ZGQ3NFxcdWRkNzVcXHVkZDkwXXxbXFx1MjYxZFxcdTI2ZjdcXHUyNmY5XFx1MjcwY1xcdTI3MGRdKSg/OlxcdWZlMGZ8KD8hXFx1ZmUwZSkpfCg/OlxcdWQ4M2NbXFx1ZGY4NVxcdWRmYzItXFx1ZGZjNFxcdWRmYzdcXHVkZmNhXXxcXHVkODNkW1xcdWRjNDJcXHVkYzQzXFx1ZGM0Ni1cXHVkYzUwXFx1ZGM2Ni1cXHVkYzY5XFx1ZGM2ZVxcdWRjNzAtXFx1ZGM3OFxcdWRjN2NcXHVkYzgxLVxcdWRjODNcXHVkYzg1LVxcdWRjODdcXHVkY2FhXFx1ZGQ3YVxcdWRkOTVcXHVkZDk2XFx1ZGU0NS1cXHVkZTQ3XFx1ZGU0Yi1cXHVkZTRmXFx1ZGVhM1xcdWRlYjQtXFx1ZGViNlxcdWRlYzBcXHVkZWNjXXxcXHVkODNlW1xcdWRkMGNcXHVkZDBmXFx1ZGQxOC1cXHVkZDFjXFx1ZGQxZVxcdWRkMWZcXHVkZDI2XFx1ZGQzMC1cXHVkZDM5XFx1ZGQzZFxcdWRkM2VcXHVkZDc3XFx1ZGRiNVxcdWRkYjZcXHVkZGI4XFx1ZGRiOVxcdWRkYmJcXHVkZGNkLVxcdWRkY2ZcXHVkZGQxLVxcdWRkZGRdfFtcXHUyNzBhXFx1MjcwYl0pKSg/OlxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZmXSk/fCg/OlxcdWQ4M2NcXHVkZmY0XFx1ZGI0MFxcdWRjNjdcXHVkYjQwXFx1ZGM2MlxcdWRiNDBcXHVkYzY1XFx1ZGI0MFxcdWRjNmVcXHVkYjQwXFx1ZGM2N1xcdWRiNDBcXHVkYzdmfFxcdWQ4M2NcXHVkZmY0XFx1ZGI0MFxcdWRjNjdcXHVkYjQwXFx1ZGM2MlxcdWRiNDBcXHVkYzczXFx1ZGI0MFxcdWRjNjNcXHVkYjQwXFx1ZGM3NFxcdWRiNDBcXHVkYzdmfFxcdWQ4M2NcXHVkZmY0XFx1ZGI0MFxcdWRjNjdcXHVkYjQwXFx1ZGM2MlxcdWRiNDBcXHVkYzc3XFx1ZGI0MFxcdWRjNmNcXHVkYjQwXFx1ZGM3M1xcdWRiNDBcXHVkYzdmfFxcdWQ4M2NcXHVkZGU2XFx1ZDgzY1tcXHVkZGU4LVxcdWRkZWNcXHVkZGVlXFx1ZGRmMVxcdWRkZjJcXHVkZGY0XFx1ZGRmNi1cXHVkZGZhXFx1ZGRmY1xcdWRkZmRcXHVkZGZmXXxcXHVkODNjXFx1ZGRlN1xcdWQ4M2NbXFx1ZGRlNlxcdWRkZTdcXHVkZGU5LVxcdWRkZWZcXHVkZGYxLVxcdWRkZjRcXHVkZGY2LVxcdWRkZjlcXHVkZGZiXFx1ZGRmY1xcdWRkZmVcXHVkZGZmXXxcXHVkODNjXFx1ZGRlOFxcdWQ4M2NbXFx1ZGRlNlxcdWRkZThcXHVkZGU5XFx1ZGRlYi1cXHVkZGVlXFx1ZGRmMC1cXHVkZGY1XFx1ZGRmN1xcdWRkZmEtXFx1ZGRmZl18XFx1ZDgzY1xcdWRkZTlcXHVkODNjW1xcdWRkZWFcXHVkZGVjXFx1ZGRlZlxcdWRkZjBcXHVkZGYyXFx1ZGRmNFxcdWRkZmZdfFxcdWQ4M2NcXHVkZGVhXFx1ZDgzY1tcXHVkZGU2XFx1ZGRlOFxcdWRkZWFcXHVkZGVjXFx1ZGRlZFxcdWRkZjctXFx1ZGRmYV18XFx1ZDgzY1xcdWRkZWJcXHVkODNjW1xcdWRkZWUtXFx1ZGRmMFxcdWRkZjJcXHVkZGY0XFx1ZGRmN118XFx1ZDgzY1xcdWRkZWNcXHVkODNjW1xcdWRkZTZcXHVkZGU3XFx1ZGRlOS1cXHVkZGVlXFx1ZGRmMS1cXHVkZGYzXFx1ZGRmNS1cXHVkZGZhXFx1ZGRmY1xcdWRkZmVdfFxcdWQ4M2NcXHVkZGVkXFx1ZDgzY1tcXHVkZGYwXFx1ZGRmMlxcdWRkZjNcXHVkZGY3XFx1ZGRmOVxcdWRkZmFdfFxcdWQ4M2NcXHVkZGVlXFx1ZDgzY1tcXHVkZGU4LVxcdWRkZWFcXHVkZGYxLVxcdWRkZjRcXHVkZGY2LVxcdWRkZjldfFxcdWQ4M2NcXHVkZGVmXFx1ZDgzY1tcXHVkZGVhXFx1ZGRmMlxcdWRkZjRcXHVkZGY1XXxcXHVkODNjXFx1ZGRmMFxcdWQ4M2NbXFx1ZGRlYVxcdWRkZWMtXFx1ZGRlZVxcdWRkZjJcXHVkZGYzXFx1ZGRmNVxcdWRkZjdcXHVkZGZjXFx1ZGRmZVxcdWRkZmZdfFxcdWQ4M2NcXHVkZGYxXFx1ZDgzY1tcXHVkZGU2LVxcdWRkZThcXHVkZGVlXFx1ZGRmMFxcdWRkZjctXFx1ZGRmYlxcdWRkZmVdfFxcdWQ4M2NcXHVkZGYyXFx1ZDgzY1tcXHVkZGU2XFx1ZGRlOC1cXHVkZGVkXFx1ZGRmMC1cXHVkZGZmXXxcXHVkODNjXFx1ZGRmM1xcdWQ4M2NbXFx1ZGRlNlxcdWRkZThcXHVkZGVhLVxcdWRkZWNcXHVkZGVlXFx1ZGRmMVxcdWRkZjRcXHVkZGY1XFx1ZGRmN1xcdWRkZmFcXHVkZGZmXXxcXHVkODNjXFx1ZGRmNFxcdWQ4M2NcXHVkZGYyfFxcdWQ4M2NcXHVkZGY1XFx1ZDgzY1tcXHVkZGU2XFx1ZGRlYS1cXHVkZGVkXFx1ZGRmMC1cXHVkZGYzXFx1ZGRmNy1cXHVkZGY5XFx1ZGRmY1xcdWRkZmVdfFxcdWQ4M2NcXHVkZGY2XFx1ZDgzY1xcdWRkZTZ8XFx1ZDgzY1xcdWRkZjdcXHVkODNjW1xcdWRkZWFcXHVkZGY0XFx1ZGRmOFxcdWRkZmFcXHVkZGZjXXxcXHVkODNjXFx1ZGRmOFxcdWQ4M2NbXFx1ZGRlNi1cXHVkZGVhXFx1ZGRlYy1cXHVkZGY0XFx1ZGRmNy1cXHVkZGY5XFx1ZGRmYlxcdWRkZmQtXFx1ZGRmZl18XFx1ZDgzY1xcdWRkZjlcXHVkODNjW1xcdWRkZTZcXHVkZGU4XFx1ZGRlOVxcdWRkZWItXFx1ZGRlZFxcdWRkZWYtXFx1ZGRmNFxcdWRkZjdcXHVkZGY5XFx1ZGRmYlxcdWRkZmNcXHVkZGZmXXxcXHVkODNjXFx1ZGRmYVxcdWQ4M2NbXFx1ZGRlNlxcdWRkZWNcXHVkZGYyXFx1ZGRmM1xcdWRkZjhcXHVkZGZlXFx1ZGRmZl18XFx1ZDgzY1xcdWRkZmJcXHVkODNjW1xcdWRkZTZcXHVkZGU4XFx1ZGRlYVxcdWRkZWNcXHVkZGVlXFx1ZGRmM1xcdWRkZmFdfFxcdWQ4M2NcXHVkZGZjXFx1ZDgzY1tcXHVkZGViXFx1ZGRmOF18XFx1ZDgzY1xcdWRkZmRcXHVkODNjXFx1ZGRmMHxcXHVkODNjXFx1ZGRmZVxcdWQ4M2NbXFx1ZGRlYVxcdWRkZjldfFxcdWQ4M2NcXHVkZGZmXFx1ZDgzY1tcXHVkZGU2XFx1ZGRmMlxcdWRkZmNdfFxcdWQ4M2NbXFx1ZGNjZlxcdWRkOGVcXHVkZDkxLVxcdWRkOWFcXHVkZGU2LVxcdWRkZmZcXHVkZTAxXFx1ZGUzMi1cXHVkZTM2XFx1ZGUzOC1cXHVkZTNhXFx1ZGU1MFxcdWRlNTFcXHVkZjAwLVxcdWRmMjBcXHVkZjJkLVxcdWRmMzVcXHVkZjM3LVxcdWRmN2NcXHVkZjdlLVxcdWRmODRcXHVkZjg2LVxcdWRmOTNcXHVkZmEwLVxcdWRmYzFcXHVkZmM1XFx1ZGZjNlxcdWRmYzhcXHVkZmM5XFx1ZGZjZi1cXHVkZmQzXFx1ZGZlMC1cXHVkZmYwXFx1ZGZmNFxcdWRmZjgtXFx1ZGZmZl18XFx1ZDgzZFtcXHVkYzAwLVxcdWRjM2VcXHVkYzQwXFx1ZGM0NFxcdWRjNDVcXHVkYzUxLVxcdWRjNjVcXHVkYzZhXFx1ZGM2ZlxcdWRjNzktXFx1ZGM3YlxcdWRjN2QtXFx1ZGM4MFxcdWRjODRcXHVkYzg4LVxcdWRjYTlcXHVkY2FiLVxcdWRjZmNcXHVkY2ZmLVxcdWRkM2RcXHVkZDRiLVxcdWRkNGVcXHVkZDUwLVxcdWRkNjdcXHVkZGE0XFx1ZGRmYi1cXHVkZTQ0XFx1ZGU0OC1cXHVkZTRhXFx1ZGU4MC1cXHVkZWEyXFx1ZGVhNC1cXHVkZWIzXFx1ZGViNy1cXHVkZWJmXFx1ZGVjMS1cXHVkZWM1XFx1ZGVkMC1cXHVkZWQyXFx1ZGVkNS1cXHVkZWQ3XFx1ZGVlYlxcdWRlZWNcXHVkZWY0LVxcdWRlZmNcXHVkZmUwLVxcdWRmZWJdfFxcdWQ4M2VbXFx1ZGQwZFxcdWRkMGVcXHVkZDEwLVxcdWRkMTdcXHVkZDFkXFx1ZGQyMC1cXHVkZDI1XFx1ZGQyNy1cXHVkZDJmXFx1ZGQzYVxcdWRkM2NcXHVkZDNmLVxcdWRkNDVcXHVkZDQ3LVxcdWRkNzZcXHVkZDc4XFx1ZGQ3YS1cXHVkZGI0XFx1ZGRiN1xcdWRkYmFcXHVkZGJjLVxcdWRkY2JcXHVkZGQwXFx1ZGRkZS1cXHVkZGZmXFx1ZGU3MC1cXHVkZTc0XFx1ZGU3OC1cXHVkZTdhXFx1ZGU4MC1cXHVkZTg2XFx1ZGU5MC1cXHVkZWE4XFx1ZGViMC1cXHVkZWI2XFx1ZGVjMC1cXHVkZWMyXFx1ZGVkMC1cXHVkZWQ2XXxbXFx1MjNlOS1cXHUyM2VjXFx1MjNmMFxcdTIzZjNcXHUyNjdlXFx1MjZjZVxcdTI3MDVcXHUyNzI4XFx1Mjc0Y1xcdTI3NGVcXHUyNzUzLVxcdTI3NTVcXHUyNzk1LVxcdTI3OTdcXHUyN2IwXFx1MjdiZlxcdWU1MGFdKXxcXHVmZTBmL2csXG5cbiAgICAvLyBhdm9pZCBydW50aW1lIFJlZ0V4cCBjcmVhdGlvbiBmb3Igbm90IHNvIHNtYXJ0LFxuICAgIC8vIG5vdCBKSVQgYmFzZWQsIGFuZCBvbGQgYnJvd3NlcnMgLyBlbmdpbmVzXG4gICAgVUZFMEZnID0gL1xcdUZFMEYvZyxcblxuICAgIC8vIGF2b2lkIHVzaW5nIGEgc3RyaW5nIGxpdGVyYWwgbGlrZSAnXFx1MjAwRCcgaGVyZSBiZWNhdXNlIG1pbmlmaWVycyBleHBhbmQgaXQgaW5saW5lXG4gICAgVTIwMEQgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MjAwRCksXG5cbiAgICAvLyB1c2VkIHRvIGZpbmQgSFRNTCBzcGVjaWFsIGNoYXJzIGluIGF0dHJpYnV0ZXNcbiAgICByZXNjYXBlciA9IC9bJjw+J1wiXS9nLFxuXG4gICAgLy8gbm9kZXMgd2l0aCB0eXBlIDEgd2hpY2ggc2hvdWxkICoqbm90KiogYmUgcGFyc2VkXG4gICAgc2hvdWxkbnRCZVBhcnNlZCA9IC9eKD86aWZyYW1lfG5vZnJhbWVzfG5vc2NyaXB0fHNjcmlwdHxzZWxlY3R8c3R5bGV8dGV4dGFyZWEpJC8sXG5cbiAgICAvLyBqdXN0IGEgcHJpdmF0ZSBzaG9ydGN1dFxuICAgIGZyb21DaGFyQ29kZSA9IFN0cmluZy5mcm9tQ2hhckNvZGU7XG5cbiAgcmV0dXJuIHR3ZW1vamk7XG5cblxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vICBwcml2YXRlIGZ1bmN0aW9ucyAgLy9cbiAgLy8gICAgIGRlY2xhcmF0aW9uICAgICAvL1xuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgLyoqXG4gICAqIFNob3J0Y3V0IHRvIGNyZWF0ZSB0ZXh0IG5vZGVzXG4gICAqIEBwYXJhbSAgIHN0cmluZyAgdGV4dCB1c2VkIHRvIGNyZWF0ZSBET00gdGV4dCBub2RlXG4gICAqIEByZXR1cm4gIE5vZGUgIGEgRE9NIG5vZGUgd2l0aCB0aGF0IHRleHRcbiAgICovXG4gIGZ1bmN0aW9uIGNyZWF0ZVRleHQodGV4dCwgY2xlYW4pIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY2xlYW4gPyB0ZXh0LnJlcGxhY2UoVUZFMEZnLCAnJykgOiB0ZXh0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVdGlsaXR5IGZ1bmN0aW9uIHRvIGVzY2FwZSBodG1sIGF0dHJpYnV0ZSB0ZXh0XG4gICAqIEBwYXJhbSAgIHN0cmluZyAgdGV4dCB1c2UgaW4gSFRNTCBhdHRyaWJ1dGVcbiAgICogQHJldHVybiAgc3RyaW5nICB0ZXh0IGVuY29kZWQgdG8gdXNlIGluIEhUTUwgYXR0cmlidXRlXG4gICAqL1xuICBmdW5jdGlvbiBlc2NhcGVIVE1MKHMpIHtcbiAgICByZXR1cm4gcy5yZXBsYWNlKHJlc2NhcGVyLCByZXBsYWNlcik7XG4gIH1cblxuICAvKipcbiAgICogRGVmYXVsdCBjYWxsYmFjayB1c2VkIHRvIGdlbmVyYXRlIGVtb2ppIHNyY1xuICAgKiAgYmFzZWQgb24gVHdpdHRlciBDRE5cbiAgICogQHBhcmFtICAgc3RyaW5nICAgIHRoZSBlbW9qaSBjb2RlcG9pbnQgc3RyaW5nXG4gICAqIEBwYXJhbSAgIHN0cmluZyAgICB0aGUgZGVmYXVsdCBzaXplIHRvIHVzZSwgaS5lLiBcIjM2eDM2XCJcbiAgICogQHJldHVybiAgc3RyaW5nICAgIHRoZSBpbWFnZSBzb3VyY2UgdG8gdXNlXG4gICAqL1xuICBmdW5jdGlvbiBkZWZhdWx0SW1hZ2VTcmNHZW5lcmF0b3IoaWNvbiwgb3B0aW9ucykge1xuICAgIHJldHVybiAnJy5jb25jYXQob3B0aW9ucy5iYXNlLCBvcHRpb25zLnNpemUsICcvJywgaWNvbiwgb3B0aW9ucy5leHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdpdmVuIGEgZ2VuZXJpYyBET00gbm9kZVR5cGUgMSwgd2FsayB0aHJvdWdoIGFsbCBjaGlsZHJlblxuICAgKiBhbmQgc3RvcmUgZXZlcnkgbm9kZVR5cGUgMyAoI3RleHQpIGZvdW5kIGluIHRoZSB0cmVlLlxuICAgKiBAcGFyYW0gICBFbGVtZW50IGEgRE9NIEVsZW1lbnQgd2l0aCBwcm9iYWJseSBzb21lIHRleHQgaW4gaXRcbiAgICogQHBhcmFtICAgQXJyYXkgdGhlIGxpc3Qgb2YgcHJldmlvdXNseSBkaXNjb3ZlcmVkIHRleHQgbm9kZXNcbiAgICogQHJldHVybiAgQXJyYXkgc2FtZSBsaXN0IHdpdGggbmV3IGRpc2NvdmVyZWQgbm9kZXMsIGlmIGFueVxuICAgKi9cbiAgZnVuY3Rpb24gZ3JhYkFsbFRleHROb2Rlcyhub2RlLCBhbGxUZXh0KSB7XG4gICAgdmFyXG4gICAgICBjaGlsZE5vZGVzID0gbm9kZS5jaGlsZE5vZGVzLFxuICAgICAgbGVuZ3RoID0gY2hpbGROb2Rlcy5sZW5ndGgsXG4gICAgICBzdWJub2RlLFxuICAgICAgbm9kZVR5cGU7XG4gICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICBzdWJub2RlID0gY2hpbGROb2Rlc1tsZW5ndGhdO1xuICAgICAgbm9kZVR5cGUgPSBzdWJub2RlLm5vZGVUeXBlO1xuICAgICAgLy8gcGFyc2UgZW1vamkgb25seSBpbiB0ZXh0IG5vZGVzXG4gICAgICBpZiAobm9kZVR5cGUgPT09IDMpIHtcbiAgICAgICAgLy8gY29sbGVjdCB0aGVtIHRvIHByb2Nlc3MgZW1vamkgbGF0ZXJcbiAgICAgICAgYWxsVGV4dC5wdXNoKHN1Ym5vZGUpO1xuICAgICAgfVxuICAgICAgLy8gaWdub3JlIGFsbCBub2RlcyB0aGF0IGFyZSBub3QgdHlwZSAxLCB0aGF0IGFyZSBzdmcsIG9yIHRoYXRcbiAgICAgIC8vIHNob3VsZCBub3QgYmUgcGFyc2VkIGFzIHNjcmlwdCwgc3R5bGUsIGFuZCBvdGhlcnNcbiAgICAgIGVsc2UgaWYgKG5vZGVUeXBlID09PSAxICYmICEoJ293bmVyU1ZHRWxlbWVudCcgaW4gc3Vibm9kZSkgJiZcbiAgICAgICAgICAhc2hvdWxkbnRCZVBhcnNlZC50ZXN0KHN1Ym5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkpIHtcbiAgICAgICAgZ3JhYkFsbFRleHROb2RlcyhzdWJub2RlLCBhbGxUZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFsbFRleHQ7XG4gIH1cblxuICAvKipcbiAgICogVXNlZCB0byBib3RoIHJlbW92ZSB0aGUgcG9zc2libGUgdmFyaWFudFxuICAgKiAgYW5kIHRvIGNvbnZlcnQgdXRmMTYgaW50byBjb2RlIHBvaW50cy5cbiAgICogIElmIHRoZXJlIGlzIGEgemVyby13aWR0aC1qb2luZXIgKFUrMjAwRCksIGxlYXZlIHRoZSB2YXJpYW50cyBpbi5cbiAgICogQHBhcmFtICAgc3RyaW5nICAgIHRoZSByYXcgdGV4dCBvZiB0aGUgZW1vamkgbWF0Y2hcbiAgICogQHJldHVybiAgc3RyaW5nICAgIHRoZSBjb2RlIHBvaW50XG4gICAqL1xuICBmdW5jdGlvbiBncmFiVGhlUmlnaHRJY29uKHJhd1RleHQpIHtcbiAgICAvLyBpZiB2YXJpYW50IGlzIHByZXNlbnQgYXMgXFx1RkUwRlxuICAgIHJldHVybiB0b0NvZGVQb2ludChyYXdUZXh0LmluZGV4T2YoVTIwMEQpIDwgMCA/XG4gICAgICByYXdUZXh0LnJlcGxhY2UoVUZFMEZnLCAnJykgOlxuICAgICAgcmF3VGV4dFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRE9NIHZlcnNpb24gb2YgdGhlIHNhbWUgbG9naWMgLyBwYXJzZXI6XG4gICAqICBlbW9qaWZ5IGFsbCBmb3VuZCBzdWItdGV4dCBub2RlcyBwbGFjaW5nIGltYWdlcyBub2RlIGluc3RlYWQuXG4gICAqIEBwYXJhbSAgIEVsZW1lbnQgICBnZW5lcmljIERPTSBub2RlIHdpdGggc29tZSB0ZXh0IGluIHNvbWUgY2hpbGQgbm9kZVxuICAgKiBAcGFyYW0gICBPYmplY3QgICAgb3B0aW9ucyAgY29udGFpbmluZyBpbmZvIGFib3V0IGhvdyB0byBwYXJzZVxuICAgICpcbiAgICAqICAgICAgICAgICAgLmNhbGxiYWNrICAgRnVuY3Rpb24gIHRoZSBjYWxsYmFjayB0byBpbnZva2UgcGVyIGVhY2ggZm91bmQgZW1vamkuXG4gICAgKiAgICAgICAgICAgIC5iYXNlICAgICAgIHN0cmluZyAgICB0aGUgYmFzZSB1cmwsIGJ5IGRlZmF1bHQgdHdlbW9qaS5iYXNlXG4gICAgKiAgICAgICAgICAgIC5leHQgICAgICAgIHN0cmluZyAgICB0aGUgaW1hZ2UgZXh0ZW5zaW9uLCBieSBkZWZhdWx0IHR3ZW1vamkuZXh0XG4gICAgKiAgICAgICAgICAgIC5zaXplICAgICAgIHN0cmluZyAgICB0aGUgYXNzZXRzIHNpemUsIGJ5IGRlZmF1bHQgdHdlbW9qaS5zaXplXG4gICAgKlxuICAgKiBAcmV0dXJuICBFbGVtZW50IHNhbWUgZ2VuZXJpYyBub2RlIHdpdGggZW1vamkgaW4gcGxhY2UsIGlmIGFueS5cbiAgICovXG4gIGZ1bmN0aW9uIHBhcnNlTm9kZShub2RlLCBvcHRpb25zKSB7XG4gICAgdmFyXG4gICAgICBhbGxUZXh0ID0gZ3JhYkFsbFRleHROb2Rlcyhub2RlLCBbXSksXG4gICAgICBsZW5ndGggPSBhbGxUZXh0Lmxlbmd0aCxcbiAgICAgIGF0dHJpYixcbiAgICAgIGF0dHJuYW1lLFxuICAgICAgbW9kaWZpZWQsXG4gICAgICBmcmFnbWVudCxcbiAgICAgIHN1Ym5vZGUsXG4gICAgICB0ZXh0LFxuICAgICAgbWF0Y2gsXG4gICAgICBpLFxuICAgICAgaW5kZXgsXG4gICAgICBpbWcsXG4gICAgICByYXdUZXh0LFxuICAgICAgaWNvbklkLFxuICAgICAgc3JjO1xuICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgbW9kaWZpZWQgPSBmYWxzZTtcbiAgICAgIGZyYWdtZW50ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuICAgICAgc3Vibm9kZSA9IGFsbFRleHRbbGVuZ3RoXTtcbiAgICAgIHRleHQgPSBzdWJub2RlLm5vZGVWYWx1ZTtcbiAgICAgIGkgPSAwO1xuICAgICAgd2hpbGUgKChtYXRjaCA9IHJlLmV4ZWModGV4dCkpKSB7XG4gICAgICAgIGluZGV4ID0gbWF0Y2guaW5kZXg7XG4gICAgICAgIGlmIChpbmRleCAhPT0gaSkge1xuICAgICAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKFxuICAgICAgICAgICAgY3JlYXRlVGV4dCh0ZXh0LnNsaWNlKGksIGluZGV4KSwgdHJ1ZSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJhd1RleHQgPSBtYXRjaFswXTtcbiAgICAgICAgaWNvbklkID0gZ3JhYlRoZVJpZ2h0SWNvbihyYXdUZXh0KTtcbiAgICAgICAgaSA9IGluZGV4ICsgcmF3VGV4dC5sZW5ndGg7XG4gICAgICAgIHNyYyA9IG9wdGlvbnMuY2FsbGJhY2soaWNvbklkLCBvcHRpb25zKTtcbiAgICAgICAgaWYgKGljb25JZCAmJiBzcmMpIHtcbiAgICAgICAgICBpbWcgPSBuZXcgSW1hZ2UoKTtcbiAgICAgICAgICBpbWcub25lcnJvciA9IG9wdGlvbnMub25lcnJvcjtcbiAgICAgICAgICBpbWcuc2V0QXR0cmlidXRlKCdkcmFnZ2FibGUnLCAnZmFsc2UnKTtcbiAgICAgICAgICBhdHRyaWIgPSBvcHRpb25zLmF0dHJpYnV0ZXMocmF3VGV4dCwgaWNvbklkKTtcbiAgICAgICAgICBmb3IgKGF0dHJuYW1lIGluIGF0dHJpYikge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBhdHRyaWIuaGFzT3duUHJvcGVydHkoYXR0cm5hbWUpICYmXG4gICAgICAgICAgICAgIC8vIGRvbid0IGFsbG93IGFueSBoYW5kbGVycyB0byBiZSBzZXQgKyBkb24ndCBhbGxvdyBvdmVycmlkZXNcbiAgICAgICAgICAgICAgYXR0cm5hbWUuaW5kZXhPZignb24nKSAhPT0gMCAmJlxuICAgICAgICAgICAgICAhaW1nLmhhc0F0dHJpYnV0ZShhdHRybmFtZSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBpbWcuc2V0QXR0cmlidXRlKGF0dHJuYW1lLCBhdHRyaWJbYXR0cm5hbWVdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaW1nLmNsYXNzTmFtZSA9IG9wdGlvbnMuY2xhc3NOYW1lO1xuICAgICAgICAgIGltZy5hbHQgPSByYXdUZXh0O1xuICAgICAgICAgIGltZy5zcmMgPSBzcmM7XG4gICAgICAgICAgbW9kaWZpZWQgPSB0cnVlO1xuICAgICAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKGltZyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpbWcpIGZyYWdtZW50LmFwcGVuZENoaWxkKGNyZWF0ZVRleHQocmF3VGV4dCwgZmFsc2UpKTtcbiAgICAgICAgaW1nID0gbnVsbDtcbiAgICAgIH1cbiAgICAgIC8vIGlzIHRoZXJlIGFjdHVhbGx5IGFueXRoaW5nIHRvIHJlcGxhY2UgaW4gaGVyZSA/XG4gICAgICBpZiAobW9kaWZpZWQpIHtcbiAgICAgICAgLy8gYW55IHRleHQgbGVmdCB0byBiZSBhZGRlZCA/XG4gICAgICAgIGlmIChpIDwgdGV4dC5sZW5ndGgpIHtcbiAgICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChcbiAgICAgICAgICAgIGNyZWF0ZVRleHQodGV4dC5zbGljZShpKSwgdHJ1ZSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC8vIHJlcGxhY2UgdGhlIHRleHQgbm9kZSBvbmx5LCBsZWF2ZSBpbnRhY3RcbiAgICAgICAgLy8gYW55dGhpbmcgZWxzZSBzdXJyb3VuZGluZyBzdWNoIHRleHRcbiAgICAgICAgc3Vibm9kZS5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChmcmFnbWVudCwgc3Vibm9kZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0cmluZy9IVE1MIHZlcnNpb24gb2YgdGhlIHNhbWUgbG9naWMgLyBwYXJzZXI6XG4gICAqICBlbW9qaWZ5IGEgZ2VuZXJpYyB0ZXh0IHBsYWNpbmcgaW1hZ2VzIHRhZ3MgaW5zdGVhZCBvZiBzdXJyb2dhdGVzIHBhaXIuXG4gICAqIEBwYXJhbSAgIHN0cmluZyAgICBnZW5lcmljIHN0cmluZyB3aXRoIHBvc3NpYmx5IHNvbWUgZW1vamkgaW4gaXRcbiAgICogQHBhcmFtICAgT2JqZWN0ICAgIG9wdGlvbnMgIGNvbnRhaW5pbmcgaW5mbyBhYm91dCBob3cgdG8gcGFyc2VcbiAgICpcbiAgICogICAgICAgICAgICAuY2FsbGJhY2sgICBGdW5jdGlvbiAgdGhlIGNhbGxiYWNrIHRvIGludm9rZSBwZXIgZWFjaCBmb3VuZCBlbW9qaS5cbiAgICogICAgICAgICAgICAuYmFzZSAgICAgICBzdHJpbmcgICAgdGhlIGJhc2UgdXJsLCBieSBkZWZhdWx0IHR3ZW1vamkuYmFzZVxuICAgKiAgICAgICAgICAgIC5leHQgICAgICAgIHN0cmluZyAgICB0aGUgaW1hZ2UgZXh0ZW5zaW9uLCBieSBkZWZhdWx0IHR3ZW1vamkuZXh0XG4gICAqICAgICAgICAgICAgLnNpemUgICAgICAgc3RyaW5nICAgIHRoZSBhc3NldHMgc2l6ZSwgYnkgZGVmYXVsdCB0d2Vtb2ppLnNpemVcbiAgICpcbiAgICogQHJldHVybiAgdGhlIHN0cmluZyB3aXRoIDxpbWcgdGFncz4gcmVwbGFjaW5nIGFsbCBmb3VuZCBhbmQgcGFyc2VkIGVtb2ppXG4gICAqL1xuICBmdW5jdGlvbiBwYXJzZVN0cmluZyhzdHIsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gcmVwbGFjZShzdHIsIGZ1bmN0aW9uIChyYXdUZXh0KSB7XG4gICAgICB2YXJcbiAgICAgICAgcmV0ID0gcmF3VGV4dCxcbiAgICAgICAgaWNvbklkID0gZ3JhYlRoZVJpZ2h0SWNvbihyYXdUZXh0KSxcbiAgICAgICAgc3JjID0gb3B0aW9ucy5jYWxsYmFjayhpY29uSWQsIG9wdGlvbnMpLFxuICAgICAgICBhdHRyaWIsXG4gICAgICAgIGF0dHJuYW1lO1xuICAgICAgaWYgKGljb25JZCAmJiBzcmMpIHtcbiAgICAgICAgLy8gcmVjeWNsZSB0aGUgbWF0Y2ggc3RyaW5nIHJlcGxhY2luZyB0aGUgZW1vamlcbiAgICAgICAgLy8gd2l0aCBpdHMgaW1hZ2UgY291bnRlciBwYXJ0XG4gICAgICAgIHJldCA9ICc8aW1nICcuY29uY2F0KFxuICAgICAgICAgICdjbGFzcz1cIicsIG9wdGlvbnMuY2xhc3NOYW1lLCAnXCIgJyxcbiAgICAgICAgICAnZHJhZ2dhYmxlPVwiZmFsc2VcIiAnLFxuICAgICAgICAgIC8vIG5lZWRzIHRvIHByZXNlcnZlIHVzZXIgb3JpZ2luYWwgaW50ZW50XG4gICAgICAgICAgLy8gd2hlbiB2YXJpYW50cyBzaG91bGQgYmUgY29waWVkIGFuZCBwYXN0ZWQgdG9vXG4gICAgICAgICAgJ2FsdD1cIicsXG4gICAgICAgICAgcmF3VGV4dCxcbiAgICAgICAgICAnXCInLFxuICAgICAgICAgICcgc3JjPVwiJyxcbiAgICAgICAgICBzcmMsXG4gICAgICAgICAgJ1wiJ1xuICAgICAgICApO1xuICAgICAgICBhdHRyaWIgPSBvcHRpb25zLmF0dHJpYnV0ZXMocmF3VGV4dCwgaWNvbklkKTtcbiAgICAgICAgZm9yIChhdHRybmFtZSBpbiBhdHRyaWIpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBhdHRyaWIuaGFzT3duUHJvcGVydHkoYXR0cm5hbWUpICYmXG4gICAgICAgICAgICAvLyBkb24ndCBhbGxvdyBhbnkgaGFuZGxlcnMgdG8gYmUgc2V0ICsgZG9uJ3QgYWxsb3cgb3ZlcnJpZGVzXG4gICAgICAgICAgICBhdHRybmFtZS5pbmRleE9mKCdvbicpICE9PSAwICYmXG4gICAgICAgICAgICByZXQuaW5kZXhPZignICcgKyBhdHRybmFtZSArICc9JykgPT09IC0xXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICByZXQgPSByZXQuY29uY2F0KCcgJywgYXR0cm5hbWUsICc9XCInLCBlc2NhcGVIVE1MKGF0dHJpYlthdHRybmFtZV0pLCAnXCInKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0ID0gcmV0LmNvbmNhdCgnLz4nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXQ7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdXNlZCB0byBhY3R1YWxseSByZXBsYWNlIEhUTUwgc3BlY2lhbCBjaGFyc1xuICAgKiBAcGFyYW0gICBzdHJpbmcgIEhUTUwgc3BlY2lhbCBjaGFyXG4gICAqIEByZXR1cm4gIHN0cmluZyAgZW5jb2RlZCBIVE1MIHNwZWNpYWwgY2hhclxuICAgKi9cbiAgZnVuY3Rpb24gcmVwbGFjZXIobSkge1xuICAgIHJldHVybiBlc2NhcGVyW21dO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgb3B0aW9ucy5hdHRyaWJ1dGUgY2FsbGJhY2tcbiAgICogQHJldHVybiAgbnVsbFxuICAgKi9cbiAgZnVuY3Rpb24gcmV0dXJuTnVsbCgpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHaXZlbiBhIGdlbmVyaWMgdmFsdWUsIGNyZWF0ZXMgaXRzIHNxdWFyZWQgY291bnRlcnBhcnQgaWYgaXQncyBhIG51bWJlci5cbiAgICogIEFzIGV4YW1wbGUsIG51bWJlciAzNiB3aWxsIHJldHVybiAnMzZ4MzYnLlxuICAgKiBAcGFyYW0gICBhbnkgICAgIGEgZ2VuZXJpYyB2YWx1ZS5cbiAgICogQHJldHVybiAgYW55ICAgICBhIHN0cmluZyByZXByZXNlbnRpbmcgYXNzZXQgc2l6ZSwgaS5lLiBcIjM2eDM2XCJcbiAgICogICAgICAgICAgICAgICAgICBvbmx5IGluIGNhc2UgdGhlIHZhbHVlIHdhcyBhIG51bWJlci5cbiAgICogICAgICAgICAgICAgICAgICBSZXR1cm5zIGluaXRpYWwgdmFsdWUgb3RoZXJ3aXNlLlxuICAgKi9cbiAgZnVuY3Rpb24gdG9TaXplU3F1YXJlZEFzc2V0KHZhbHVlKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgP1xuICAgICAgdmFsdWUgKyAneCcgKyB2YWx1ZSA6XG4gICAgICB2YWx1ZTtcbiAgfVxuXG5cbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyAgZXhwb3J0ZWQgZnVuY3Rpb25zIC8vXG4gIC8vICAgICBkZWNsYXJhdGlvbiAgICAgLy9cbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gIGZ1bmN0aW9uIGZyb21Db2RlUG9pbnQoY29kZXBvaW50KSB7XG4gICAgdmFyIGNvZGUgPSB0eXBlb2YgY29kZXBvaW50ID09PSAnc3RyaW5nJyA/XG4gICAgICAgICAgcGFyc2VJbnQoY29kZXBvaW50LCAxNikgOiBjb2RlcG9pbnQ7XG4gICAgaWYgKGNvZGUgPCAweDEwMDAwKSB7XG4gICAgICByZXR1cm4gZnJvbUNoYXJDb2RlKGNvZGUpO1xuICAgIH1cbiAgICBjb2RlIC09IDB4MTAwMDA7XG4gICAgcmV0dXJuIGZyb21DaGFyQ29kZShcbiAgICAgIDB4RDgwMCArIChjb2RlID4+IDEwKSxcbiAgICAgIDB4REMwMCArIChjb2RlICYgMHgzRkYpXG4gICAgKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBhcnNlKHdoYXQsIGhvdykge1xuICAgIGlmICghaG93IHx8IHR5cGVvZiBob3cgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGhvdyA9IHtjYWxsYmFjazogaG93fTtcbiAgICB9XG4gICAgLy8gaWYgZmlyc3QgYXJndW1lbnQgaXMgc3RyaW5nLCBpbmplY3QgaHRtbCA8aW1nPiB0YWdzXG4gICAgLy8gb3RoZXJ3aXNlIHVzZSB0aGUgRE9NIHRyZWUgYW5kIHBhcnNlIHRleHQgbm9kZXMgb25seVxuICAgIHJldHVybiAodHlwZW9mIHdoYXQgPT09ICdzdHJpbmcnID8gcGFyc2VTdHJpbmcgOiBwYXJzZU5vZGUpKHdoYXQsIHtcbiAgICAgIGNhbGxiYWNrOiAgIGhvdy5jYWxsYmFjayB8fCBkZWZhdWx0SW1hZ2VTcmNHZW5lcmF0b3IsXG4gICAgICBhdHRyaWJ1dGVzOiB0eXBlb2YgaG93LmF0dHJpYnV0ZXMgPT09ICdmdW5jdGlvbicgPyBob3cuYXR0cmlidXRlcyA6IHJldHVybk51bGwsXG4gICAgICBiYXNlOiAgICAgICB0eXBlb2YgaG93LmJhc2UgPT09ICdzdHJpbmcnID8gaG93LmJhc2UgOiB0d2Vtb2ppLmJhc2UsXG4gICAgICBleHQ6ICAgICAgICBob3cuZXh0IHx8IHR3ZW1vamkuZXh0LFxuICAgICAgc2l6ZTogICAgICAgaG93LmZvbGRlciB8fCB0b1NpemVTcXVhcmVkQXNzZXQoaG93LnNpemUgfHwgdHdlbW9qaS5zaXplKSxcbiAgICAgIGNsYXNzTmFtZTogIGhvdy5jbGFzc05hbWUgfHwgdHdlbW9qaS5jbGFzc05hbWUsXG4gICAgICBvbmVycm9yOiAgICBob3cub25lcnJvciB8fCB0d2Vtb2ppLm9uZXJyb3JcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlcGxhY2UodGV4dCwgY2FsbGJhY2spIHtcbiAgICByZXR1cm4gU3RyaW5nKHRleHQpLnJlcGxhY2UocmUsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRlc3QodGV4dCkge1xuICAgIC8vIElFNiBuZWVkcyBhIHJlc2V0IGJlZm9yZSB0b29cbiAgICByZS5sYXN0SW5kZXggPSAwO1xuICAgIHZhciByZXN1bHQgPSByZS50ZXN0KHRleHQpO1xuICAgIHJlLmxhc3RJbmRleCA9IDA7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRvQ29kZVBvaW50KHVuaWNvZGVTdXJyb2dhdGVzLCBzZXApIHtcbiAgICB2YXJcbiAgICAgIHIgPSBbXSxcbiAgICAgIGMgPSAwLFxuICAgICAgcCA9IDAsXG4gICAgICBpID0gMDtcbiAgICB3aGlsZSAoaSA8IHVuaWNvZGVTdXJyb2dhdGVzLmxlbmd0aCkge1xuICAgICAgYyA9IHVuaWNvZGVTdXJyb2dhdGVzLmNoYXJDb2RlQXQoaSsrKTtcbiAgICAgIGlmIChwKSB7XG4gICAgICAgIHIucHVzaCgoMHgxMDAwMCArICgocCAtIDB4RDgwMCkgPDwgMTApICsgKGMgLSAweERDMDApKS50b1N0cmluZygxNikpO1xuICAgICAgICBwID0gMDtcbiAgICAgIH0gZWxzZSBpZiAoMHhEODAwIDw9IGMgJiYgYyA8PSAweERCRkYpIHtcbiAgICAgICAgcCA9IGM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByLnB1c2goYy50b1N0cmluZygxNikpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gci5qb2luKHNlcCB8fCAnLScpO1xuICB9XG5cbn0oKSk7XG5pZiAoIWxvY2F0aW9uLnByb3RvY29sKSB7XG4gIHR3ZW1vamkuYmFzZSA9IHR3ZW1vamkuYmFzZS5yZXBsYWNlKC9eaHR0cDovLCBcIlwiKTtcbn1cbm1vZHVsZS5leHBvcnRzID0gdHdlbW9qaTsiLCJpbXBvcnQgeyBBcHAsIEZ1enp5U3VnZ2VzdE1vZGFsLCBQbHVnaW4sIEZ1enp5TWF0Y2gsIE1hcmtkb3duUG9zdFByb2Nlc3NvciwgTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dCwgTWFya2Rvd25QcmV2aWV3UmVuZGVyZXIsIFBsdWdpblNldHRpbmdUYWIsIFNldHRpbmcgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgb3JkZXJlZEVtb2ppIGZyb20gJ3VuaWNvZGUtZW1vamktanNvbi9kYXRhLW9yZGVyZWQtZW1vamknXG5pbXBvcnQgZW1vamlOYW1lcyBmcm9tICd1bmljb2RlLWVtb2ppLWpzb24vZGF0YS1ieS1lbW9qaSdcbmltcG9ydCB0d2Vtb2ppIGZyb20gJ3R3ZW1vamknXG5cbmNvbnN0IGluZGljYXRvclN0eWxlOiBzdHJpbmcgPVxuICAnY29sb3I6IHZhcigtLXRleHQtYWNjZW50KTsgd2lkdGg6IDIuNWVtOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZsb2F0OmxlZnQ7IGZvbnQtd2VpZ2h0OjgwMDsnO1xuXG5pbnRlcmZhY2UgTXlQbHVnaW5TZXR0aW5ncyB7XG4gIHR3ZW1vamlBY3RpdmU6IGJvb2xlYW47XG59XG5cbmNvbnN0IERFRkFVTFRfU0VUVElOR1M6IE15UGx1Z2luU2V0dGluZ3MgPSB7XG5cdHR3ZW1vamlBY3RpdmU6IHRydWVcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTXlQbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xuICBlbW9qaXM6IEVtb2ppSXRlbVtdXG4gIHNldHRpbmdzOiBNeVBsdWdpblNldHRpbmdzO1xuXG4gIHB1YmxpYyBzdGF0aWMgcG9zdHByb2Nlc3NvcjogTWFya2Rvd25Qb3N0UHJvY2Vzc29yID0gKFxuICAgIGVsOiBIVE1MRWxlbWVudCxcbiAgICBjdHg6IE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHRcbiAgKSA9PiB7XG4gICAgdHdlbW9qaS5wYXJzZShlbClcbiAgfVxuXG4gIGxvYWRFbW9qaXMoKTogRW1vamlJdGVtW10ge1xuICAgIGZ1bmN0aW9uIHRpdGxlQ2FzZShzdHJpbmc6IHN0cmluZykge1xuICAgICAgbGV0IHNlbnRlbmNlID0gc3RyaW5nLnRvTG93ZXJDYXNlKCkuc3BsaXQoJ18nKTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VudGVuY2UubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgc2VudGVuY2VbaV0gPSBzZW50ZW5jZVtpXVswXS50b1VwcGVyQ2FzZSgpICsgc2VudGVuY2VbaV0uc2xpY2UoMSk7XG4gICAgICB9XG4gIFxuICAgICAgcmV0dXJuIHNlbnRlbmNlLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICBsZXQgaXRlbXMgPSBvcmRlcmVkRW1vamkubWFwKChuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IHRpdGxlQ2FzZShlbW9qaU5hbWVzW25hbWVdW1wibmFtZVwiXSksXG4gICAgICAgIGNoYXI6IG5hbWUsXG4gICAgICAgIGltZ0h0bWw6IHR3ZW1vamkucGFyc2UobmFtZSlcbiAgICAgIH1cbiAgICB9KVxuICBcbiAgICByZXR1cm4gaXRlbXM7XG4gIH1cblxuXHRhc3luYyBvbmxvYWQoKSB7XG5cbiAgICB0aGlzLmVtb2ppcyA9IHRoaXMubG9hZEVtb2ppcygpO1xuXG4gICAgYXdhaXQgdGhpcy5sb2FkU2V0dGluZ3MoKVxuXG4gICAgdGhpcy5hZGRTZXR0aW5nVGFiKG5ldyBTZXR0aW5nc1RhYih0aGlzLmFwcCwgdGhpcykpO1xuXG4gICAgaWYgKHRoaXMuc2V0dGluZ3MudHdlbW9qaUFjdGl2ZSkge1xuICAgICAgTWFya2Rvd25QcmV2aWV3UmVuZGVyZXIucmVnaXN0ZXJQb3N0UHJvY2Vzc29yKE15UGx1Z2luLnBvc3Rwcm9jZXNzb3IpXG4gICAgfVxuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcblx0XHRcdGlkOiAnZW1vamktcGlja2VyOm9wZW4tcGlja2VyJyxcbiAgICAgIG5hbWU6ICdPcGVuIGVtb2ppIHBpY2tlcicsXG4gICAgICBob3RrZXlzOiBbXSxcblx0XHRcdGNoZWNrQ2FsbGJhY2s6IChjaGVja2luZzogYm9vbGVhbikgPT4ge1xuXHRcdFx0XHRsZXQgbGVhZiA9IHRoaXMuYXBwLndvcmtzcGFjZS5hY3RpdmVMZWFmO1xuXHRcdFx0XHRpZiAobGVhZikge1xuXHRcdFx0XHRcdGlmICghY2hlY2tpbmcpIHtcblx0XHRcdFx0XHRcdG5ldyBFbW9qaUZ1enp5U3VnZ2VzdE1vZGFsKHRoaXMuYXBwLCB0aGlzLmVtb2ppcywgdGhpcy5zZXR0aW5ncykub3BlbigpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHR9XG5cdFx0fSk7XG5cblx0fVxuXG5cdG9udW5sb2FkKCkge1xuICB9XG4gIFxuICBhc3luYyBsb2FkU2V0dGluZ3MoKSB7XG5cdFx0dGhpcy5zZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfU0VUVElOR1MsIGF3YWl0IHRoaXMubG9hZERhdGEoKSk7XG5cdH1cblxuXHRhc3luYyBzYXZlU2V0dGluZ3MoKSB7XG5cdFx0YXdhaXQgdGhpcy5zYXZlRGF0YSh0aGlzLnNldHRpbmdzKTtcblx0fVxufVxuXG5pbnRlcmZhY2UgRW1vamlJdGVtIHtcbiAgbmFtZTogc3RyaW5nO1xuICBjaGFyOiBzdHJpbmc7XG4gIGltZ0h0bWw6IHN0cmluZztcbn1cblxuXG5jbGFzcyBFbW9qaUZ1enp5U3VnZ2VzdE1vZGFsIGV4dGVuZHMgRnV6enlTdWdnZXN0TW9kYWw8RW1vamlJdGVtPiB7XG4gIGFwcDogQXBwO1xuICBlbW9qaXM6IEVtb2ppSXRlbVtdO1xuICBzZXR0aW5nczogTXlQbHVnaW5TZXR0aW5ncztcblxuICBjb25zdHJ1Y3RvcihhcHA6IEFwcCwgZW1vamlzOiBFbW9qaUl0ZW1bXSwgc2V0dGluZ3M6IE15UGx1Z2luU2V0dGluZ3MpIHtcbiAgICAgIHN1cGVyKGFwcCk7XG4gICAgICB0aGlzLmFwcCA9IGFwcDtcbiAgICAgIHRoaXMuZW1vamlzID0gZW1vamlzO1xuICAgICAgdGhpcy5zZXR0aW5ncyA9IHNldHRpbmdzO1xuICB9XG5cbiAgZ2V0SXRlbXMoKTogRW1vamlJdGVtW10ge1xuICAgICAgcmV0dXJuIHRoaXMuZW1vamlzO1xuICB9XG5cbiAgZ2V0SXRlbVRleHQoaXRlbTogRW1vamlJdGVtKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBpdGVtLm5hbWU7XG4gIH1cblxuICByZW5kZXJTdWdnZXN0aW9uKGl0ZW06IEZ1enp5TWF0Y2g8RW1vamlJdGVtPiwgZWw6IEhUTUxFbGVtZW50KSB7XG4gICAgc3VwZXIucmVuZGVyU3VnZ2VzdGlvbihpdGVtLCBlbCk7XG4gICAgdGhpcy51cGRhdGVTdWdnZXN0aW9uRWxGb3JNb2RlKGl0ZW0sIGVsKTtcbiAgfVxuXG4gIHVwZGF0ZVN1Z2dlc3Rpb25FbEZvck1vZGUoaXRlbTogRnV6enlNYXRjaDxFbW9qaUl0ZW0+LCBlbDogSFRNTEVsZW1lbnQpIHtcblxuICAgIHZhciBpbmRpY2F0b3JFbCA9IGNyZWF0ZUVsKCdkaXYnLCB7XG4gICAgICBhdHRyOiB7IHN0eWxlOiBpbmRpY2F0b3JTdHlsZSB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuc2V0dGluZ3MudHdlbW9qaUFjdGl2ZSkge1xuICAgICAgaW5kaWNhdG9yRWwuaW5uZXJIVE1MID0gaXRlbS5pdGVtLmltZ0h0bWxcbiAgICB9IGVsc2Uge1xuICAgICAgaW5kaWNhdG9yRWwudGV4dENvbnRlbnQgPSBpdGVtLml0ZW0uY2hhclxuICAgIH1cbiAgICBcbiAgICBlbC5pbnNlcnRBZGphY2VudEVsZW1lbnQoJ2FmdGVyYmVnaW4nLCBpbmRpY2F0b3JFbCk7XG4gIH1cblxuICBvbkNob29zZUl0ZW0oaXRlbTogRW1vamlJdGVtLCBldnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydFRleHQnLCBmYWxzZSwgaXRlbS5jaGFyKVxuICB9XG59XG5cbmNsYXNzIFNldHRpbmdzVGFiIGV4dGVuZHMgUGx1Z2luU2V0dGluZ1RhYiB7XG5cdHBsdWdpbjogTXlQbHVnaW47XG5cblx0Y29uc3RydWN0b3IoYXBwOiBBcHAsIHBsdWdpbjogTXlQbHVnaW4pIHtcblx0XHRzdXBlcihhcHAsIHBsdWdpbik7XG5cdFx0dGhpcy5wbHVnaW4gPSBwbHVnaW47XG5cdH1cblxuXHRkaXNwbGF5KCk6IHZvaWQge1xuXHRcdGxldCB7Y29udGFpbmVyRWx9ID0gdGhpcztcblxuXHRcdGNvbnRhaW5lckVsLmVtcHR5KCk7XG5cbiAgICBjb250YWluZXJFbC5jcmVhdGVFbCgnaDEnLCB7dGV4dDogJ0Vtb2ppIFRvb2xiYXInfSk7XG4gICAgY29udGFpbmVyRWwuY3JlYXRlRWwoJ2EnLCB7IHRleHQ6ICdDcmVhdGVkIGJ5IG9saXZlcnloJywgaHJlZjogJ2h0dHBzOi8vZ2l0aHViLmNvbS9vbGl2ZXJ5aC8nfSkpO1xuXG4gICAgY29udGFpbmVyRWwuY3JlYXRlRWwoJ2gyJywge3RleHQ6ICdTZXR0aW5ncyd9KTtcblxuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoJ1R3aXR0ZXIgRW1vamknKVxuICAgICAgLnNldERlc2MoJ0ltcHJvdmVkIGVtb2ppIHN1cHBvcnQuIE5vdGU6IHRoaXMgYXBwbGllcyB0byBlbW9qaSBzZWFyY2ggYW5kIHByZXZpZXcgb25seS4nKVxuXHRcdFx0LmFkZFRvZ2dsZSh0b2dnbGUgPT4gdG9nZ2xlXG5cdFx0XHRcdC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy50d2Vtb2ppQWN0aXZlKVxuXHRcdFx0XHQub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MudHdlbW9qaUFjdGl2ZSA9IHZhbHVlO1xuICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpO1xuICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgTWFya2Rvd25QcmV2aWV3UmVuZGVyZXIucmVnaXN0ZXJQb3N0UHJvY2Vzc29yKE15UGx1Z2luLnBvc3Rwcm9jZXNzb3IpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIE1hcmtkb3duUHJldmlld1JlbmRlcmVyLnVucmVnaXN0ZXJQb3N0UHJvY2Vzc29yKE15UGx1Z2luLnBvc3Rwcm9jZXNzb3IpXG4gICAgICAgICAgfVxuXHRcdFx0XHR9KSk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJnbG9iYWwiLCJ0d2Vtb2ppIiwiTWFya2Rvd25QcmV2aWV3UmVuZGVyZXIiLCJQbHVnaW4iLCJGdXp6eVN1Z2dlc3RNb2RhbCIsIlNldHRpbmciLCJQbHVnaW5TZXR0aW5nVGFiIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLGFBQWEsR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDbkMsSUFBSSxhQUFhLEdBQUcsTUFBTSxDQUFDLGNBQWM7QUFDekMsU0FBUyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsWUFBWSxLQUFLLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3BGLFFBQVEsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzFHLElBQUksT0FBTyxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQztBQUNGO0FBQ08sU0FBUyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUNoQyxJQUFJLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDeEIsSUFBSSxTQUFTLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLEVBQUU7QUFDM0MsSUFBSSxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3pGLENBQUM7QUF1Q0Q7QUFDTyxTQUFTLFNBQVMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUU7QUFDN0QsSUFBSSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEtBQUssWUFBWSxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7QUFDaEgsSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7QUFDL0QsUUFBUSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0FBQ25HLFFBQVEsU0FBUyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0FBQ3RHLFFBQVEsU0FBUyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUFFO0FBQ3RILFFBQVEsSUFBSSxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzlFLEtBQUssQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUNEO0FBQ08sU0FBUyxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtBQUMzQyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDckgsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxNQUFNLEtBQUssVUFBVSxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsV0FBVyxFQUFFLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM3SixJQUFJLFNBQVMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLE9BQU8sVUFBVSxDQUFDLEVBQUUsRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0FBQ3RFLElBQUksU0FBUyxJQUFJLENBQUMsRUFBRSxFQUFFO0FBQ3RCLFFBQVEsSUFBSSxDQUFDLEVBQUUsTUFBTSxJQUFJLFNBQVMsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0FBQ3RFLFFBQVEsT0FBTyxDQUFDLEVBQUUsSUFBSTtBQUN0QixZQUFZLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3pLLFlBQVksSUFBSSxDQUFDLEdBQUcsQ0FBQyxF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U0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7QUFDbEUsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3pGLEtBQUs7QUFDTDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3ZHQSxJQUFJLFFBQVEsR0FBR0EsY0FBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7QUFDckM7QUFDQSxJQUFJLE9BQU8sSUFBSTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFFRjtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQSxJQUFJLE9BQU8sR0FBRztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxJQUFJLEVBQUUsc0NBQXNDO0FBQ2xEO0FBQ0E7QUFDQSxNQUFNLEdBQUcsRUFBRSxNQUFNO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLE1BQU0sSUFBSSxFQUFFLE9BQU87QUFDbkI7QUFDQTtBQUNBLE1BQU0sU0FBUyxFQUFFLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0EsTUFBTSxPQUFPLEVBQUU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLGFBQWEsRUFBRSxhQUFhO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsV0FBVyxFQUFFLFdBQVc7QUFDaEMsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLE9BQU8sRUFBRSxTQUFTLE9BQU8sR0FBRztBQUNsQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtBQUM3QixVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzFFLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sS0FBSyxFQUFFLEtBQUs7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLE9BQU8sRUFBRSxPQUFPO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxJQUFJLEVBQUUsSUFBSTtBQUNoQixLQUFLO0FBQ0w7QUFDQTtBQUNBLElBQUksT0FBTyxHQUFHO0FBQ2QsTUFBTSxHQUFHLEVBQUUsT0FBTztBQUNsQixNQUFNLEdBQUcsRUFBRSxNQUFNO0FBQ2pCLE1BQU0sR0FBRyxFQUFFLE1BQU07QUFDakIsTUFBTSxHQUFHLEVBQUUsT0FBTztBQUNsQixNQUFNLEdBQUcsRUFBRSxRQUFRO0FBQ25CLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxJQUFJLEVBQUUsR0FBRyxxNFFBQXE0UTtBQUM5NFE7QUFDQTtBQUNBO0FBQ0EsSUFBSSxNQUFNLEdBQUcsU0FBUztBQUN0QjtBQUNBO0FBQ0EsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7QUFDdkM7QUFDQTtBQUNBLElBQUksUUFBUSxHQUFHLFVBQVU7QUFDekI7QUFDQTtBQUNBLElBQUksZ0JBQWdCLEdBQUcsNkRBQTZEO0FBQ3BGO0FBQ0E7QUFDQSxJQUFJLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO0FBQ3ZDO0FBQ0EsRUFBRSxPQUFPLE9BQU8sQ0FBQztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFNBQVMsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7QUFDbkMsSUFBSSxPQUFPLFFBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQzVFLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFNBQVMsVUFBVSxDQUFDLENBQUMsRUFBRTtBQUN6QixJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDekMsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFNBQVMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRTtBQUNuRCxJQUFJLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDekUsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFNBQVMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRTtBQUMzQyxJQUFJO0FBQ0osTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVU7QUFDbEMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU07QUFDaEMsTUFBTSxPQUFPO0FBQ2IsTUFBTSxRQUFRLENBQUM7QUFDZixJQUFJLE9BQU8sTUFBTSxFQUFFLEVBQUU7QUFDckIsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ25DLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7QUFDbEM7QUFDQSxNQUFNLElBQUksUUFBUSxLQUFLLENBQUMsRUFBRTtBQUMxQjtBQUNBLFFBQVEsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5QixPQUFPO0FBQ1A7QUFDQTtBQUNBLFdBQVcsSUFBSSxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLElBQUksT0FBTyxDQUFDO0FBQ2hFLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFO0FBQ2xFLFFBQVEsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzNDLE9BQU87QUFDUCxLQUFLO0FBQ0wsSUFBSSxPQUFPLE9BQU8sQ0FBQztBQUNuQixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsU0FBUyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7QUFDckM7QUFDQSxJQUFJLE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztBQUNqRCxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztBQUNqQyxNQUFNLE9BQU87QUFDYixLQUFLLENBQUM7QUFDTixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsU0FBUyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRTtBQUNwQyxJQUFJO0FBQ0osTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztBQUMxQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTTtBQUM3QixNQUFNLE1BQU07QUFDWixNQUFNLFFBQVE7QUFDZCxNQUFNLFFBQVE7QUFDZCxNQUFNLFFBQVE7QUFDZCxNQUFNLE9BQU87QUFDYixNQUFNLElBQUk7QUFDVixNQUFNLEtBQUs7QUFDWCxNQUFNLENBQUM7QUFDUCxNQUFNLEtBQUs7QUFDWCxNQUFNLEdBQUc7QUFDVCxNQUFNLE9BQU87QUFDYixNQUFNLE1BQU07QUFDWixNQUFNLEdBQUcsQ0FBQztBQUNWLElBQUksT0FBTyxNQUFNLEVBQUUsRUFBRTtBQUNyQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUM7QUFDdkIsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUM7QUFDbkQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2hDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7QUFDL0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ1osTUFBTSxRQUFRLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO0FBQ3RDLFFBQVEsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7QUFDNUIsUUFBUSxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7QUFDekIsVUFBVSxRQUFRLENBQUMsV0FBVztBQUM5QixZQUFZLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUM7QUFDbEQsV0FBVyxDQUFDO0FBQ1osU0FBUztBQUNULFFBQVEsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQixRQUFRLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMzQyxRQUFRLENBQUMsR0FBRyxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztBQUNuQyxRQUFRLEdBQUcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNoRCxRQUFRLElBQUksTUFBTSxJQUFJLEdBQUcsRUFBRTtBQUMzQixVQUFVLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO0FBQzVCLFVBQVUsR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO0FBQ3hDLFVBQVUsR0FBRyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDakQsVUFBVSxNQUFNLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDdkQsVUFBVSxLQUFLLFFBQVEsSUFBSSxNQUFNLEVBQUU7QUFDbkMsWUFBWTtBQUNaLGNBQWMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7QUFDN0M7QUFDQSxjQUFjLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztBQUMxQyxjQUFjLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7QUFDekMsY0FBYztBQUNkLGNBQWMsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDM0QsYUFBYTtBQUNiLFdBQVc7QUFDWCxVQUFVLEdBQUcsQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztBQUM1QyxVQUFVLEdBQUcsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDO0FBQzVCLFVBQVUsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7QUFDeEIsVUFBVSxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBQzFCLFVBQVUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNwQyxTQUFTO0FBQ1QsUUFBUSxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ25FLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQztBQUNuQixPQUFPO0FBQ1A7QUFDQSxNQUFNLElBQUksUUFBUSxFQUFFO0FBQ3BCO0FBQ0EsUUFBUSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQzdCLFVBQVUsUUFBUSxDQUFDLFdBQVc7QUFDOUIsWUFBWSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUM7QUFDM0MsV0FBVyxDQUFDO0FBQ1osU0FBUztBQUNUO0FBQ0E7QUFDQSxRQUFRLE9BQU8sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMzRCxPQUFPO0FBQ1AsS0FBSztBQUNMLElBQUksT0FBTyxJQUFJLENBQUM7QUFDaEIsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFNBQVMsV0FBVyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUU7QUFDckMsSUFBSSxPQUFPLE9BQU8sQ0FBQyxHQUFHLEVBQUUsVUFBVSxPQUFPLEVBQUU7QUFDM0MsTUFBTTtBQUNOLFFBQVEsR0FBRyxHQUFHLE9BQU87QUFDckIsUUFBUSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO0FBQzFDLFFBQVEsR0FBRyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQztBQUMvQyxRQUFRLE1BQU07QUFDZCxRQUFRLFFBQVEsQ0FBQztBQUNqQixNQUFNLElBQUksTUFBTSxJQUFJLEdBQUcsRUFBRTtBQUN6QjtBQUNBO0FBQ0EsUUFBUSxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU07QUFDNUIsVUFBVSxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJO0FBQzVDLFVBQVUsb0JBQW9CO0FBQzlCO0FBQ0E7QUFDQSxVQUFVLE9BQU87QUFDakIsVUFBVSxPQUFPO0FBQ2pCLFVBQVUsR0FBRztBQUNiLFVBQVUsUUFBUTtBQUNsQixVQUFVLEdBQUc7QUFDYixVQUFVLEdBQUc7QUFDYixTQUFTLENBQUM7QUFDVixRQUFRLE1BQU0sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNyRCxRQUFRLEtBQUssUUFBUSxJQUFJLE1BQU0sRUFBRTtBQUNqQyxVQUFVO0FBQ1YsWUFBWSxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztBQUMzQztBQUNBLFlBQVksUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQ3hDLFlBQVksR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNwRCxZQUFZO0FBQ1osWUFBWSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDckYsV0FBVztBQUNYLFNBQVM7QUFDVCxRQUFRLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9CLE9BQU87QUFDUCxNQUFNLE9BQU8sR0FBRyxDQUFDO0FBQ2pCLEtBQUssQ0FBQyxDQUFDO0FBQ1AsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsU0FBUyxRQUFRLENBQUMsQ0FBQyxFQUFFO0FBQ3ZCLElBQUksT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEIsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFNBQVMsVUFBVSxHQUFHO0FBQ3hCLElBQUksT0FBTyxJQUFJLENBQUM7QUFDaEIsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsU0FBUyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUU7QUFDckMsSUFBSSxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVE7QUFDcEMsTUFBTSxLQUFLLEdBQUcsR0FBRyxHQUFHLEtBQUs7QUFDekIsTUFBTSxLQUFLLENBQUM7QUFDWixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFNBQVMsYUFBYSxDQUFDLFNBQVMsRUFBRTtBQUNwQyxJQUFJLElBQUksSUFBSSxHQUFHLE9BQU8sU0FBUyxLQUFLLFFBQVE7QUFDNUMsVUFBVSxRQUFRLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztBQUM5QyxJQUFJLElBQUksSUFBSSxHQUFHLE9BQU8sRUFBRTtBQUN4QixNQUFNLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hDLEtBQUs7QUFDTCxJQUFJLElBQUksSUFBSSxPQUFPLENBQUM7QUFDcEIsSUFBSSxPQUFPLFlBQVk7QUFDdkIsTUFBTSxNQUFNLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztBQUMzQixNQUFNLE1BQU0sSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDO0FBQzdCLEtBQUssQ0FBQztBQUNOLEdBQUc7QUFDSDtBQUNBLEVBQUUsU0FBUyxLQUFLLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTtBQUM1QixJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxHQUFHLEtBQUssVUFBVSxFQUFFO0FBQzNDLE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzVCLEtBQUs7QUFDTDtBQUNBO0FBQ0EsSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLEtBQUssUUFBUSxHQUFHLFdBQVcsR0FBRyxTQUFTLEVBQUUsSUFBSSxFQUFFO0FBQ3RFLE1BQU0sUUFBUSxJQUFJLEdBQUcsQ0FBQyxRQUFRLElBQUksd0JBQXdCO0FBQzFELE1BQU0sVUFBVSxFQUFFLE9BQU8sR0FBRyxDQUFDLFVBQVUsS0FBSyxVQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsR0FBRyxVQUFVO0FBQ3BGLE1BQU0sSUFBSSxRQUFRLE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSTtBQUN4RSxNQUFNLEdBQUcsU0FBUyxHQUFHLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHO0FBQ3hDLE1BQU0sSUFBSSxRQUFRLEdBQUcsQ0FBQyxNQUFNLElBQUksa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDO0FBQzVFLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFNBQVM7QUFDcEQsTUFBTSxPQUFPLEtBQUssR0FBRyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTztBQUNoRCxLQUFLLENBQUMsQ0FBQztBQUNQLEdBQUc7QUFDSDtBQUNBLEVBQUUsU0FBUyxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtBQUNuQyxJQUFJLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDOUMsR0FBRztBQUNIO0FBQ0EsRUFBRSxTQUFTLElBQUksQ0FBQyxJQUFJLEVBQUU7QUFDdEI7QUFDQSxJQUFJLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLElBQUksSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMvQixJQUFJLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLElBQUksT0FBTyxNQUFNLENBQUM7QUFDbEIsR0FBRztBQUNIO0FBQ0EsRUFBRSxTQUFTLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7QUFDL0MsSUFBSTtBQUNKLE1BQU0sQ0FBQyxHQUFHLEVBQUU7QUFDWixNQUFNLENBQUMsR0FBRyxDQUFDO0FBQ1gsTUFBTSxDQUFDLEdBQUcsQ0FBQztBQUNYLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNaLElBQUksT0FBTyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxFQUFFO0FBQ3pDLE1BQU0sQ0FBQyxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzVDLE1BQU0sSUFBSSxDQUFDLEVBQUU7QUFDYixRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLEdBQUcsTUFBTSxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM3RSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDZCxPQUFPLE1BQU0sSUFBSSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLEVBQUU7QUFDN0MsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2QsT0FBTyxNQUFNO0FBQ2IsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMvQixPQUFPO0FBQ1AsS0FBSztBQUNMLElBQUksT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQztBQUM5QixHQUFHO0FBQ0g7QUFDQSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7QUFDeEIsRUFBRSxPQUFPLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBQ0QsZUFBYyxHQUFHLE9BQU87O0FDdmpCeEIsSUFBTSxjQUFjLEdBQ2xCLDJGQUEyRixDQUFDO0FBTTlGLElBQU0sZ0JBQWdCLEdBQXFCO0lBQzFDLGFBQWEsRUFBRSxJQUFJO0NBQ25CLENBQUE7O0lBRXFDLDRCQUFNO0lBQTVDOztLQXdFQztJQTdEQyw2QkFBVSxHQUFWO1FBQ0UsU0FBUyxTQUFTLENBQUMsTUFBYztZQUMvQixJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQy9DLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN4QyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbkU7WUFFRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDM0I7UUFFRCxJQUFJLEtBQUssR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQUMsSUFBWTtZQUN4QyxPQUFPO2dCQUNMLElBQUksRUFBRSxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLEVBQUUsSUFBSTtnQkFDVixPQUFPLEVBQUVDLFdBQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2FBQzdCLENBQUE7U0FDRixDQUFDLENBQUE7UUFFRixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUkseUJBQU0sR0FBWjs7Ozs7O3dCQUVHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO3dCQUVoQyxxQkFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUE7O3dCQUF6QixTQUF5QixDQUFBO3dCQUV6QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFFcEQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRTs0QkFDL0JDLGdDQUF1QixDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQTt5QkFDdEU7d0JBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQzs0QkFDakIsRUFBRSxFQUFFLDBCQUEwQjs0QkFDM0IsSUFBSSxFQUFFLG1CQUFtQjs0QkFDekIsT0FBTyxFQUFFLEVBQUU7NEJBQ2QsYUFBYSxFQUFFLFVBQUMsUUFBaUI7Z0NBQ2hDLElBQUksSUFBSSxHQUFHLEtBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztnQ0FDekMsSUFBSSxJQUFJLEVBQUU7b0NBQ1QsSUFBSSxDQUFDLFFBQVEsRUFBRTt3Q0FDZCxJQUFJLHNCQUFzQixDQUFDLEtBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSSxDQUFDLE1BQU0sRUFBRSxLQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7cUNBQ3hFO29DQUNELE9BQU8sSUFBSSxDQUFDO2lDQUNaO2dDQUNELE9BQU8sS0FBSyxDQUFDOzZCQUNiO3lCQUNELENBQUMsQ0FBQzs7Ozs7S0FFSDtJQUVELDJCQUFRLEdBQVI7S0FDRTtJQUVLLCtCQUFZLEdBQWxCOzs7Ozs7d0JBQ0EsS0FBQSxJQUFJLENBQUE7d0JBQVksS0FBQSxDQUFBLEtBQUEsTUFBTSxFQUFDLE1BQU0sQ0FBQTs4QkFBQyxFQUFFLEVBQUUsZ0JBQWdCO3dCQUFFLHFCQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBQTs7d0JBQXpFLEdBQUssUUFBUSxHQUFHLHdCQUFvQyxTQUFxQixHQUFDLENBQUM7Ozs7O0tBQzNFO0lBRUssK0JBQVksR0FBbEI7Ozs7NEJBQ0MscUJBQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUE7O3dCQUFsQyxTQUFrQyxDQUFDOzs7OztLQUNuQztJQW5FYyxzQkFBYSxHQUEwQixVQUNuRCxFQUFlLEVBQ2YsR0FBaUM7UUFFakNELFdBQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUE7S0FDbEIsQ0FBQTtJQStESCxlQUFDO0NBQUEsQ0F4RXFDRSxlQUFNLEdBd0UzQztBQVNEO0lBQXFDLDBDQUE0QjtJQUsvRCxnQ0FBWSxHQUFRLEVBQUUsTUFBbUIsRUFBRSxRQUEwQjtRQUFyRSxZQUNJLGtCQUFNLEdBQUcsQ0FBQyxTQUliO1FBSEcsS0FBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixLQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixLQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQzs7S0FDNUI7SUFFRCx5Q0FBUSxHQUFSO1FBQ0ksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0tBQ3RCO0lBRUQsNENBQVcsR0FBWCxVQUFZLElBQWU7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0tBQ3BCO0lBRUQsaURBQWdCLEdBQWhCLFVBQWlCLElBQTJCLEVBQUUsRUFBZTtRQUMzRCxpQkFBTSxnQkFBZ0IsWUFBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztLQUMxQztJQUVELDBEQUF5QixHQUF6QixVQUEwQixJQUEyQixFQUFFLEVBQWU7UUFFcEUsSUFBSSxXQUFXLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRTtZQUNoQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFO1NBQ2hDLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUU7WUFDL0IsV0FBVyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtTQUMxQzthQUFNO1lBQ0wsV0FBVyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtTQUN6QztRQUVELEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7S0FDckQ7SUFFRCw2Q0FBWSxHQUFaLFVBQWEsSUFBZSxFQUFFLEdBQStCO1FBQzNELFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7S0FDckQ7SUFDSCw2QkFBQztBQUFELENBM0NBLENBQXFDQywwQkFBaUIsR0EyQ3JEO0FBRUQ7SUFBMEIsK0JBQWdCO0lBR3pDLHFCQUFZLEdBQVEsRUFBRSxNQUFnQjtRQUF0QyxZQUNDLGtCQUFNLEdBQUcsRUFBRSxNQUFNLENBQUMsU0FFbEI7UUFEQSxLQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQzs7S0FDckI7SUFFRCw2QkFBTyxHQUFQO1FBQUEsaUJBd0JDO1FBdkJLLElBQUEsV0FBVyxHQUFJLElBQUksWUFBUixDQUFTO1FBRXpCLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVsQixXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFDLElBQUksRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO1FBQ3BELFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLElBQUksRUFBRSw4QkFBOEIsRUFBQyxDQUFDLENBQUE7UUFFL0YsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztRQUVqRCxJQUFJQyxnQkFBTyxDQUFDLFdBQVcsQ0FBQzthQUN0QixPQUFPLENBQUMsZUFBZSxDQUFDO2FBQ3JCLE9BQU8sQ0FBQyw4RUFBOEUsQ0FBQzthQUMxRixTQUFTLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxNQUFNO2FBQ3pCLFFBQVEsQ0FBQyxLQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7YUFDNUMsUUFBUSxDQUFDLFVBQU8sS0FBSzs7Ozt3QkFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQzt3QkFDdEMscUJBQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBQTs7d0JBQWhDLFNBQWdDLENBQUM7d0JBQ2pDLElBQUksS0FBSyxFQUFFOzRCQUNUSCxnQ0FBdUIsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUE7eUJBQ3RFOzZCQUFNOzRCQUNMQSxnQ0FBdUIsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUE7eUJBQ3hFOzs7O2FBQ04sQ0FBQyxHQUFBLENBQUMsQ0FBQztLQUNOO0lBQ0Ysa0JBQUM7QUFBRCxDQWpDQSxDQUEwQkkseUJBQWdCOzs7OyJ9